files.i2c revision 1.112
1#	$NetBSD: files.i2c,v 1.112 2020/10/29 06:55:51 jdc Exp $
2
3obsolete defflag	opt_i2cbus.h		I2C_SCAN
4define	i2cbus { }
5define	i2cexec
6
7device	iic { [addr = -1] } : i2c_bitbang
8attach	iic at i2cbus
9file	dev/i2c/i2c.c				iic
10file	dev/i2c/i2c_exec.c			iic | i2cbus | i2cexec
11file	dev/i2c/i2c_subr.c			i2cbus
12defparam opt_i2c.h				I2C_MAX_ADDR
13
14# Common module for bit-bang'ing an I2C bus
15define	i2c_bitbang
16file	dev/i2c/i2c_bitbang.c			i2c_bitbang
17
18# Auvitek AU8522 decoder
19define	au8522: i2cexec
20file	dev/i2c/au8522.c			au8522
21
22# LG DT3303 decoder
23define	lg3303: i2cexec, dtv_math
24file	dev/i2c/lg3303.c			lg3303
25
26# Xceive XC3028 tuner
27define	xc3028: i2cexec, firmload
28file	dev/i2c/xc3028.c			xc3028
29
30# Xceive XC5000 tuner
31define	xc5k: i2cexec, firmload
32file	dev/i2c/xc5k.c				xc5k
33
34# Generic PLL-based tuners
35define	tvpll: i2cexec
36file	dev/i2c/tvpll.c				tvpll
37file	dev/i2c/tvpll_tuners.c			tvpll
38
39# Nextwave NXT200x demodulator
40define	nxt2k: i2cexec, firmload
41file	dev/i2c/nxt2k.c				nxt2k
42
43# Microtune MT2131 silicon tuner
44define	mt2131: i2cexec
45file	dev/i2c/mt2131.c			mt2131
46
47# Conexant/Samsung CX24227/S5H1409 demodulator
48define	cx24227: i2cexec
49file	dev/i2c/cx24227.c			cx24227
50
51#
52# I2C master devices
53#
54define	motoi2c
55file	dev/i2c/motoi2c.c			motoi2c
56define	mvi2c
57file	dev/i2c/gttwsi_core.c			mvi2c
58
59#
60# I2C client devices
61#
62
63# M41T00 Real Time Clock
64device	m41trtc
65attach	m41trtc at iic
66file	dev/i2c/m41t00.c			m41trtc
67
68# M41ST84 Real Time Clock
69device	strtc
70attach	strtc at iic
71file	dev/i2c/m41st84.c			strtc
72
73# MAX6900 Real Time Clock
74device	maxrtc
75attach	maxrtc at iic
76file	dev/i2c/max6900.c			maxrtc
77
78# NXP/Philips PCF8563 Real Time Clock
79device	pcf8563rtc
80attach	pcf8563rtc at iic
81file	dev/i2c/pcf8563.c			pcf8563rtc
82
83# Philips PCF8583 Real Time Clock
84device	pcfrtc
85attach	pcfrtc at iic
86file	dev/i2c/pcf8583.c			pcfrtc
87
88# Seiko Instruments S-xx390A Real Time Clock
89device	s390rtc
90attach	s390rtc at iic
91file	dev/i2c/s390.c				s390rtc
92
93# Atmel/Microchip 24Cxx Serial EEPROM
94define	at24cxx_eeprom
95device	seeprom
96attach	seeprom at iic
97file	dev/i2c/at24cxx.c			seeprom | at24cxx_eeprom
98						    needs-flag
99
100# National Semiconductor LM75 temperature sensor
101device	lmtemp: sysmon_envsys
102attach	lmtemp at iic
103file	dev/i2c/lm75.c				lmtemp
104
105# IST-AG Humidity and Teperature sensor (P14)
106device	hythygtemp: sysmon_envsys
107attach	hythygtemp at iic
108file	dev/i2c/hytp14.c			hythygtemp
109
110# National Semiconductor LM78 temp sensor/fan controller
111attach	lm at iic with lm_iic
112file	dev/i2c/lm_i2c.c			lm_iic
113
114# National Semiconductor LM87 and clones system hardware monitor
115device	lmenv: sysmon_envsys
116attach	lmenv at iic
117file	dev/i2c/lm87.c				lmenv
118
119# Dallas DS1307 Real Time Clock
120device	dsrtc: sysmon_envsys
121attach	dsrtc at iic
122file	dev/i2c/ds1307.c			dsrtc
123defflag opt_dsrtc.h				DSRTC_YEAR_START_2K
124
125# Xicor X1226 Real Time Clock
126device	xrtc
127attach	xrtc at iic
128file	dev/i2c/x1226.c				xrtc
129
130# Analog Devices dBCool family of thermal monitors / fan controllers
131device dbcool: sysmon_envsys
132attach dbcool at iic
133file dev/i2c/dbcool.c			dbcool
134
135# RICOH RS5C372[AB] Real Time Clock
136device	rs5c372rtc
137attach	rs5c372rtc at iic
138file	dev/i2c/rs5c372.c		rs5c372rtc
139
140# RICOH R2025S/D Real Time Clock
141device	r2025rtc
142attach	r2025rtc at iic
143file	dev/i2c/r2025.c			r2025rtc
144
145# VESA Display Data Channel 2
146device	ddc
147define	ddc_read_edid
148attach	ddc at iic
149file	dev/i2c/ddc.c			ddc | ddc_read_edid
150
151# SGS TDA7433 audio mixer
152device	sgsmix
153attach	sgsmix at iic
154file	dev/i2c/sgsmix.c		sgsmix needs-flag
155defflag	opt_sgsmix.h	SGSMIX_DEBUG
156
157# Memory Serial Presence Detect
158attach	spdmem at iic with spdmem_iic
159file	dev/i2c/spdmem_i2c.c		spdmem_iic
160
161# Memory Temp Sensor
162device	sdtemp: sysmon_envsys
163attach	sdtemp at iic
164file	dev/i2c/sdtemp.c		sdtemp
165
166# DS1672 Real Time Clock
167device	ds1672rtc
168attach	ds1672rtc at iic
169file	dev/i2c/ds1672.c		ds1672rtc
170
171# ADM1021
172device	admtemp: sysmon_envsys
173attach	admtemp at iic
174file	dev/i2c/adm1021.c		admtemp
175
176# ADM1026 hardware monitor
177device	adm1026hm: sysmon_envsys
178attach	adm1026hm at iic
179file	dev/i2c/adm1026.c		adm1026hm
180
181# SMSC LPC47M192 hardware monitor
182device	smscmon: sysmon_envsys
183attach	smscmon at iic
184file	dev/i2c/smscmon.c		smscmon
185
186# G760a FAN controller
187device	g760a: sysmon_envsys
188attach	g760a at iic
189file	dev/i2c/g760a.c			g760a
190
191# IBM Hawk Integrated Systems Management Processor
192device	ibmhawk: sysmon_envsys
193attach	ibmhawk at iic
194file	dev/i2c/ibmhawk.c		ibmhawk
195
196# TI TPS65217
197device	tps65217pmic { }: sysmon_envsys
198device	tps65217reg: tps65217pmic
199attach	tps65217pmic at iic
200attach	tps65217reg at tps65217pmic
201file	dev/i2c/tps65217pmic.c 		tps65217pmic	needs-flag
202
203# Microchip MCP980x
204device	mcp980x: sysmon_envsys
205attach	mcp980x at iic
206file	dev/i2c/mcp980x.c 		mcp980x
207
208# Nuvoton W83795G/ADG Hardware Monitor
209device	w83795g: gpiobus, sysmon_envsys, sysmon_wdog
210attach	w83795g at iic
211file	dev/i2c/w83795g.c 		w83795g
212
213# Freescale MPL115A2
214device  mpl115a: sysmon_envsys
215attach  mpl115a at iic
216file    dev/i2c/mpl115a.c		mpl115a
217
218# AXP20x Power Management Unit
219device	axp20x { }: sysmon_envsys
220device	axp20xreg: axp20x
221attach	axp20x at iic
222attach	axp20xreg at axp20x
223file	dev/i2c/axp20x.c			axp20x		needs-flag
224
225# AXP22x Power Management Unit
226device	axp22x: sysmon_envsys
227attach	axp22x at iic
228file	dev/i2c/axp22x.c			axp22x
229
230# X-Powers AXP Power Management IC
231device	axppmic { }: sysmon_envsys, sysmon_taskq
232device	axpreg: axppmic
233attach	axppmic at iic
234attach	axpreg at axppmic
235file	dev/i2c/axppmic.c			axppmic
236
237# AXP809 Power Management Unit
238device	axp809pm
239attach	axp809pm at iic
240file	dev/i2c/axp809.c			axp809pm	needs-flag
241
242# AC100 integrated audio codec and RTC
243device	ac100ic
244attach	ac100ic at iic
245file	dev/i2c/ac100.c				ac100ic		needs-flag
246
247# ACT8846 Power Management Unit
248device	act8846pm
249attach	act8846pm at iic
250file	dev/i2c/act8846.c			act8846pm	needs-flag
251
252# Texas Instruments TMP451 Temperature Sensor
253device	titemp: sysmon_envsys
254attach	titemp at iic
255file	dev/i2c/titemp.c			titemp
256
257# AMS AS3722 Power Management IC
258device	as3722pmic { }: sysmon_wdog
259device	as3722reg: as3722pmic
260attach	as3722pmic at iic
261attach	as3722reg at as3722pmic
262file	dev/i2c/as3722.c			as3722pmic	needs-flag
263
264# Texas Instruments TCA8418 Keypad Scan IC
265device	tcakp: wskbddev, linux_keymap
266attach	tcakp at iic
267file	dev/i2c/tcakp.c				tcakp
268
269# MAXIM MAX77620 Power Management IC
270device	max77620pmic
271attach	max77620pmic at iic
272file	dev/i2c/max77620.c			max77620pmic
273
274# Texas Instruments TCA9539 I/O Expander
275device	tcagpio
276attach	tcagpio at iic
277file	dev/i2c/tcagpio.c			tcagpio
278
279# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor
280device si70xxtemp
281attach si70xxtemp at iic
282file dev/i2c/si70xx.c				si70xxtemp
283
284# Aosong AM2315 Temperature and Humidity sensor
285device am2315temp
286attach am2315temp at iic
287file dev/i2c/am2315.c				am2315temp
288
289# Silergy SY8106A regulator
290device	sy8106a
291attach	sy8106a at iic
292file	dev/i2c/sy8106a.c			sy8106a
293
294# Maxim DS1631 High-Precision Digital Thermometer and Thermostat
295device	dstemp: sysmon_envsys
296attach	dstemp at iic
297file	dev/i2c/dstemp.c			dstemp
298
299# EM3027 Real Time Clock and Temperature Sensor
300device	em3027rtc: sysmon_envsys
301attach	em3027rtc at iic
302file	dev/i2c/em3027.c			em3027rtc
303
304# Apple Fan Control Unit found in some G5
305device	fcu: sysmon_envsys
306attach	fcu at iic
307file	dev/i2c/fcu.c				fcu	needs-flag
308
309# Analog Devices AD7417 thermometer and ADC
310device	adadc: sysmon_envsys
311attach	adadc at iic
312file	dev/i2c/adadc.c				adadc
313
314# Apple Sudden Motion Sensor
315device	asms: sysmon_envsys
316attach	asms at iic
317file	dev/i2c/asms.c				asms
318
319# HID over i2c
320# HID "bus"
321define  ihidbus {[ reportid = -1 ]}
322
323# HID root device for multiple report IDs
324device  ihidev: hid, ihidbus
325attach  ihidev at iic
326file    dev/i2c/ihidev.c			ihidev
327
328#HID mice
329device	ims: hid, hidms, wsmousedev
330attach	ims at ihidbus
331file	dev/i2c/ims.c				ims
332
333#HID multitouch
334device	imt: hid, hidmt, wsmousedev
335attach	imt at ihidbus
336file	dev/i2c/imt.c				imt
337
338# Taos TSL256x ambient light sensor
339device	tsllux: sysmon_envsys
340attach	tsllux at iic
341file	dev/i2c/tsl256x.c			tsllux
342
343# Philips/NXP TEA5767 
344device tea5767radio : radiodev
345attach tea5767radio at iic
346file dev/i2c/tea5767.c				tea5767radio
347
348# Fairchild FAN53555 / Silergy SY82x regulator
349device	fan53555reg
350attach	fan53555reg at iic
351file	dev/i2c/fan53555.c			fan53555reg
352
353# Rockchip Power Management IC
354device	rkpmic { }
355device	rkreg: rkpmic
356attach	rkpmic at iic
357attach	rkreg at rkpmic
358file	dev/i2c/rkpmic.c			rkpmic
359
360# SSD1306 or SH1106 OLED/PLED display
361attach	ssdfb at iic with ssdfb_iic
362file	dev/i2c/ssdfb_i2c.c			ssdfb_iic
363
364# Analogix ANX6345 eDP transmitter
365device	anxedp: edid, videomode, drmkms, drmkms_i2c
366attach	anxedp at iic
367file	dev/i2c/anxedp.c			anxedp
368
369# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller
370device	pcapwm: pwm
371attach	pcapwm at iic
372file	dev/i2c/pca9685.c			pcapwm
373
374# TI TWL4030 Power Management IC
375device	twl
376attach	twl at iic
377file	dev/i2c/twl4030.c			twl
378
379# NXP TDA19988 HDMI encoder
380device	tdahdmi: edid, videomode, drmkms, drmkms_i2c
381attach	tdahdmi at iic
382file	dev/i2c/tda19988.c			tdahdmi
383
384# Everest Semi ES8316 Low Power Audio CODEC
385device	es8316ac
386attach	es8316ac at iic
387file	dev/i2c/es8316ac.c			es8316ac
388
389# CellWise CW2015 Fuel Gauge IC
390device	cwfg: sysmon_envsys
391attach	cwfg at iic
392file	dev/i2c/cwfg.c				cwfg
393
394# Philips PCA955x GPIO
395device	pcagpio: leds
396attach	pcagpio at iic
397file	dev/i2c/pcagpio.c			pcagpio
398
399# Philips PCF8574 IO expander
400device	pcf8574io: leds, sysmon_envsys
401attach	pcf8574io at iic
402file	dev/i2c/pcf8574.c			pcf8574io
403