files.i2c revision 1.99
11.99Stnn#	$NetBSD: files.i2c,v 1.99 2019/03/17 01:03:47 tnn Exp $
21.1Sthorpej
31.43Sjmcneillobsolete defflag	opt_i2cbus.h		I2C_SCAN
41.1Sthorpejdefine	i2cbus { }
51.1Sthorpejdefine	i2cexec
61.1Sthorpej
71.93Sthorpejdevice	iic { [addr = -1] } : i2c_bitbang
81.1Sthorpejattach	iic at i2cbus
91.44Sjmcneillfile	dev/i2c/i2c.c				iic
101.1Sthorpejfile	dev/i2c/i2c_exec.c			iic | i2cbus | i2cexec
111.70Spgoyettefile	dev/i2c/i2c_subr.c			i2cbus
121.59Sjmcneilldefparam opt_i2c.h				I2C_MAX_ADDR
131.1Sthorpej
141.1Sthorpej# Common module for bit-bang'ing an I2C bus
151.1Sthorpejdefine	i2c_bitbang
161.1Sthorpejfile	dev/i2c/i2c_bitbang.c			i2c_bitbang
171.1Sthorpej
181.30Sjmcneill# Auvitek AU8522 decoder
191.30Sjmcneilldefine	au8522: i2cexec
201.30Sjmcneillfile	dev/i2c/au8522.c			au8522
211.30Sjmcneill
221.37Sjmcneill# LG DT3303 decoder
231.42Sjmcneilldefine	lg3303: i2cexec, dtv_math
241.37Sjmcneillfile	dev/i2c/lg3303.c			lg3303
251.37Sjmcneill
261.37Sjmcneill# Xceive XC3028 tuner
271.42Sjmcneilldefine	xc3028: i2cexec, firmload
281.37Sjmcneillfile	dev/i2c/xc3028.c			xc3028
291.37Sjmcneill
301.30Sjmcneill# Xceive XC5000 tuner
311.37Sjmcneilldefine	xc5k: i2cexec, firmload
321.30Sjmcneillfile	dev/i2c/xc5k.c				xc5k
331.30Sjmcneill
341.35Sjakllsch# Generic PLL-based tuners
351.35Sjakllschdefine	tvpll: i2cexec
361.35Sjakllschfile	dev/i2c/tvpll.c				tvpll
371.35Sjakllschfile	dev/i2c/tvpll_tuners.c			tvpll
381.35Sjakllsch
391.36Sjakllsch# Nextwave NXT200x demodulator
401.38Sjmcneilldefine	nxt2k: i2cexec, firmload
411.36Sjakllschfile	dev/i2c/nxt2k.c				nxt2k
421.36Sjakllsch
431.39Sjakllsch# Microtune MT2131 silicon tuner
441.39Sjakllschdefine	mt2131: i2cexec
451.39Sjakllschfile	dev/i2c/mt2131.c			mt2131
461.39Sjakllsch
471.40Sjakllsch# Conexant/Samsung CX24227/S5H1409 demodulator
481.40Sjakllschdefine	cx24227: i2cexec
491.40Sjakllschfile	dev/i2c/cx24227.c			cx24227
501.40Sjakllsch
511.1Sthorpej#
521.31Smatt# I2C master devices
531.31Smatt#
541.31Smattdefine	motoi2c
551.31Smattfile	dev/i2c/motoi2c.c			motoi2c
561.51Smattdefine	mvi2c
571.51Smattfile	dev/i2c/gttwsi_core.c			mvi2c
581.55Sjmcneilldefflag opt_gttwsi.h				GTTWSI_ALLWINNER
591.31Smatt
601.31Smatt#
611.1Sthorpej# I2C client devices
621.1Sthorpej#
631.1Sthorpej
641.1Sthorpej# M41T00 Real Time Clock
651.3Sbriggsdevice	m41trtc
661.3Sbriggsattach	m41trtc at iic
671.3Sbriggsfile	dev/i2c/m41t00.c			m41trtc
681.1Sthorpej
691.1Sthorpej# M41ST84 Real Time Clock
701.1Sthorpejdevice	strtc
711.1Sthorpejattach	strtc at iic
721.1Sthorpejfile	dev/i2c/m41st84.c			strtc
731.29Skiyoharadefflag	opt_strtc.h				STRTC_NO_USERRAM
741.29Skiyohara						STRTC_NO_WATCHDOG
751.1Sthorpej
761.1Sthorpej# MAX6900 Real Time Clock
771.1Sthorpejdevice	maxrtc
781.1Sthorpejattach	maxrtc at iic
791.1Sthorpejfile	dev/i2c/max6900.c			maxrtc
801.1Sthorpej
811.32Sjakllsch# NXP/Philips PCF8563 Real Time Clock
821.32Sjakllschdevice	pcf8563rtc
831.32Sjakllschattach	pcf8563rtc at iic
841.32Sjakllschfile	dev/i2c/pcf8563.c			pcf8563rtc
851.32Sjakllsch
861.1Sthorpej# Philips PCF8583 Real Time Clock
871.1Sthorpejdevice	pcfrtc
881.1Sthorpejattach	pcfrtc at iic
891.1Sthorpejfile	dev/i2c/pcf8583.c			pcfrtc
901.1Sthorpej
911.34Sphx# Seiko Instruments S-xx390A Real Time Clock
921.34Sphxdevice	s390rtc
931.34Sphxattach	s390rtc at iic
941.34Sphxfile	dev/i2c/s390.c				s390rtc
951.34Sphx
961.1Sthorpej# Atmel/Microchip 24Cxx Serial EEPROM
971.1Sthorpejdefine	at24cxx_eeprom
981.1Sthorpejdevice	seeprom
991.1Sthorpejattach	seeprom at iic
1001.1Sthorpejfile	dev/i2c/at24cxx.c			seeprom | at24cxx_eeprom
1011.1Sthorpej						    needs-flag
1021.1Sthorpej
1031.1Sthorpej# National Semiconductor LM75 temperature sensor
1041.1Sthorpejdevice	lmtemp: sysmon_envsys
1051.1Sthorpejattach	lmtemp at iic
1061.1Sthorpejfile	dev/i2c/lm75.c				lmtemp
1071.1Sthorpej
1081.54Skardel# IST-AG Humidity and Teperature sensor (P14)
1091.54Skardeldevice	hythygtemp: sysmon_envsys
1101.54Skardelattach	hythygtemp at iic
1111.54Skardelfile	dev/i2c/hytp14.c			hythygtemp
1121.54Skardel
1131.21Spgoyette# National Semiconductor LM78 temp sensor/fan controller
1141.21Spgoyetteattach	lm at iic with lm_iic
1151.21Spgoyettefile	dev/i2c/lm_i2c.c			lm_iic
1161.21Spgoyette
1171.53Sjdc# National Semiconductor LM87 and clones system hardware monitor
1181.53Sjdcdevice	lmenv: sysmon_envsys
1191.53Sjdcattach	lmenv at iic
1201.53Sjdcfile	dev/i2c/lm87.c				lmenv
1211.53Sjdc
1221.1Sthorpej# Dallas DS1307 Real Time Clock
1231.58Suebayasidevice	dsrtc: sysmon_envsys
1241.1Sthorpejattach	dsrtc at iic
1251.1Sthorpejfile	dev/i2c/ds1307.c			dsrtc
1261.97Smacallandefflag opt_dsrtc.h				DSRTC_YEAR_START_2K
1271.2Sshige
1281.2Sshige# Xicor X1226 Real Time Clock
1291.2Sshigedevice	xrtc
1301.2Sshigeattach	xrtc at iic
1311.2Sshigefile	dev/i2c/x1226.c				xrtc
1321.4Smacallan
1331.19Spgoyette# Analog Devices dBCool family of thermal monitors / fan controllers
1341.19Spgoyettedevice dbcool: sysmon_envsys
1351.19Spgoyetteattach dbcool at iic
1361.19Spgoyettefile dev/i2c/dbcool.c			dbcool
1371.19Spgoyette
1381.5Snonaka# RICOH RS5C372[AB] Real Time Clock
1391.5Snonakadevice	rs5c372rtc
1401.5Snonakaattach	rs5c372rtc at iic
1411.5Snonakafile	dev/i2c/rs5c372.c		rs5c372rtc
1421.8Sshige
1431.8Sshige# RICOH R2025S/D Real Time Clock
1441.8Sshigedevice	r2025rtc
1451.8Sshigeattach	r2025rtc at iic
1461.8Sshigefile	dev/i2c/r2025.c			r2025rtc
1471.9Sgdamore
1481.9Sgdamore# VESA Display Data Channel 2
1491.9Sgdamoredevice	ddc
1501.10Sgdamoredefine	ddc_read_edid
1511.9Sgdamoreattach	ddc at iic
1521.10Sgdamorefile	dev/i2c/ddc.c			ddc | ddc_read_edid
1531.11Sjmcneill
1541.14Smacallan# SGS TDA7433 audio mixer
1551.16Smacallandevice	sgsmix
1561.16Smacallanattach	sgsmix at iic
1571.14Smacallanfile	dev/i2c/sgsmix.c		sgsmix needs-flag
1581.16Smacallandefflag	opt_sgsmix.h	SGSMIX_DEBUG
1591.14Smacallan
1601.15Stnn# Memory Serial Presence Detect
1611.27Spgoyetteattach	spdmem at iic with spdmem_iic
1621.27Spgoyettefile	dev/i2c/spdmem_i2c.c		spdmem_iic
1631.22Sjkunz
1641.24Spgoyette# Memory Temp Sensor
1651.25Spgoyettedevice	sdtemp: sysmon_envsys
1661.24Spgoyetteattach	sdtemp at iic
1671.24Spgoyettefile	dev/i2c/sdtemp.c		sdtemp
1681.24Spgoyette
1691.51Smatt# DS1672 Real Time Clock
1701.51Smattdevice	ds1672rtc
1711.51Smattattach	ds1672rtc at iic
1721.51Smattfile	dev/i2c/ds1672.c		ds1672rtc
1731.51Smatt
1741.22Sjkunz# ADM1021
1751.23Snakayamadevice	admtemp: sysmon_envsys
1761.22Sjkunzattach	admtemp at iic
1771.22Sjkunzfile	dev/i2c/adm1021.c		admtemp
1781.26Spgoyette
1791.69Sjdc# ADM1026 hardware monitor
1801.69Sjdcdevice	adm1026hm: sysmon_envsys
1811.69Sjdcattach	adm1026hm at iic
1821.69Sjdcfile	dev/i2c/adm1026.c		adm1026hm
1831.69Sjdc
1841.26Spgoyette# SMSC LPC47M192 hardware monitor
1851.26Spgoyettedevice	smscmon: sysmon_envsys
1861.26Spgoyetteattach	smscmon at iic
1871.26Spgoyettefile	dev/i2c/smscmon.c		smscmon
1881.28Skiyohara
1891.28Skiyohara# G760a FAN controller
1901.28Skiyoharadevice	g760a: sysmon_envsys
1911.28Skiyoharaattach	g760a at iic
1921.28Skiyoharafile	dev/i2c/g760a.c			g760a
1931.33Shannken
1941.33Shannken# IBM Hawk Integrated Systems Management Processor
1951.33Shannkendevice	ibmhawk: sysmon_envsys
1961.33Shannkenattach	ibmhawk at iic
1971.33Shannkenfile	dev/i2c/ibmhawk.c		ibmhawk
1981.46Sjmcneill
1991.46Sjmcneill# TI TPS65950 OMAP Power Management and System Companion Device
2001.47Sjmcneilldevice	tps65950pm: sysmon_wdog
2011.46Sjmcneillattach	tps65950pm at iic
2021.46Sjmcneillfile	dev/i2c/tps65950.c		tps65950pm
2031.48Srkujawa
2041.48Srkujawa# TI TPS65217
2051.48Srkujawadevice	tps65217pmic: sysmon_envsys
2061.48Srkujawaattach	tps65217pmic at iic
2071.72Skiyoharafile	dev/i2c/tps65217pmic.c 		tps65217pmic	needs-flag
2081.48Srkujawa
2091.49Srkujawa# Microchip MCP980x
2101.49Srkujawadevice	mcp980x: sysmon_envsys
2111.49Srkujawaattach	mcp980x at iic
2121.49Srkujawafile	dev/i2c/mcp980x.c 		mcp980x
2131.49Srkujawa
2141.50Ssoren# Nuvoton W83795G/ADG Hardware Monitor
2151.50Ssorendevice	w83795g: gpiobus, sysmon_envsys, sysmon_wdog
2161.50Ssorenattach	w83795g at iic
2171.50Ssorenfile	dev/i2c/w83795g.c 		w83795g
2181.52Srkujawa
2191.52Srkujawa# Freescale MPL115A2
2201.52Srkujawadevice  mpl115a: sysmon_envsys
2211.52Srkujawaattach  mpl115a at iic
2221.52Srkujawafile    dev/i2c/mpl115a.c		mpl115a
2231.52Srkujawa
2241.56Sjmcneill# AXP20x Power Management Unit
2251.78Sjmcneilldevice	axp20x { }: sysmon_envsys
2261.78Sjmcneilldevice	axp20xreg: axp20x
2271.56Sjmcneillattach	axp20x at iic
2281.78Sjmcneillattach	axp20xreg at axp20x
2291.66Sjmcneillfile	dev/i2c/axp20x.c			axp20x		needs-flag
2301.57Sjmcneill
2311.57Sjmcneill# AXP22x Power Management Unit
2321.57Sjmcneilldevice	axp22x: sysmon_envsys
2331.57Sjmcneillattach	axp22x at iic
2341.57Sjmcneillfile	dev/i2c/axp22x.c			axp22x
2351.60Sjmcneill
2361.90Sjmcneill# X-Powers AXP Power Management IC
2371.91Sjmcneilldevice	axppmic { }: sysmon_envsys, sysmon_taskq
2381.90Sjmcneilldevice	axpreg: axppmic
2391.90Sjmcneillattach	axppmic at iic
2401.90Sjmcneillattach	axpreg at axppmic
2411.90Sjmcneillfile	dev/i2c/axppmic.c			axppmic
2421.60Sjmcneill
2431.60Sjmcneill# AXP809 Power Management Unit
2441.60Sjmcneilldevice	axp809pm
2451.60Sjmcneillattach	axp809pm at iic
2461.60Sjmcneillfile	dev/i2c/axp809.c			axp809pm	needs-flag
2471.61Sjmcneill
2481.61Sjmcneill# AC100 integrated audio codec and RTC
2491.61Sjmcneilldevice	ac100ic
2501.61Sjmcneillattach	ac100ic at iic
2511.61Sjmcneillfile	dev/i2c/ac100.c				ac100ic		needs-flag
2521.62Sjmcneill
2531.62Sjmcneill# ACT8846 Power Management Unit
2541.62Sjmcneilldevice	act8846pm
2551.62Sjmcneillattach	act8846pm at iic
2561.62Sjmcneillfile	dev/i2c/act8846.c			act8846pm	needs-flag
2571.65Sjmcneill
2581.65Sjmcneill# Texas Instruments TMP451 Temperature Sensor
2591.65Sjmcneilldevice	titemp: sysmon_envsys
2601.65Sjmcneillattach	titemp at iic
2611.65Sjmcneillfile	dev/i2c/titemp.c			titemp
2621.67Sjmcneill
2631.67Sjmcneill# AMS AS3722 Power Management IC
2641.73Sjmcneilldevice	as3722pmic { }: sysmon_wdog
2651.73Sjmcneilldevice	as3722reg: as3722pmic
2661.67Sjmcneillattach	as3722pmic at iic
2671.73Sjmcneillattach	as3722reg at as3722pmic
2681.67Sjmcneillfile	dev/i2c/as3722.c			as3722pmic	needs-flag
2691.74Sjmcneill
2701.74Sjmcneill# Texas Instruments TCA8418 Keypad Scan IC
2711.75Sjmcneilldevice	tcakp: wskbddev, linux_keymap
2721.74Sjmcneillattach	tcakp at iic
2731.74Sjmcneillfile	dev/i2c/tcakp.c				tcakp
2741.76Sjmcneill
2751.76Sjmcneill# MAXIM MAX77620 Power Management IC
2761.76Sjmcneilldevice	max77620pmic
2771.76Sjmcneillattach	max77620pmic at iic
2781.76Sjmcneillfile	dev/i2c/max77620.c			max77620pmic
2791.76Sjmcneill
2801.76Sjmcneill# Texas Instruments TCA9539 I/O Expander
2811.76Sjmcneilldevice	tcagpio
2821.76Sjmcneillattach	tcagpio at iic
2831.76Sjmcneillfile	dev/i2c/tcagpio.c			tcagpio
2841.77Sjmcneill
2851.80Schristos# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor
2861.80Schristosdevice si70xxtemp
2871.80Schristosattach si70xxtemp at iic
2881.80Schristosfile dev/i2c/si70xx.c				si70xxtemp
2891.80Schristos
2901.80Schristos# Aosong AM2315 Temperature and Humidity sensor
2911.80Schristosdevice am2315temp
2921.80Schristosattach am2315temp at iic
2931.80Schristosfile dev/i2c/am2315.c				am2315temp
2941.80Schristos
2951.77Sjmcneill# Silergy SY8106A regulator
2961.77Sjmcneilldevice	sy8106a
2971.77Sjmcneillattach	sy8106a at iic
2981.77Sjmcneillfile	dev/i2c/sy8106a.c			sy8106a
2991.79Sbouyer
3001.82Smacallan# Maxim DS1631 High-Precision Digital Thermometer and Thermostat
3011.82Smacallandevice	dstemp: sysmon_envsys
3021.82Smacallanattach	dstemp at iic
3031.82Smacallanfile	dev/i2c/dstemp.c			dstemp
3041.82Smacallan
3051.81Suwe# EM3027 Real Time Clock and Temperature Sensor
3061.81Suwedevice	em3027rtc: sysmon_envsys
3071.81Suweattach	em3027rtc at iic
3081.81Suwefile	dev/i2c/em3027.c			em3027rtc
3091.81Suwe
3101.85Smacallan# Apple Fan Control Unit found in some G5
3111.85Smacallandevice	fcu: sysmon_envsys
3121.85Smacallanattach	fcu at iic
3131.87Smacallanfile	dev/i2c/fcu.c				fcu	needs-flag
3141.85Smacallan
3151.86Smacallan# Analog Devices AD7417 thermometer and ADC
3161.86Smacallandevice	adadc: sysmon_envsys
3171.86Smacallanattach	adadc at iic
3181.86Smacallanfile	dev/i2c/adadc.c				adadc
3191.86Smacallan
3201.79Sbouyer# HID over i2c
3211.79Sbouyer# HID "bus"
3221.79Sbouyerdefine  ihidbus {[ reportid = -1 ]}
3231.79Sbouyer
3241.79Sbouyer# HID root device for multiple report IDs
3251.79Sbouyerdevice  ihidev: hid, ihidbus
3261.79Sbouyerattach  ihidev at iic
3271.79Sbouyerfile    dev/i2c/ihidev.c			ihidev
3281.79Sbouyer
3291.79Sbouyer#HID mice
3301.79Sbouyerdevice	ims: hid, hidms, wsmousedev
3311.79Sbouyerattach	ims at ihidbus
3321.79Sbouyerfile	dev/i2c/ims.c				ims
3331.79Sbouyer
3341.79Sbouyer#HID multitouch
3351.79Sbouyerdevice	imt: hid, hidmt, wsmousedev
3361.79Sbouyerattach	imt at ihidbus
3371.79Sbouyerfile	dev/i2c/imt.c				imt
3381.92Sthorpej
3391.92Sthorpej# Taos TSL256x ambient light sensor
3401.92Sthorpejdevice	tsllux: sysmon_envsys
3411.92Sthorpejattach	tsllux at iic
3421.92Sthorpejfile	dev/i2c/tsl256x.c			tsllux
3431.94Srkujawa
3441.94Srkujawa# Philips/NXP TEA5767 
3451.94Srkujawadevice tea5767radio : radiodev
3461.94Srkujawaattach tea5767radio at iic
3471.94Srkujawafile dev/i2c/tea5767.c				tea5767radio
3481.94Srkujawa
3491.95Sjmcneill# Fairchild FAN53555 / Silergy SY82x regulator
3501.95Sjmcneilldevice	fan53555reg
3511.95Sjmcneillattach	fan53555reg at iic
3521.95Sjmcneillfile	dev/i2c/fan53555.c			fan53555reg
3531.96Sjmcneill
3541.96Sjmcneill# Rockchip Power Management IC
3551.96Sjmcneilldevice	rkpmic { }
3561.96Sjmcneilldevice	rkreg: rkpmic
3571.96Sjmcneillattach	rkpmic at iic
3581.96Sjmcneillattach	rkreg at rkpmic
3591.96Sjmcneillfile	dev/i2c/rkpmic.c			rkpmic
3601.98Sjmcneill
3611.99Stnn# SSD1306 or SH1106 OLED/PLED display
3621.99Stnnattach	ssdfb at iic with ssdfb_iic
3631.99Stnnfile	dev/i2c/ssdfb_i2c.c			ssdfb_iic
3641.99Stnn
3651.98Sjmcneill# Analogix ANX6345 eDP transmitter
3661.98Sjmcneilldevice	anxedp: edid, videomode, drmkms, drmkms_i2c
3671.98Sjmcneillattach	anxedp at iic
3681.98Sjmcneillfile	dev/i2c/anxedp.c			anxedp
369