files.i2c revision 1.101
11.101Sjmcneill#	$NetBSD: files.i2c,v 1.101 2019/10/27 20:11:13 jmcneill 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.101Sjmcneilldevice	tps65217pmic { }: sysmon_envsys
2061.101Sjmcneilldevice	tps65217reg: tps65217pmic
2071.48Srkujawaattach	tps65217pmic at iic
2081.101Sjmcneillattach	tps65217reg at tps65217pmic
2091.72Skiyoharafile	dev/i2c/tps65217pmic.c 		tps65217pmic	needs-flag
2101.48Srkujawa
2111.49Srkujawa# Microchip MCP980x
2121.49Srkujawadevice	mcp980x: sysmon_envsys
2131.49Srkujawaattach	mcp980x at iic
2141.49Srkujawafile	dev/i2c/mcp980x.c 		mcp980x
2151.49Srkujawa
2161.50Ssoren# Nuvoton W83795G/ADG Hardware Monitor
2171.50Ssorendevice	w83795g: gpiobus, sysmon_envsys, sysmon_wdog
2181.50Ssorenattach	w83795g at iic
2191.50Ssorenfile	dev/i2c/w83795g.c 		w83795g
2201.52Srkujawa
2211.52Srkujawa# Freescale MPL115A2
2221.52Srkujawadevice  mpl115a: sysmon_envsys
2231.52Srkujawaattach  mpl115a at iic
2241.52Srkujawafile    dev/i2c/mpl115a.c		mpl115a
2251.52Srkujawa
2261.56Sjmcneill# AXP20x Power Management Unit
2271.78Sjmcneilldevice	axp20x { }: sysmon_envsys
2281.78Sjmcneilldevice	axp20xreg: axp20x
2291.56Sjmcneillattach	axp20x at iic
2301.78Sjmcneillattach	axp20xreg at axp20x
2311.66Sjmcneillfile	dev/i2c/axp20x.c			axp20x		needs-flag
2321.57Sjmcneill
2331.57Sjmcneill# AXP22x Power Management Unit
2341.57Sjmcneilldevice	axp22x: sysmon_envsys
2351.57Sjmcneillattach	axp22x at iic
2361.57Sjmcneillfile	dev/i2c/axp22x.c			axp22x
2371.60Sjmcneill
2381.90Sjmcneill# X-Powers AXP Power Management IC
2391.91Sjmcneilldevice	axppmic { }: sysmon_envsys, sysmon_taskq
2401.90Sjmcneilldevice	axpreg: axppmic
2411.90Sjmcneillattach	axppmic at iic
2421.90Sjmcneillattach	axpreg at axppmic
2431.90Sjmcneillfile	dev/i2c/axppmic.c			axppmic
2441.60Sjmcneill
2451.60Sjmcneill# AXP809 Power Management Unit
2461.60Sjmcneilldevice	axp809pm
2471.60Sjmcneillattach	axp809pm at iic
2481.60Sjmcneillfile	dev/i2c/axp809.c			axp809pm	needs-flag
2491.61Sjmcneill
2501.61Sjmcneill# AC100 integrated audio codec and RTC
2511.61Sjmcneilldevice	ac100ic
2521.61Sjmcneillattach	ac100ic at iic
2531.61Sjmcneillfile	dev/i2c/ac100.c				ac100ic		needs-flag
2541.62Sjmcneill
2551.62Sjmcneill# ACT8846 Power Management Unit
2561.62Sjmcneilldevice	act8846pm
2571.62Sjmcneillattach	act8846pm at iic
2581.62Sjmcneillfile	dev/i2c/act8846.c			act8846pm	needs-flag
2591.65Sjmcneill
2601.65Sjmcneill# Texas Instruments TMP451 Temperature Sensor
2611.65Sjmcneilldevice	titemp: sysmon_envsys
2621.65Sjmcneillattach	titemp at iic
2631.65Sjmcneillfile	dev/i2c/titemp.c			titemp
2641.67Sjmcneill
2651.67Sjmcneill# AMS AS3722 Power Management IC
2661.73Sjmcneilldevice	as3722pmic { }: sysmon_wdog
2671.73Sjmcneilldevice	as3722reg: as3722pmic
2681.67Sjmcneillattach	as3722pmic at iic
2691.73Sjmcneillattach	as3722reg at as3722pmic
2701.67Sjmcneillfile	dev/i2c/as3722.c			as3722pmic	needs-flag
2711.74Sjmcneill
2721.74Sjmcneill# Texas Instruments TCA8418 Keypad Scan IC
2731.75Sjmcneilldevice	tcakp: wskbddev, linux_keymap
2741.74Sjmcneillattach	tcakp at iic
2751.74Sjmcneillfile	dev/i2c/tcakp.c				tcakp
2761.76Sjmcneill
2771.76Sjmcneill# MAXIM MAX77620 Power Management IC
2781.76Sjmcneilldevice	max77620pmic
2791.76Sjmcneillattach	max77620pmic at iic
2801.76Sjmcneillfile	dev/i2c/max77620.c			max77620pmic
2811.76Sjmcneill
2821.76Sjmcneill# Texas Instruments TCA9539 I/O Expander
2831.76Sjmcneilldevice	tcagpio
2841.76Sjmcneillattach	tcagpio at iic
2851.76Sjmcneillfile	dev/i2c/tcagpio.c			tcagpio
2861.77Sjmcneill
2871.80Schristos# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor
2881.80Schristosdevice si70xxtemp
2891.80Schristosattach si70xxtemp at iic
2901.80Schristosfile dev/i2c/si70xx.c				si70xxtemp
2911.80Schristos
2921.80Schristos# Aosong AM2315 Temperature and Humidity sensor
2931.80Schristosdevice am2315temp
2941.80Schristosattach am2315temp at iic
2951.80Schristosfile dev/i2c/am2315.c				am2315temp
2961.80Schristos
2971.77Sjmcneill# Silergy SY8106A regulator
2981.77Sjmcneilldevice	sy8106a
2991.77Sjmcneillattach	sy8106a at iic
3001.77Sjmcneillfile	dev/i2c/sy8106a.c			sy8106a
3011.79Sbouyer
3021.82Smacallan# Maxim DS1631 High-Precision Digital Thermometer and Thermostat
3031.82Smacallandevice	dstemp: sysmon_envsys
3041.82Smacallanattach	dstemp at iic
3051.82Smacallanfile	dev/i2c/dstemp.c			dstemp
3061.82Smacallan
3071.81Suwe# EM3027 Real Time Clock and Temperature Sensor
3081.81Suwedevice	em3027rtc: sysmon_envsys
3091.81Suweattach	em3027rtc at iic
3101.81Suwefile	dev/i2c/em3027.c			em3027rtc
3111.81Suwe
3121.85Smacallan# Apple Fan Control Unit found in some G5
3131.85Smacallandevice	fcu: sysmon_envsys
3141.85Smacallanattach	fcu at iic
3151.87Smacallanfile	dev/i2c/fcu.c				fcu	needs-flag
3161.85Smacallan
3171.86Smacallan# Analog Devices AD7417 thermometer and ADC
3181.86Smacallandevice	adadc: sysmon_envsys
3191.86Smacallanattach	adadc at iic
3201.86Smacallanfile	dev/i2c/adadc.c				adadc
3211.86Smacallan
3221.79Sbouyer# HID over i2c
3231.79Sbouyer# HID "bus"
3241.79Sbouyerdefine  ihidbus {[ reportid = -1 ]}
3251.79Sbouyer
3261.79Sbouyer# HID root device for multiple report IDs
3271.79Sbouyerdevice  ihidev: hid, ihidbus
3281.79Sbouyerattach  ihidev at iic
3291.79Sbouyerfile    dev/i2c/ihidev.c			ihidev
3301.79Sbouyer
3311.79Sbouyer#HID mice
3321.79Sbouyerdevice	ims: hid, hidms, wsmousedev
3331.79Sbouyerattach	ims at ihidbus
3341.79Sbouyerfile	dev/i2c/ims.c				ims
3351.79Sbouyer
3361.79Sbouyer#HID multitouch
3371.79Sbouyerdevice	imt: hid, hidmt, wsmousedev
3381.79Sbouyerattach	imt at ihidbus
3391.79Sbouyerfile	dev/i2c/imt.c				imt
3401.92Sthorpej
3411.92Sthorpej# Taos TSL256x ambient light sensor
3421.92Sthorpejdevice	tsllux: sysmon_envsys
3431.92Sthorpejattach	tsllux at iic
3441.92Sthorpejfile	dev/i2c/tsl256x.c			tsllux
3451.94Srkujawa
3461.94Srkujawa# Philips/NXP TEA5767 
3471.94Srkujawadevice tea5767radio : radiodev
3481.94Srkujawaattach tea5767radio at iic
3491.94Srkujawafile dev/i2c/tea5767.c				tea5767radio
3501.94Srkujawa
3511.95Sjmcneill# Fairchild FAN53555 / Silergy SY82x regulator
3521.95Sjmcneilldevice	fan53555reg
3531.95Sjmcneillattach	fan53555reg at iic
3541.95Sjmcneillfile	dev/i2c/fan53555.c			fan53555reg
3551.96Sjmcneill
3561.96Sjmcneill# Rockchip Power Management IC
3571.96Sjmcneilldevice	rkpmic { }
3581.96Sjmcneilldevice	rkreg: rkpmic
3591.96Sjmcneillattach	rkpmic at iic
3601.96Sjmcneillattach	rkreg at rkpmic
3611.96Sjmcneillfile	dev/i2c/rkpmic.c			rkpmic
3621.98Sjmcneill
3631.99Stnn# SSD1306 or SH1106 OLED/PLED display
3641.99Stnnattach	ssdfb at iic with ssdfb_iic
3651.99Stnnfile	dev/i2c/ssdfb_i2c.c			ssdfb_iic
3661.99Stnn
3671.98Sjmcneill# Analogix ANX6345 eDP transmitter
3681.98Sjmcneilldevice	anxedp: edid, videomode, drmkms, drmkms_i2c
3691.98Sjmcneillattach	anxedp at iic
3701.98Sjmcneillfile	dev/i2c/anxedp.c			anxedp
3711.100Sthorpej
3721.100Sthorpej# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller
3731.100Sthorpejdevice	pcapwm: pwm
3741.100Sthorpejattach	pcapwm at iic
3751.100Sthorpejfile	dev/i2c/pca9685.c			pcapwm
376