files.i2c revision 1.111
11.111Smacallan#	$NetBSD: files.i2c,v 1.111 2020/04/24 12:38:31 macallan 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.31Smatt
591.31Smatt#
601.1Sthorpej# I2C client devices
611.1Sthorpej#
621.1Sthorpej
631.1Sthorpej# M41T00 Real Time Clock
641.3Sbriggsdevice	m41trtc
651.3Sbriggsattach	m41trtc at iic
661.3Sbriggsfile	dev/i2c/m41t00.c			m41trtc
671.1Sthorpej
681.1Sthorpej# M41ST84 Real Time Clock
691.1Sthorpejdevice	strtc
701.1Sthorpejattach	strtc at iic
711.1Sthorpejfile	dev/i2c/m41st84.c			strtc
721.1Sthorpej
731.1Sthorpej# MAX6900 Real Time Clock
741.1Sthorpejdevice	maxrtc
751.1Sthorpejattach	maxrtc at iic
761.1Sthorpejfile	dev/i2c/max6900.c			maxrtc
771.1Sthorpej
781.32Sjakllsch# NXP/Philips PCF8563 Real Time Clock
791.32Sjakllschdevice	pcf8563rtc
801.32Sjakllschattach	pcf8563rtc at iic
811.32Sjakllschfile	dev/i2c/pcf8563.c			pcf8563rtc
821.32Sjakllsch
831.1Sthorpej# Philips PCF8583 Real Time Clock
841.1Sthorpejdevice	pcfrtc
851.1Sthorpejattach	pcfrtc at iic
861.1Sthorpejfile	dev/i2c/pcf8583.c			pcfrtc
871.1Sthorpej
881.34Sphx# Seiko Instruments S-xx390A Real Time Clock
891.34Sphxdevice	s390rtc
901.34Sphxattach	s390rtc at iic
911.34Sphxfile	dev/i2c/s390.c				s390rtc
921.34Sphx
931.1Sthorpej# Atmel/Microchip 24Cxx Serial EEPROM
941.1Sthorpejdefine	at24cxx_eeprom
951.1Sthorpejdevice	seeprom
961.1Sthorpejattach	seeprom at iic
971.1Sthorpejfile	dev/i2c/at24cxx.c			seeprom | at24cxx_eeprom
981.1Sthorpej						    needs-flag
991.1Sthorpej
1001.1Sthorpej# National Semiconductor LM75 temperature sensor
1011.1Sthorpejdevice	lmtemp: sysmon_envsys
1021.1Sthorpejattach	lmtemp at iic
1031.1Sthorpejfile	dev/i2c/lm75.c				lmtemp
1041.1Sthorpej
1051.54Skardel# IST-AG Humidity and Teperature sensor (P14)
1061.54Skardeldevice	hythygtemp: sysmon_envsys
1071.54Skardelattach	hythygtemp at iic
1081.54Skardelfile	dev/i2c/hytp14.c			hythygtemp
1091.54Skardel
1101.21Spgoyette# National Semiconductor LM78 temp sensor/fan controller
1111.21Spgoyetteattach	lm at iic with lm_iic
1121.21Spgoyettefile	dev/i2c/lm_i2c.c			lm_iic
1131.21Spgoyette
1141.53Sjdc# National Semiconductor LM87 and clones system hardware monitor
1151.53Sjdcdevice	lmenv: sysmon_envsys
1161.53Sjdcattach	lmenv at iic
1171.53Sjdcfile	dev/i2c/lm87.c				lmenv
1181.53Sjdc
1191.1Sthorpej# Dallas DS1307 Real Time Clock
1201.58Suebayasidevice	dsrtc: sysmon_envsys
1211.1Sthorpejattach	dsrtc at iic
1221.1Sthorpejfile	dev/i2c/ds1307.c			dsrtc
1231.97Smacallandefflag opt_dsrtc.h				DSRTC_YEAR_START_2K
1241.2Sshige
1251.2Sshige# Xicor X1226 Real Time Clock
1261.2Sshigedevice	xrtc
1271.2Sshigeattach	xrtc at iic
1281.2Sshigefile	dev/i2c/x1226.c				xrtc
1291.4Smacallan
1301.19Spgoyette# Analog Devices dBCool family of thermal monitors / fan controllers
1311.19Spgoyettedevice dbcool: sysmon_envsys
1321.19Spgoyetteattach dbcool at iic
1331.19Spgoyettefile dev/i2c/dbcool.c			dbcool
1341.19Spgoyette
1351.5Snonaka# RICOH RS5C372[AB] Real Time Clock
1361.5Snonakadevice	rs5c372rtc
1371.5Snonakaattach	rs5c372rtc at iic
1381.5Snonakafile	dev/i2c/rs5c372.c		rs5c372rtc
1391.8Sshige
1401.8Sshige# RICOH R2025S/D Real Time Clock
1411.8Sshigedevice	r2025rtc
1421.8Sshigeattach	r2025rtc at iic
1431.8Sshigefile	dev/i2c/r2025.c			r2025rtc
1441.9Sgdamore
1451.9Sgdamore# VESA Display Data Channel 2
1461.9Sgdamoredevice	ddc
1471.10Sgdamoredefine	ddc_read_edid
1481.9Sgdamoreattach	ddc at iic
1491.10Sgdamorefile	dev/i2c/ddc.c			ddc | ddc_read_edid
1501.11Sjmcneill
1511.14Smacallan# SGS TDA7433 audio mixer
1521.16Smacallandevice	sgsmix
1531.16Smacallanattach	sgsmix at iic
1541.14Smacallanfile	dev/i2c/sgsmix.c		sgsmix needs-flag
1551.16Smacallandefflag	opt_sgsmix.h	SGSMIX_DEBUG
1561.14Smacallan
1571.15Stnn# Memory Serial Presence Detect
1581.27Spgoyetteattach	spdmem at iic with spdmem_iic
1591.27Spgoyettefile	dev/i2c/spdmem_i2c.c		spdmem_iic
1601.22Sjkunz
1611.24Spgoyette# Memory Temp Sensor
1621.25Spgoyettedevice	sdtemp: sysmon_envsys
1631.24Spgoyetteattach	sdtemp at iic
1641.24Spgoyettefile	dev/i2c/sdtemp.c		sdtemp
1651.24Spgoyette
1661.51Smatt# DS1672 Real Time Clock
1671.51Smattdevice	ds1672rtc
1681.51Smattattach	ds1672rtc at iic
1691.51Smattfile	dev/i2c/ds1672.c		ds1672rtc
1701.51Smatt
1711.22Sjkunz# ADM1021
1721.23Snakayamadevice	admtemp: sysmon_envsys
1731.22Sjkunzattach	admtemp at iic
1741.22Sjkunzfile	dev/i2c/adm1021.c		admtemp
1751.26Spgoyette
1761.69Sjdc# ADM1026 hardware monitor
1771.69Sjdcdevice	adm1026hm: sysmon_envsys
1781.69Sjdcattach	adm1026hm at iic
1791.69Sjdcfile	dev/i2c/adm1026.c		adm1026hm
1801.69Sjdc
1811.26Spgoyette# SMSC LPC47M192 hardware monitor
1821.26Spgoyettedevice	smscmon: sysmon_envsys
1831.26Spgoyetteattach	smscmon at iic
1841.26Spgoyettefile	dev/i2c/smscmon.c		smscmon
1851.28Skiyohara
1861.28Skiyohara# G760a FAN controller
1871.28Skiyoharadevice	g760a: sysmon_envsys
1881.28Skiyoharaattach	g760a at iic
1891.28Skiyoharafile	dev/i2c/g760a.c			g760a
1901.33Shannken
1911.33Shannken# IBM Hawk Integrated Systems Management Processor
1921.33Shannkendevice	ibmhawk: sysmon_envsys
1931.33Shannkenattach	ibmhawk at iic
1941.33Shannkenfile	dev/i2c/ibmhawk.c		ibmhawk
1951.46Sjmcneill
1961.48Srkujawa# TI TPS65217
1971.101Sjmcneilldevice	tps65217pmic { }: sysmon_envsys
1981.101Sjmcneilldevice	tps65217reg: tps65217pmic
1991.48Srkujawaattach	tps65217pmic at iic
2001.101Sjmcneillattach	tps65217reg at tps65217pmic
2011.72Skiyoharafile	dev/i2c/tps65217pmic.c 		tps65217pmic	needs-flag
2021.48Srkujawa
2031.49Srkujawa# Microchip MCP980x
2041.49Srkujawadevice	mcp980x: sysmon_envsys
2051.49Srkujawaattach	mcp980x at iic
2061.49Srkujawafile	dev/i2c/mcp980x.c 		mcp980x
2071.49Srkujawa
2081.50Ssoren# Nuvoton W83795G/ADG Hardware Monitor
2091.50Ssorendevice	w83795g: gpiobus, sysmon_envsys, sysmon_wdog
2101.50Ssorenattach	w83795g at iic
2111.50Ssorenfile	dev/i2c/w83795g.c 		w83795g
2121.52Srkujawa
2131.52Srkujawa# Freescale MPL115A2
2141.52Srkujawadevice  mpl115a: sysmon_envsys
2151.52Srkujawaattach  mpl115a at iic
2161.52Srkujawafile    dev/i2c/mpl115a.c		mpl115a
2171.52Srkujawa
2181.56Sjmcneill# AXP20x Power Management Unit
2191.78Sjmcneilldevice	axp20x { }: sysmon_envsys
2201.78Sjmcneilldevice	axp20xreg: axp20x
2211.56Sjmcneillattach	axp20x at iic
2221.78Sjmcneillattach	axp20xreg at axp20x
2231.66Sjmcneillfile	dev/i2c/axp20x.c			axp20x		needs-flag
2241.57Sjmcneill
2251.57Sjmcneill# AXP22x Power Management Unit
2261.57Sjmcneilldevice	axp22x: sysmon_envsys
2271.57Sjmcneillattach	axp22x at iic
2281.57Sjmcneillfile	dev/i2c/axp22x.c			axp22x
2291.60Sjmcneill
2301.90Sjmcneill# X-Powers AXP Power Management IC
2311.91Sjmcneilldevice	axppmic { }: sysmon_envsys, sysmon_taskq
2321.90Sjmcneilldevice	axpreg: axppmic
2331.90Sjmcneillattach	axppmic at iic
2341.90Sjmcneillattach	axpreg at axppmic
2351.90Sjmcneillfile	dev/i2c/axppmic.c			axppmic
2361.60Sjmcneill
2371.60Sjmcneill# AXP809 Power Management Unit
2381.60Sjmcneilldevice	axp809pm
2391.60Sjmcneillattach	axp809pm at iic
2401.60Sjmcneillfile	dev/i2c/axp809.c			axp809pm	needs-flag
2411.61Sjmcneill
2421.61Sjmcneill# AC100 integrated audio codec and RTC
2431.61Sjmcneilldevice	ac100ic
2441.61Sjmcneillattach	ac100ic at iic
2451.61Sjmcneillfile	dev/i2c/ac100.c				ac100ic		needs-flag
2461.62Sjmcneill
2471.62Sjmcneill# ACT8846 Power Management Unit
2481.62Sjmcneilldevice	act8846pm
2491.62Sjmcneillattach	act8846pm at iic
2501.62Sjmcneillfile	dev/i2c/act8846.c			act8846pm	needs-flag
2511.65Sjmcneill
2521.65Sjmcneill# Texas Instruments TMP451 Temperature Sensor
2531.65Sjmcneilldevice	titemp: sysmon_envsys
2541.65Sjmcneillattach	titemp at iic
2551.65Sjmcneillfile	dev/i2c/titemp.c			titemp
2561.67Sjmcneill
2571.67Sjmcneill# AMS AS3722 Power Management IC
2581.73Sjmcneilldevice	as3722pmic { }: sysmon_wdog
2591.73Sjmcneilldevice	as3722reg: as3722pmic
2601.67Sjmcneillattach	as3722pmic at iic
2611.73Sjmcneillattach	as3722reg at as3722pmic
2621.67Sjmcneillfile	dev/i2c/as3722.c			as3722pmic	needs-flag
2631.74Sjmcneill
2641.74Sjmcneill# Texas Instruments TCA8418 Keypad Scan IC
2651.75Sjmcneilldevice	tcakp: wskbddev, linux_keymap
2661.74Sjmcneillattach	tcakp at iic
2671.74Sjmcneillfile	dev/i2c/tcakp.c				tcakp
2681.76Sjmcneill
2691.76Sjmcneill# MAXIM MAX77620 Power Management IC
2701.76Sjmcneilldevice	max77620pmic
2711.76Sjmcneillattach	max77620pmic at iic
2721.76Sjmcneillfile	dev/i2c/max77620.c			max77620pmic
2731.76Sjmcneill
2741.76Sjmcneill# Texas Instruments TCA9539 I/O Expander
2751.76Sjmcneilldevice	tcagpio
2761.76Sjmcneillattach	tcagpio at iic
2771.76Sjmcneillfile	dev/i2c/tcagpio.c			tcagpio
2781.77Sjmcneill
2791.80Schristos# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor
2801.80Schristosdevice si70xxtemp
2811.80Schristosattach si70xxtemp at iic
2821.80Schristosfile dev/i2c/si70xx.c				si70xxtemp
2831.80Schristos
2841.80Schristos# Aosong AM2315 Temperature and Humidity sensor
2851.80Schristosdevice am2315temp
2861.80Schristosattach am2315temp at iic
2871.80Schristosfile dev/i2c/am2315.c				am2315temp
2881.80Schristos
2891.77Sjmcneill# Silergy SY8106A regulator
2901.77Sjmcneilldevice	sy8106a
2911.77Sjmcneillattach	sy8106a at iic
2921.77Sjmcneillfile	dev/i2c/sy8106a.c			sy8106a
2931.79Sbouyer
2941.82Smacallan# Maxim DS1631 High-Precision Digital Thermometer and Thermostat
2951.82Smacallandevice	dstemp: sysmon_envsys
2961.82Smacallanattach	dstemp at iic
2971.82Smacallanfile	dev/i2c/dstemp.c			dstemp
2981.82Smacallan
2991.81Suwe# EM3027 Real Time Clock and Temperature Sensor
3001.81Suwedevice	em3027rtc: sysmon_envsys
3011.81Suweattach	em3027rtc at iic
3021.81Suwefile	dev/i2c/em3027.c			em3027rtc
3031.81Suwe
3041.85Smacallan# Apple Fan Control Unit found in some G5
3051.85Smacallandevice	fcu: sysmon_envsys
3061.85Smacallanattach	fcu at iic
3071.87Smacallanfile	dev/i2c/fcu.c				fcu	needs-flag
3081.85Smacallan
3091.86Smacallan# Analog Devices AD7417 thermometer and ADC
3101.86Smacallandevice	adadc: sysmon_envsys
3111.86Smacallanattach	adadc at iic
3121.86Smacallanfile	dev/i2c/adadc.c				adadc
3131.86Smacallan
3141.111Smacallan# Apple Sudden Motion Sensor
3151.111Smacallandevice	asms: sysmon_envsys
3161.111Smacallanattach	asms at iic
3171.111Smacallanfile	dev/i2c/asms.c				asms
3181.111Smacallan
3191.79Sbouyer# HID over i2c
3201.79Sbouyer# HID "bus"
3211.79Sbouyerdefine  ihidbus {[ reportid = -1 ]}
3221.79Sbouyer
3231.79Sbouyer# HID root device for multiple report IDs
3241.79Sbouyerdevice  ihidev: hid, ihidbus
3251.79Sbouyerattach  ihidev at iic
3261.79Sbouyerfile    dev/i2c/ihidev.c			ihidev
3271.79Sbouyer
3281.79Sbouyer#HID mice
3291.79Sbouyerdevice	ims: hid, hidms, wsmousedev
3301.79Sbouyerattach	ims at ihidbus
3311.79Sbouyerfile	dev/i2c/ims.c				ims
3321.79Sbouyer
3331.79Sbouyer#HID multitouch
3341.79Sbouyerdevice	imt: hid, hidmt, wsmousedev
3351.79Sbouyerattach	imt at ihidbus
3361.79Sbouyerfile	dev/i2c/imt.c				imt
3371.92Sthorpej
3381.92Sthorpej# Taos TSL256x ambient light sensor
3391.92Sthorpejdevice	tsllux: sysmon_envsys
3401.92Sthorpejattach	tsllux at iic
3411.92Sthorpejfile	dev/i2c/tsl256x.c			tsllux
3421.94Srkujawa
3431.94Srkujawa# Philips/NXP TEA5767 
3441.94Srkujawadevice tea5767radio : radiodev
3451.94Srkujawaattach tea5767radio at iic
3461.94Srkujawafile dev/i2c/tea5767.c				tea5767radio
3471.94Srkujawa
3481.95Sjmcneill# Fairchild FAN53555 / Silergy SY82x regulator
3491.95Sjmcneilldevice	fan53555reg
3501.95Sjmcneillattach	fan53555reg at iic
3511.95Sjmcneillfile	dev/i2c/fan53555.c			fan53555reg
3521.96Sjmcneill
3531.96Sjmcneill# Rockchip Power Management IC
3541.96Sjmcneilldevice	rkpmic { }
3551.96Sjmcneilldevice	rkreg: rkpmic
3561.96Sjmcneillattach	rkpmic at iic
3571.96Sjmcneillattach	rkreg at rkpmic
3581.96Sjmcneillfile	dev/i2c/rkpmic.c			rkpmic
3591.98Sjmcneill
3601.99Stnn# SSD1306 or SH1106 OLED/PLED display
3611.99Stnnattach	ssdfb at iic with ssdfb_iic
3621.99Stnnfile	dev/i2c/ssdfb_i2c.c			ssdfb_iic
3631.99Stnn
3641.98Sjmcneill# Analogix ANX6345 eDP transmitter
3651.98Sjmcneilldevice	anxedp: edid, videomode, drmkms, drmkms_i2c
3661.98Sjmcneillattach	anxedp at iic
3671.98Sjmcneillfile	dev/i2c/anxedp.c			anxedp
3681.100Sthorpej
3691.100Sthorpej# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller
3701.100Sthorpejdevice	pcapwm: pwm
3711.100Sthorpejattach	pcapwm at iic
3721.100Sthorpejfile	dev/i2c/pca9685.c			pcapwm
3731.102Sjmcneill
3741.102Sjmcneill# TI TWL4030 Power Management IC
3751.102Sjmcneilldevice	twl
3761.102Sjmcneillattach	twl at iic
3771.102Sjmcneillfile	dev/i2c/twl4030.c			twl
3781.104Sjmcneill
3791.104Sjmcneill# NXP TDA19988 HDMI encoder
3801.104Sjmcneilldevice	tdahdmi: edid, videomode, drmkms, drmkms_i2c
3811.104Sjmcneillattach	tdahdmi at iic
3821.104Sjmcneillfile	dev/i2c/tda19988.c			tdahdmi
3831.105Sjmcneill
3841.105Sjmcneill# Everest Semi ES8316 Low Power Audio CODEC
3851.105Sjmcneilldevice	es8316ac
3861.105Sjmcneillattach	es8316ac at iic
3871.105Sjmcneillfile	dev/i2c/es8316ac.c			es8316ac
3881.107Sjmcneill
3891.107Sjmcneill# CellWise CW2015 Fuel Gauge IC
3901.107Sjmcneilldevice	cwfg: sysmon_envsys
3911.107Sjmcneillattach	cwfg at iic
3921.107Sjmcneillfile	dev/i2c/cwfg.c				cwfg
3931.109Smacallan
3941.109Smacallan# Philips PCA955x GPIO
3951.110Smacallandevice	pcagpio: leds
3961.109Smacallanattach	pcagpio at iic
3971.109Smacallanfile	dev/i2c/pcagpio.c			pcagpio
398