files.i2c revision 1.107
11.107Sjmcneill#	$NetBSD: files.i2c,v 1.107 2020/01/03 18:00:05 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.1Sthorpej
741.1Sthorpej# MAX6900 Real Time Clock
751.1Sthorpejdevice	maxrtc
761.1Sthorpejattach	maxrtc at iic
771.1Sthorpejfile	dev/i2c/max6900.c			maxrtc
781.1Sthorpej
791.32Sjakllsch# NXP/Philips PCF8563 Real Time Clock
801.32Sjakllschdevice	pcf8563rtc
811.32Sjakllschattach	pcf8563rtc at iic
821.32Sjakllschfile	dev/i2c/pcf8563.c			pcf8563rtc
831.32Sjakllsch
841.1Sthorpej# Philips PCF8583 Real Time Clock
851.1Sthorpejdevice	pcfrtc
861.1Sthorpejattach	pcfrtc at iic
871.1Sthorpejfile	dev/i2c/pcf8583.c			pcfrtc
881.1Sthorpej
891.34Sphx# Seiko Instruments S-xx390A Real Time Clock
901.34Sphxdevice	s390rtc
911.34Sphxattach	s390rtc at iic
921.34Sphxfile	dev/i2c/s390.c				s390rtc
931.34Sphx
941.1Sthorpej# Atmel/Microchip 24Cxx Serial EEPROM
951.1Sthorpejdefine	at24cxx_eeprom
961.1Sthorpejdevice	seeprom
971.1Sthorpejattach	seeprom at iic
981.1Sthorpejfile	dev/i2c/at24cxx.c			seeprom | at24cxx_eeprom
991.1Sthorpej						    needs-flag
1001.1Sthorpej
1011.1Sthorpej# National Semiconductor LM75 temperature sensor
1021.1Sthorpejdevice	lmtemp: sysmon_envsys
1031.1Sthorpejattach	lmtemp at iic
1041.1Sthorpejfile	dev/i2c/lm75.c				lmtemp
1051.1Sthorpej
1061.54Skardel# IST-AG Humidity and Teperature sensor (P14)
1071.54Skardeldevice	hythygtemp: sysmon_envsys
1081.54Skardelattach	hythygtemp at iic
1091.54Skardelfile	dev/i2c/hytp14.c			hythygtemp
1101.54Skardel
1111.21Spgoyette# National Semiconductor LM78 temp sensor/fan controller
1121.21Spgoyetteattach	lm at iic with lm_iic
1131.21Spgoyettefile	dev/i2c/lm_i2c.c			lm_iic
1141.21Spgoyette
1151.53Sjdc# National Semiconductor LM87 and clones system hardware monitor
1161.53Sjdcdevice	lmenv: sysmon_envsys
1171.53Sjdcattach	lmenv at iic
1181.53Sjdcfile	dev/i2c/lm87.c				lmenv
1191.53Sjdc
1201.1Sthorpej# Dallas DS1307 Real Time Clock
1211.58Suebayasidevice	dsrtc: sysmon_envsys
1221.1Sthorpejattach	dsrtc at iic
1231.1Sthorpejfile	dev/i2c/ds1307.c			dsrtc
1241.97Smacallandefflag opt_dsrtc.h				DSRTC_YEAR_START_2K
1251.2Sshige
1261.2Sshige# Xicor X1226 Real Time Clock
1271.2Sshigedevice	xrtc
1281.2Sshigeattach	xrtc at iic
1291.2Sshigefile	dev/i2c/x1226.c				xrtc
1301.4Smacallan
1311.19Spgoyette# Analog Devices dBCool family of thermal monitors / fan controllers
1321.19Spgoyettedevice dbcool: sysmon_envsys
1331.19Spgoyetteattach dbcool at iic
1341.19Spgoyettefile dev/i2c/dbcool.c			dbcool
1351.19Spgoyette
1361.5Snonaka# RICOH RS5C372[AB] Real Time Clock
1371.5Snonakadevice	rs5c372rtc
1381.5Snonakaattach	rs5c372rtc at iic
1391.5Snonakafile	dev/i2c/rs5c372.c		rs5c372rtc
1401.8Sshige
1411.8Sshige# RICOH R2025S/D Real Time Clock
1421.8Sshigedevice	r2025rtc
1431.8Sshigeattach	r2025rtc at iic
1441.8Sshigefile	dev/i2c/r2025.c			r2025rtc
1451.9Sgdamore
1461.9Sgdamore# VESA Display Data Channel 2
1471.9Sgdamoredevice	ddc
1481.10Sgdamoredefine	ddc_read_edid
1491.9Sgdamoreattach	ddc at iic
1501.10Sgdamorefile	dev/i2c/ddc.c			ddc | ddc_read_edid
1511.11Sjmcneill
1521.14Smacallan# SGS TDA7433 audio mixer
1531.16Smacallandevice	sgsmix
1541.16Smacallanattach	sgsmix at iic
1551.14Smacallanfile	dev/i2c/sgsmix.c		sgsmix needs-flag
1561.16Smacallandefflag	opt_sgsmix.h	SGSMIX_DEBUG
1571.14Smacallan
1581.15Stnn# Memory Serial Presence Detect
1591.27Spgoyetteattach	spdmem at iic with spdmem_iic
1601.27Spgoyettefile	dev/i2c/spdmem_i2c.c		spdmem_iic
1611.22Sjkunz
1621.24Spgoyette# Memory Temp Sensor
1631.25Spgoyettedevice	sdtemp: sysmon_envsys
1641.24Spgoyetteattach	sdtemp at iic
1651.24Spgoyettefile	dev/i2c/sdtemp.c		sdtemp
1661.24Spgoyette
1671.51Smatt# DS1672 Real Time Clock
1681.51Smattdevice	ds1672rtc
1691.51Smattattach	ds1672rtc at iic
1701.51Smattfile	dev/i2c/ds1672.c		ds1672rtc
1711.51Smatt
1721.22Sjkunz# ADM1021
1731.23Snakayamadevice	admtemp: sysmon_envsys
1741.22Sjkunzattach	admtemp at iic
1751.22Sjkunzfile	dev/i2c/adm1021.c		admtemp
1761.26Spgoyette
1771.69Sjdc# ADM1026 hardware monitor
1781.69Sjdcdevice	adm1026hm: sysmon_envsys
1791.69Sjdcattach	adm1026hm at iic
1801.69Sjdcfile	dev/i2c/adm1026.c		adm1026hm
1811.69Sjdc
1821.26Spgoyette# SMSC LPC47M192 hardware monitor
1831.26Spgoyettedevice	smscmon: sysmon_envsys
1841.26Spgoyetteattach	smscmon at iic
1851.26Spgoyettefile	dev/i2c/smscmon.c		smscmon
1861.28Skiyohara
1871.28Skiyohara# G760a FAN controller
1881.28Skiyoharadevice	g760a: sysmon_envsys
1891.28Skiyoharaattach	g760a at iic
1901.28Skiyoharafile	dev/i2c/g760a.c			g760a
1911.33Shannken
1921.33Shannken# IBM Hawk Integrated Systems Management Processor
1931.33Shannkendevice	ibmhawk: sysmon_envsys
1941.33Shannkenattach	ibmhawk at iic
1951.33Shannkenfile	dev/i2c/ibmhawk.c		ibmhawk
1961.46Sjmcneill
1971.48Srkujawa# TI TPS65217
1981.101Sjmcneilldevice	tps65217pmic { }: sysmon_envsys
1991.101Sjmcneilldevice	tps65217reg: tps65217pmic
2001.48Srkujawaattach	tps65217pmic at iic
2011.101Sjmcneillattach	tps65217reg at tps65217pmic
2021.72Skiyoharafile	dev/i2c/tps65217pmic.c 		tps65217pmic	needs-flag
2031.48Srkujawa
2041.49Srkujawa# Microchip MCP980x
2051.49Srkujawadevice	mcp980x: sysmon_envsys
2061.49Srkujawaattach	mcp980x at iic
2071.49Srkujawafile	dev/i2c/mcp980x.c 		mcp980x
2081.49Srkujawa
2091.50Ssoren# Nuvoton W83795G/ADG Hardware Monitor
2101.50Ssorendevice	w83795g: gpiobus, sysmon_envsys, sysmon_wdog
2111.50Ssorenattach	w83795g at iic
2121.50Ssorenfile	dev/i2c/w83795g.c 		w83795g
2131.52Srkujawa
2141.52Srkujawa# Freescale MPL115A2
2151.52Srkujawadevice  mpl115a: sysmon_envsys
2161.52Srkujawaattach  mpl115a at iic
2171.52Srkujawafile    dev/i2c/mpl115a.c		mpl115a
2181.52Srkujawa
2191.56Sjmcneill# AXP20x Power Management Unit
2201.78Sjmcneilldevice	axp20x { }: sysmon_envsys
2211.78Sjmcneilldevice	axp20xreg: axp20x
2221.56Sjmcneillattach	axp20x at iic
2231.78Sjmcneillattach	axp20xreg at axp20x
2241.66Sjmcneillfile	dev/i2c/axp20x.c			axp20x		needs-flag
2251.57Sjmcneill
2261.57Sjmcneill# AXP22x Power Management Unit
2271.57Sjmcneilldevice	axp22x: sysmon_envsys
2281.57Sjmcneillattach	axp22x at iic
2291.57Sjmcneillfile	dev/i2c/axp22x.c			axp22x
2301.60Sjmcneill
2311.90Sjmcneill# X-Powers AXP Power Management IC
2321.91Sjmcneilldevice	axppmic { }: sysmon_envsys, sysmon_taskq
2331.90Sjmcneilldevice	axpreg: axppmic
2341.90Sjmcneillattach	axppmic at iic
2351.90Sjmcneillattach	axpreg at axppmic
2361.90Sjmcneillfile	dev/i2c/axppmic.c			axppmic
2371.60Sjmcneill
2381.60Sjmcneill# AXP809 Power Management Unit
2391.60Sjmcneilldevice	axp809pm
2401.60Sjmcneillattach	axp809pm at iic
2411.60Sjmcneillfile	dev/i2c/axp809.c			axp809pm	needs-flag
2421.61Sjmcneill
2431.61Sjmcneill# AC100 integrated audio codec and RTC
2441.61Sjmcneilldevice	ac100ic
2451.61Sjmcneillattach	ac100ic at iic
2461.61Sjmcneillfile	dev/i2c/ac100.c				ac100ic		needs-flag
2471.62Sjmcneill
2481.62Sjmcneill# ACT8846 Power Management Unit
2491.62Sjmcneilldevice	act8846pm
2501.62Sjmcneillattach	act8846pm at iic
2511.62Sjmcneillfile	dev/i2c/act8846.c			act8846pm	needs-flag
2521.65Sjmcneill
2531.65Sjmcneill# Texas Instruments TMP451 Temperature Sensor
2541.65Sjmcneilldevice	titemp: sysmon_envsys
2551.65Sjmcneillattach	titemp at iic
2561.65Sjmcneillfile	dev/i2c/titemp.c			titemp
2571.67Sjmcneill
2581.67Sjmcneill# AMS AS3722 Power Management IC
2591.73Sjmcneilldevice	as3722pmic { }: sysmon_wdog
2601.73Sjmcneilldevice	as3722reg: as3722pmic
2611.67Sjmcneillattach	as3722pmic at iic
2621.73Sjmcneillattach	as3722reg at as3722pmic
2631.67Sjmcneillfile	dev/i2c/as3722.c			as3722pmic	needs-flag
2641.74Sjmcneill
2651.74Sjmcneill# Texas Instruments TCA8418 Keypad Scan IC
2661.75Sjmcneilldevice	tcakp: wskbddev, linux_keymap
2671.74Sjmcneillattach	tcakp at iic
2681.74Sjmcneillfile	dev/i2c/tcakp.c				tcakp
2691.76Sjmcneill
2701.76Sjmcneill# MAXIM MAX77620 Power Management IC
2711.76Sjmcneilldevice	max77620pmic
2721.76Sjmcneillattach	max77620pmic at iic
2731.76Sjmcneillfile	dev/i2c/max77620.c			max77620pmic
2741.76Sjmcneill
2751.76Sjmcneill# Texas Instruments TCA9539 I/O Expander
2761.76Sjmcneilldevice	tcagpio
2771.76Sjmcneillattach	tcagpio at iic
2781.76Sjmcneillfile	dev/i2c/tcagpio.c			tcagpio
2791.77Sjmcneill
2801.80Schristos# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor
2811.80Schristosdevice si70xxtemp
2821.80Schristosattach si70xxtemp at iic
2831.80Schristosfile dev/i2c/si70xx.c				si70xxtemp
2841.80Schristos
2851.80Schristos# Aosong AM2315 Temperature and Humidity sensor
2861.80Schristosdevice am2315temp
2871.80Schristosattach am2315temp at iic
2881.80Schristosfile dev/i2c/am2315.c				am2315temp
2891.80Schristos
2901.77Sjmcneill# Silergy SY8106A regulator
2911.77Sjmcneilldevice	sy8106a
2921.77Sjmcneillattach	sy8106a at iic
2931.77Sjmcneillfile	dev/i2c/sy8106a.c			sy8106a
2941.79Sbouyer
2951.82Smacallan# Maxim DS1631 High-Precision Digital Thermometer and Thermostat
2961.82Smacallandevice	dstemp: sysmon_envsys
2971.82Smacallanattach	dstemp at iic
2981.82Smacallanfile	dev/i2c/dstemp.c			dstemp
2991.82Smacallan
3001.81Suwe# EM3027 Real Time Clock and Temperature Sensor
3011.81Suwedevice	em3027rtc: sysmon_envsys
3021.81Suweattach	em3027rtc at iic
3031.81Suwefile	dev/i2c/em3027.c			em3027rtc
3041.81Suwe
3051.85Smacallan# Apple Fan Control Unit found in some G5
3061.85Smacallandevice	fcu: sysmon_envsys
3071.85Smacallanattach	fcu at iic
3081.87Smacallanfile	dev/i2c/fcu.c				fcu	needs-flag
3091.85Smacallan
3101.86Smacallan# Analog Devices AD7417 thermometer and ADC
3111.86Smacallandevice	adadc: sysmon_envsys
3121.86Smacallanattach	adadc at iic
3131.86Smacallanfile	dev/i2c/adadc.c				adadc
3141.86Smacallan
3151.79Sbouyer# HID over i2c
3161.79Sbouyer# HID "bus"
3171.79Sbouyerdefine  ihidbus {[ reportid = -1 ]}
3181.79Sbouyer
3191.79Sbouyer# HID root device for multiple report IDs
3201.79Sbouyerdevice  ihidev: hid, ihidbus
3211.79Sbouyerattach  ihidev at iic
3221.79Sbouyerfile    dev/i2c/ihidev.c			ihidev
3231.79Sbouyer
3241.79Sbouyer#HID mice
3251.79Sbouyerdevice	ims: hid, hidms, wsmousedev
3261.79Sbouyerattach	ims at ihidbus
3271.79Sbouyerfile	dev/i2c/ims.c				ims
3281.79Sbouyer
3291.79Sbouyer#HID multitouch
3301.79Sbouyerdevice	imt: hid, hidmt, wsmousedev
3311.79Sbouyerattach	imt at ihidbus
3321.79Sbouyerfile	dev/i2c/imt.c				imt
3331.92Sthorpej
3341.92Sthorpej# Taos TSL256x ambient light sensor
3351.92Sthorpejdevice	tsllux: sysmon_envsys
3361.92Sthorpejattach	tsllux at iic
3371.92Sthorpejfile	dev/i2c/tsl256x.c			tsllux
3381.94Srkujawa
3391.94Srkujawa# Philips/NXP TEA5767 
3401.94Srkujawadevice tea5767radio : radiodev
3411.94Srkujawaattach tea5767radio at iic
3421.94Srkujawafile dev/i2c/tea5767.c				tea5767radio
3431.94Srkujawa
3441.95Sjmcneill# Fairchild FAN53555 / Silergy SY82x regulator
3451.95Sjmcneilldevice	fan53555reg
3461.95Sjmcneillattach	fan53555reg at iic
3471.95Sjmcneillfile	dev/i2c/fan53555.c			fan53555reg
3481.96Sjmcneill
3491.96Sjmcneill# Rockchip Power Management IC
3501.96Sjmcneilldevice	rkpmic { }
3511.96Sjmcneilldevice	rkreg: rkpmic
3521.96Sjmcneillattach	rkpmic at iic
3531.96Sjmcneillattach	rkreg at rkpmic
3541.96Sjmcneillfile	dev/i2c/rkpmic.c			rkpmic
3551.98Sjmcneill
3561.99Stnn# SSD1306 or SH1106 OLED/PLED display
3571.99Stnnattach	ssdfb at iic with ssdfb_iic
3581.99Stnnfile	dev/i2c/ssdfb_i2c.c			ssdfb_iic
3591.99Stnn
3601.98Sjmcneill# Analogix ANX6345 eDP transmitter
3611.98Sjmcneilldevice	anxedp: edid, videomode, drmkms, drmkms_i2c
3621.98Sjmcneillattach	anxedp at iic
3631.98Sjmcneillfile	dev/i2c/anxedp.c			anxedp
3641.100Sthorpej
3651.100Sthorpej# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller
3661.100Sthorpejdevice	pcapwm: pwm
3671.100Sthorpejattach	pcapwm at iic
3681.100Sthorpejfile	dev/i2c/pca9685.c			pcapwm
3691.102Sjmcneill
3701.102Sjmcneill# TI TWL4030 Power Management IC
3711.102Sjmcneilldevice	twl
3721.102Sjmcneillattach	twl at iic
3731.102Sjmcneillfile	dev/i2c/twl4030.c			twl
3741.104Sjmcneill
3751.104Sjmcneill# NXP TDA19988 HDMI encoder
3761.104Sjmcneilldevice	tdahdmi: edid, videomode, drmkms, drmkms_i2c
3771.104Sjmcneillattach	tdahdmi at iic
3781.104Sjmcneillfile	dev/i2c/tda19988.c			tdahdmi
3791.105Sjmcneill
3801.105Sjmcneill# Everest Semi ES8316 Low Power Audio CODEC
3811.105Sjmcneilldevice	es8316ac
3821.105Sjmcneillattach	es8316ac at iic
3831.105Sjmcneillfile	dev/i2c/es8316ac.c			es8316ac
3841.107Sjmcneill
3851.107Sjmcneill# CellWise CW2015 Fuel Gauge IC
3861.107Sjmcneilldevice	cwfg: sysmon_envsys
3871.107Sjmcneillattach	cwfg at iic
3881.107Sjmcneillfile	dev/i2c/cwfg.c				cwfg
389