files.i2c revision 1.120
11.120Sbrad#	$NetBSD: files.i2c,v 1.120 2021/12/07 17:39:54 brad 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.113Sthorpej# Common module for i2c mux support
191.113Sthorpejdefine	i2cmux
201.113Sthorpejfile	dev/i2c/i2cmux.c			i2cmux
211.113Sthorpej
221.30Sjmcneill# Auvitek AU8522 decoder
231.30Sjmcneilldefine	au8522: i2cexec
241.30Sjmcneillfile	dev/i2c/au8522.c			au8522
251.30Sjmcneill
261.37Sjmcneill# LG DT3303 decoder
271.42Sjmcneilldefine	lg3303: i2cexec, dtv_math
281.37Sjmcneillfile	dev/i2c/lg3303.c			lg3303
291.37Sjmcneill
301.37Sjmcneill# Xceive XC3028 tuner
311.42Sjmcneilldefine	xc3028: i2cexec, firmload
321.37Sjmcneillfile	dev/i2c/xc3028.c			xc3028
331.37Sjmcneill
341.30Sjmcneill# Xceive XC5000 tuner
351.37Sjmcneilldefine	xc5k: i2cexec, firmload
361.30Sjmcneillfile	dev/i2c/xc5k.c				xc5k
371.30Sjmcneill
381.35Sjakllsch# Generic PLL-based tuners
391.35Sjakllschdefine	tvpll: i2cexec
401.35Sjakllschfile	dev/i2c/tvpll.c				tvpll
411.35Sjakllschfile	dev/i2c/tvpll_tuners.c			tvpll
421.35Sjakllsch
431.36Sjakllsch# Nextwave NXT200x demodulator
441.38Sjmcneilldefine	nxt2k: i2cexec, firmload
451.36Sjakllschfile	dev/i2c/nxt2k.c				nxt2k
461.36Sjakllsch
471.39Sjakllsch# Microtune MT2131 silicon tuner
481.39Sjakllschdefine	mt2131: i2cexec
491.39Sjakllschfile	dev/i2c/mt2131.c			mt2131
501.39Sjakllsch
511.40Sjakllsch# Conexant/Samsung CX24227/S5H1409 demodulator
521.40Sjakllschdefine	cx24227: i2cexec
531.40Sjakllschfile	dev/i2c/cx24227.c			cx24227
541.40Sjakllsch
551.1Sthorpej#
561.31Smatt# I2C master devices
571.31Smatt#
581.31Smattdefine	motoi2c
591.31Smattfile	dev/i2c/motoi2c.c			motoi2c
601.51Smattdefine	mvi2c
611.51Smattfile	dev/i2c/gttwsi_core.c			mvi2c
621.31Smatt
631.31Smatt#
641.1Sthorpej# I2C client devices
651.1Sthorpej#
661.1Sthorpej
671.1Sthorpej# M41T00 Real Time Clock
681.3Sbriggsdevice	m41trtc
691.3Sbriggsattach	m41trtc at iic
701.3Sbriggsfile	dev/i2c/m41t00.c			m41trtc
711.1Sthorpej
721.1Sthorpej# M41ST84 Real Time Clock
731.1Sthorpejdevice	strtc
741.1Sthorpejattach	strtc at iic
751.1Sthorpejfile	dev/i2c/m41st84.c			strtc
761.1Sthorpej
771.1Sthorpej# MAX6900 Real Time Clock
781.1Sthorpejdevice	maxrtc
791.1Sthorpejattach	maxrtc at iic
801.1Sthorpejfile	dev/i2c/max6900.c			maxrtc
811.1Sthorpej
821.32Sjakllsch# NXP/Philips PCF8563 Real Time Clock
831.32Sjakllschdevice	pcf8563rtc
841.32Sjakllschattach	pcf8563rtc at iic
851.32Sjakllschfile	dev/i2c/pcf8563.c			pcf8563rtc
861.32Sjakllsch
871.1Sthorpej# Philips PCF8583 Real Time Clock
881.1Sthorpejdevice	pcfrtc
891.1Sthorpejattach	pcfrtc at iic
901.1Sthorpejfile	dev/i2c/pcf8583.c			pcfrtc
911.1Sthorpej
921.34Sphx# Seiko Instruments S-xx390A Real Time Clock
931.34Sphxdevice	s390rtc
941.34Sphxattach	s390rtc at iic
951.34Sphxfile	dev/i2c/s390.c				s390rtc
961.34Sphx
971.1Sthorpej# Atmel/Microchip 24Cxx Serial EEPROM
981.1Sthorpejdefine	at24cxx_eeprom
991.1Sthorpejdevice	seeprom
1001.1Sthorpejattach	seeprom at iic
1011.1Sthorpejfile	dev/i2c/at24cxx.c			seeprom | at24cxx_eeprom
1021.1Sthorpej						    needs-flag
1031.1Sthorpej
1041.1Sthorpej# National Semiconductor LM75 temperature sensor
1051.1Sthorpejdevice	lmtemp: sysmon_envsys
1061.1Sthorpejattach	lmtemp at iic
1071.1Sthorpejfile	dev/i2c/lm75.c				lmtemp
1081.1Sthorpej
1091.54Skardel# IST-AG Humidity and Teperature sensor (P14)
1101.54Skardeldevice	hythygtemp: sysmon_envsys
1111.54Skardelattach	hythygtemp at iic
1121.54Skardelfile	dev/i2c/hytp14.c			hythygtemp
1131.54Skardel
1141.21Spgoyette# National Semiconductor LM78 temp sensor/fan controller
1151.21Spgoyetteattach	lm at iic with lm_iic
1161.21Spgoyettefile	dev/i2c/lm_i2c.c			lm_iic
1171.21Spgoyette
1181.53Sjdc# National Semiconductor LM87 and clones system hardware monitor
1191.53Sjdcdevice	lmenv: sysmon_envsys
1201.53Sjdcattach	lmenv at iic
1211.53Sjdcfile	dev/i2c/lm87.c				lmenv
1221.53Sjdc
1231.1Sthorpej# Dallas DS1307 Real Time Clock
1241.58Suebayasidevice	dsrtc: sysmon_envsys
1251.1Sthorpejattach	dsrtc at iic
1261.1Sthorpejfile	dev/i2c/ds1307.c			dsrtc
1271.97Smacallandefflag opt_dsrtc.h				DSRTC_YEAR_START_2K
1281.2Sshige
1291.2Sshige# Xicor X1226 Real Time Clock
1301.2Sshigedevice	xrtc
1311.2Sshigeattach	xrtc at iic
1321.2Sshigefile	dev/i2c/x1226.c				xrtc
1331.4Smacallan
1341.19Spgoyette# Analog Devices dBCool family of thermal monitors / fan controllers
1351.19Spgoyettedevice dbcool: sysmon_envsys
1361.19Spgoyetteattach dbcool at iic
1371.19Spgoyettefile dev/i2c/dbcool.c			dbcool
1381.19Spgoyette
1391.5Snonaka# RICOH RS5C372[AB] Real Time Clock
1401.5Snonakadevice	rs5c372rtc
1411.5Snonakaattach	rs5c372rtc at iic
1421.5Snonakafile	dev/i2c/rs5c372.c		rs5c372rtc
1431.8Sshige
1441.8Sshige# RICOH R2025S/D Real Time Clock
1451.8Sshigedevice	r2025rtc
1461.8Sshigeattach	r2025rtc at iic
1471.8Sshigefile	dev/i2c/r2025.c			r2025rtc
1481.9Sgdamore
1491.9Sgdamore# VESA Display Data Channel 2
1501.9Sgdamoredevice	ddc
1511.10Sgdamoredefine	ddc_read_edid
1521.9Sgdamoreattach	ddc at iic
1531.10Sgdamorefile	dev/i2c/ddc.c			ddc | ddc_read_edid
1541.11Sjmcneill
1551.14Smacallan# SGS TDA7433 audio mixer
1561.16Smacallandevice	sgsmix
1571.16Smacallanattach	sgsmix at iic
1581.14Smacallanfile	dev/i2c/sgsmix.c		sgsmix needs-flag
1591.16Smacallandefflag	opt_sgsmix.h	SGSMIX_DEBUG
1601.14Smacallan
1611.15Stnn# Memory Serial Presence Detect
1621.27Spgoyetteattach	spdmem at iic with spdmem_iic
1631.27Spgoyettefile	dev/i2c/spdmem_i2c.c		spdmem_iic
1641.22Sjkunz
1651.24Spgoyette# Memory Temp Sensor
1661.25Spgoyettedevice	sdtemp: sysmon_envsys
1671.24Spgoyetteattach	sdtemp at iic
1681.24Spgoyettefile	dev/i2c/sdtemp.c		sdtemp
1691.24Spgoyette
1701.51Smatt# DS1672 Real Time Clock
1711.51Smattdevice	ds1672rtc
1721.51Smattattach	ds1672rtc at iic
1731.51Smattfile	dev/i2c/ds1672.c		ds1672rtc
1741.51Smatt
1751.22Sjkunz# ADM1021
1761.23Snakayamadevice	admtemp: sysmon_envsys
1771.22Sjkunzattach	admtemp at iic
1781.22Sjkunzfile	dev/i2c/adm1021.c		admtemp
1791.26Spgoyette
1801.69Sjdc# ADM1026 hardware monitor
1811.69Sjdcdevice	adm1026hm: sysmon_envsys
1821.69Sjdcattach	adm1026hm at iic
1831.69Sjdcfile	dev/i2c/adm1026.c		adm1026hm
1841.69Sjdc
1851.26Spgoyette# SMSC LPC47M192 hardware monitor
1861.26Spgoyettedevice	smscmon: sysmon_envsys
1871.26Spgoyetteattach	smscmon at iic
1881.26Spgoyettefile	dev/i2c/smscmon.c		smscmon
1891.28Skiyohara
1901.28Skiyohara# G760a FAN controller
1911.28Skiyoharadevice	g760a: sysmon_envsys
1921.28Skiyoharaattach	g760a at iic
1931.28Skiyoharafile	dev/i2c/g760a.c			g760a
1941.33Shannken
1951.33Shannken# IBM Hawk Integrated Systems Management Processor
1961.33Shannkendevice	ibmhawk: sysmon_envsys
1971.33Shannkenattach	ibmhawk at iic
1981.33Shannkenfile	dev/i2c/ibmhawk.c		ibmhawk
1991.46Sjmcneill
2001.48Srkujawa# TI TPS65217
2011.101Sjmcneilldevice	tps65217pmic { }: sysmon_envsys
2021.101Sjmcneilldevice	tps65217reg: tps65217pmic
2031.48Srkujawaattach	tps65217pmic at iic
2041.101Sjmcneillattach	tps65217reg at tps65217pmic
2051.72Skiyoharafile	dev/i2c/tps65217pmic.c 		tps65217pmic	needs-flag
2061.48Srkujawa
2071.49Srkujawa# Microchip MCP980x
2081.49Srkujawadevice	mcp980x: sysmon_envsys
2091.49Srkujawaattach	mcp980x at iic
2101.49Srkujawafile	dev/i2c/mcp980x.c 		mcp980x
2111.49Srkujawa
2121.50Ssoren# Nuvoton W83795G/ADG Hardware Monitor
2131.50Ssorendevice	w83795g: gpiobus, sysmon_envsys, sysmon_wdog
2141.50Ssorenattach	w83795g at iic
2151.50Ssorenfile	dev/i2c/w83795g.c 		w83795g
2161.52Srkujawa
2171.52Srkujawa# Freescale MPL115A2
2181.52Srkujawadevice  mpl115a: sysmon_envsys
2191.52Srkujawaattach  mpl115a at iic
2201.52Srkujawafile    dev/i2c/mpl115a.c		mpl115a
2211.52Srkujawa
2221.56Sjmcneill# AXP20x Power Management Unit
2231.78Sjmcneilldevice	axp20x { }: sysmon_envsys
2241.78Sjmcneilldevice	axp20xreg: axp20x
2251.56Sjmcneillattach	axp20x at iic
2261.78Sjmcneillattach	axp20xreg at axp20x
2271.66Sjmcneillfile	dev/i2c/axp20x.c			axp20x		needs-flag
2281.57Sjmcneill
2291.57Sjmcneill# AXP22x Power Management Unit
2301.57Sjmcneilldevice	axp22x: sysmon_envsys
2311.57Sjmcneillattach	axp22x at iic
2321.57Sjmcneillfile	dev/i2c/axp22x.c			axp22x
2331.60Sjmcneill
2341.90Sjmcneill# X-Powers AXP Power Management IC
2351.91Sjmcneilldevice	axppmic { }: sysmon_envsys, sysmon_taskq
2361.90Sjmcneilldevice	axpreg: axppmic
2371.90Sjmcneillattach	axppmic at iic
2381.90Sjmcneillattach	axpreg at axppmic
2391.90Sjmcneillfile	dev/i2c/axppmic.c			axppmic
2401.60Sjmcneill
2411.60Sjmcneill# AXP809 Power Management Unit
2421.60Sjmcneilldevice	axp809pm
2431.60Sjmcneillattach	axp809pm at iic
2441.60Sjmcneillfile	dev/i2c/axp809.c			axp809pm	needs-flag
2451.61Sjmcneill
2461.61Sjmcneill# AC100 integrated audio codec and RTC
2471.61Sjmcneilldevice	ac100ic
2481.61Sjmcneillattach	ac100ic at iic
2491.61Sjmcneillfile	dev/i2c/ac100.c				ac100ic		needs-flag
2501.62Sjmcneill
2511.62Sjmcneill# ACT8846 Power Management Unit
2521.62Sjmcneilldevice	act8846pm
2531.62Sjmcneillattach	act8846pm at iic
2541.62Sjmcneillfile	dev/i2c/act8846.c			act8846pm	needs-flag
2551.65Sjmcneill
2561.65Sjmcneill# Texas Instruments TMP451 Temperature Sensor
2571.65Sjmcneilldevice	titemp: sysmon_envsys
2581.65Sjmcneillattach	titemp at iic
2591.65Sjmcneillfile	dev/i2c/titemp.c			titemp
2601.67Sjmcneill
2611.67Sjmcneill# AMS AS3722 Power Management IC
2621.73Sjmcneilldevice	as3722pmic { }: sysmon_wdog
2631.73Sjmcneilldevice	as3722reg: as3722pmic
2641.67Sjmcneillattach	as3722pmic at iic
2651.73Sjmcneillattach	as3722reg at as3722pmic
2661.67Sjmcneillfile	dev/i2c/as3722.c			as3722pmic	needs-flag
2671.74Sjmcneill
2681.74Sjmcneill# Texas Instruments TCA8418 Keypad Scan IC
2691.75Sjmcneilldevice	tcakp: wskbddev, linux_keymap
2701.74Sjmcneillattach	tcakp at iic
2711.74Sjmcneillfile	dev/i2c/tcakp.c				tcakp
2721.76Sjmcneill
2731.76Sjmcneill# MAXIM MAX77620 Power Management IC
2741.76Sjmcneilldevice	max77620pmic
2751.76Sjmcneillattach	max77620pmic at iic
2761.76Sjmcneillfile	dev/i2c/max77620.c			max77620pmic
2771.76Sjmcneill
2781.76Sjmcneill# Texas Instruments TCA9539 I/O Expander
2791.76Sjmcneilldevice	tcagpio
2801.76Sjmcneillattach	tcagpio at iic
2811.76Sjmcneillfile	dev/i2c/tcagpio.c			tcagpio
2821.77Sjmcneill
2831.80Schristos# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor
2841.80Schristosdevice si70xxtemp
2851.80Schristosattach si70xxtemp at iic
2861.80Schristosfile dev/i2c/si70xx.c				si70xxtemp
2871.80Schristos
2881.80Schristos# Aosong AM2315 Temperature and Humidity sensor
2891.80Schristosdevice am2315temp
2901.80Schristosattach am2315temp at iic
2911.80Schristosfile dev/i2c/am2315.c				am2315temp
2921.80Schristos
2931.77Sjmcneill# Silergy SY8106A regulator
2941.77Sjmcneilldevice	sy8106a
2951.77Sjmcneillattach	sy8106a at iic
2961.77Sjmcneillfile	dev/i2c/sy8106a.c			sy8106a
2971.79Sbouyer
2981.82Smacallan# Maxim DS1631 High-Precision Digital Thermometer and Thermostat
2991.82Smacallandevice	dstemp: sysmon_envsys
3001.82Smacallanattach	dstemp at iic
3011.82Smacallanfile	dev/i2c/dstemp.c			dstemp
3021.82Smacallan
3031.81Suwe# EM3027 Real Time Clock and Temperature Sensor
3041.81Suwedevice	em3027rtc: sysmon_envsys
3051.81Suweattach	em3027rtc at iic
3061.81Suwefile	dev/i2c/em3027.c			em3027rtc
3071.81Suwe
3081.86Smacallan# Analog Devices AD7417 thermometer and ADC
3091.86Smacallandevice	adadc: sysmon_envsys
3101.86Smacallanattach	adadc at iic
3111.86Smacallanfile	dev/i2c/adadc.c				adadc
3121.86Smacallan
3131.111Smacallan# Apple Sudden Motion Sensor
3141.111Smacallandevice	asms: sysmon_envsys
3151.111Smacallanattach	asms at iic
3161.111Smacallanfile	dev/i2c/asms.c				asms
3171.111Smacallan
3181.79Sbouyer# HID over i2c
3191.79Sbouyer# HID "bus"
3201.79Sbouyerdefine  ihidbus {[ reportid = -1 ]}
3211.79Sbouyer
3221.79Sbouyer# HID root device for multiple report IDs
3231.79Sbouyerdevice  ihidev: hid, ihidbus
3241.79Sbouyerattach  ihidev at iic
3251.79Sbouyerfile    dev/i2c/ihidev.c			ihidev
3261.79Sbouyer
3271.79Sbouyer#HID mice
3281.79Sbouyerdevice	ims: hid, hidms, wsmousedev
3291.79Sbouyerattach	ims at ihidbus
3301.79Sbouyerfile	dev/i2c/ims.c				ims
3311.79Sbouyer
3321.79Sbouyer#HID multitouch
3331.79Sbouyerdevice	imt: hid, hidmt, wsmousedev
3341.79Sbouyerattach	imt at ihidbus
3351.79Sbouyerfile	dev/i2c/imt.c				imt
3361.92Sthorpej
3371.92Sthorpej# Taos TSL256x ambient light sensor
3381.92Sthorpejdevice	tsllux: sysmon_envsys
3391.92Sthorpejattach	tsllux at iic
3401.115Sthorpejfile	dev/i2c/tsllux.c			tsllux
3411.94Srkujawa
3421.94Srkujawa# Philips/NXP TEA5767 
3431.94Srkujawadevice tea5767radio : radiodev
3441.94Srkujawaattach tea5767radio at iic
3451.94Srkujawafile dev/i2c/tea5767.c				tea5767radio
3461.94Srkujawa
3471.95Sjmcneill# Fairchild FAN53555 / Silergy SY82x regulator
3481.95Sjmcneilldevice	fan53555reg
3491.95Sjmcneillattach	fan53555reg at iic
3501.95Sjmcneillfile	dev/i2c/fan53555.c			fan53555reg
3511.96Sjmcneill
3521.96Sjmcneill# Rockchip Power Management IC
3531.96Sjmcneilldevice	rkpmic { }
3541.96Sjmcneilldevice	rkreg: rkpmic
3551.96Sjmcneillattach	rkpmic at iic
3561.96Sjmcneillattach	rkreg at rkpmic
3571.96Sjmcneillfile	dev/i2c/rkpmic.c			rkpmic
3581.98Sjmcneill
3591.99Stnn# SSD1306 or SH1106 OLED/PLED display
3601.99Stnnattach	ssdfb at iic with ssdfb_iic
3611.99Stnnfile	dev/i2c/ssdfb_i2c.c			ssdfb_iic
3621.99Stnn
3631.98Sjmcneill# Analogix ANX6345 eDP transmitter
3641.98Sjmcneilldevice	anxedp: edid, videomode, drmkms, drmkms_i2c
3651.98Sjmcneillattach	anxedp at iic
3661.98Sjmcneillfile	dev/i2c/anxedp.c			anxedp
3671.100Sthorpej
3681.114Sthorpej# NXP PCA954x / PCA984x I2C switch / mux controllers
3691.114Sthorpejdevice	pcaiicmux: i2cbus, i2cmux
3701.114Sthorpejattach	pcaiicmux at iic
3711.114Sthorpejfile	dev/i2c/pcai2cmux.c			pcaiicmux
3721.114Sthorpej
3731.100Sthorpej# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller
3741.100Sthorpejdevice	pcapwm: pwm
3751.100Sthorpejattach	pcapwm at iic
3761.100Sthorpejfile	dev/i2c/pca9685.c			pcapwm
3771.102Sjmcneill
3781.102Sjmcneill# TI TWL4030 Power Management IC
3791.102Sjmcneilldevice	twl
3801.102Sjmcneillattach	twl at iic
3811.102Sjmcneillfile	dev/i2c/twl4030.c			twl
3821.104Sjmcneill
3831.104Sjmcneill# NXP TDA19988 HDMI encoder
3841.104Sjmcneilldevice	tdahdmi: edid, videomode, drmkms, drmkms_i2c
3851.104Sjmcneillattach	tdahdmi at iic
3861.104Sjmcneillfile	dev/i2c/tda19988.c			tdahdmi
3871.105Sjmcneill
3881.105Sjmcneill# Everest Semi ES8316 Low Power Audio CODEC
3891.105Sjmcneilldevice	es8316ac
3901.105Sjmcneillattach	es8316ac at iic
3911.105Sjmcneillfile	dev/i2c/es8316ac.c			es8316ac
3921.107Sjmcneill
3931.107Sjmcneill# CellWise CW2015 Fuel Gauge IC
3941.107Sjmcneilldevice	cwfg: sysmon_envsys
3951.107Sjmcneillattach	cwfg at iic
3961.107Sjmcneillfile	dev/i2c/cwfg.c				cwfg
3971.109Smacallan
3981.119Sbrad# Sensirion SHT30/SHT31/SHT35 Temperature and Humidity sensor
3991.119Sbraddevice sht3xtemp
4001.119Sbradattach sht3xtemp at iic
4011.119Sbradfile dev/i2c/sht3x.c				sht3xtemp
4021.119Sbrad
4031.117Sbrad# Sensirion SHT40/SHT41/SHT45 Temperature and Humidity sensor
4041.117Sbraddevice sht4xtemp
4051.117Sbradattach sht4xtemp at iic
4061.117Sbradfile dev/i2c/sht4x.c				sht4xtemp
4071.117Sbrad
4081.118Sbrad# Sensirion SGP40 MOx gas sensor
4091.118Sbraddevice sgp40mox
4101.118Sbradattach sgp40mox at iic
4111.118Sbradfile dev/i2c/sgp40.c				sgp40mox
4121.118Sbradfile dev/i2c/sensirion_voc_algorithm.c		sgp40mox
4131.118Sbrad
4141.109Smacallan# Philips PCA955x GPIO
4151.110Smacallandevice	pcagpio: leds
4161.109Smacallanattach	pcagpio at iic
4171.109Smacallanfile	dev/i2c/pcagpio.c			pcagpio
4181.112Sjdc
4191.112Sjdc# Philips PCF8574 IO expander
4201.112Sjdcdevice	pcf8574io: leds, sysmon_envsys
4211.112Sjdcattach	pcf8574io at iic
4221.112Sjdcfile	dev/i2c/pcf8574.c			pcf8574io
4231.120Sbrad
4241.120Sbrad# Sparkfun Serial motor controller
4251.120Sbradattach  scmd at iic with scmdi2c
4261.120Sbradfile	dev/i2c/scmdi2c.c			scmdi2c
427