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