Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
#	$NetBSD: files.i2c,v 1.126 2022/12/03 01:04:43 brad Exp $

obsolete defflag	opt_i2cbus.h		I2C_SCAN
define	i2cbus { }
define	i2cexec

device	iic { [addr = -1] } : i2c_bitbang
attach	iic at i2cbus
file	dev/i2c/i2c.c				iic
file	dev/i2c/i2c_exec.c			iic | i2cbus | i2cexec
file	dev/i2c/i2c_subr.c			i2cbus
defparam opt_i2c.h				I2C_MAX_ADDR

# Common module for bit-bang'ing an I2C bus
define	i2c_bitbang
file	dev/i2c/i2c_bitbang.c			i2c_bitbang

# Common module for i2c mux support
define	i2cmux
file	dev/i2c/i2cmux.c			i2cmux

# Auvitek AU8522 decoder
define	au8522: i2cexec
file	dev/i2c/au8522.c			au8522

# LG DT3303 decoder
define	lg3303: i2cexec, dtv_math
file	dev/i2c/lg3303.c			lg3303

# Xceive XC3028 tuner
define	xc3028: i2cexec, firmload
file	dev/i2c/xc3028.c			xc3028

# Xceive XC5000 tuner
define	xc5k: i2cexec, firmload
file	dev/i2c/xc5k.c				xc5k

# Generic PLL-based tuners
define	tvpll: i2cexec
file	dev/i2c/tvpll.c				tvpll
file	dev/i2c/tvpll_tuners.c			tvpll

# Nextwave NXT200x demodulator
define	nxt2k: i2cexec, firmload
file	dev/i2c/nxt2k.c				nxt2k

# Microtune MT2131 silicon tuner
define	mt2131: i2cexec
file	dev/i2c/mt2131.c			mt2131

# Conexant/Samsung CX24227/S5H1409 demodulator
define	cx24227: i2cexec
file	dev/i2c/cx24227.c			cx24227

#
# I2C master devices
#
define	motoi2c
file	dev/i2c/motoi2c.c			motoi2c
define	mvi2c
file	dev/i2c/gttwsi_core.c			mvi2c

#
# I2C client devices
#

# M41T00 Real Time Clock
device	m41trtc
attach	m41trtc at iic
file	dev/i2c/m41t00.c			m41trtc

# M41ST84 Real Time Clock
device	strtc
attach	strtc at iic
file	dev/i2c/m41st84.c			strtc

# MAX6900 Real Time Clock
device	maxrtc
attach	maxrtc at iic
file	dev/i2c/max6900.c			maxrtc

# NXP/Philips PCF8563 Real Time Clock
device	pcf8563rtc
attach	pcf8563rtc at iic
file	dev/i2c/pcf8563.c			pcf8563rtc

# Philips PCF8583 Real Time Clock
device	pcfrtc
attach	pcfrtc at iic
file	dev/i2c/pcf8583.c			pcfrtc

# Seiko Instruments S-xx390A Real Time Clock
device	s390rtc
attach	s390rtc at iic
file	dev/i2c/s390.c				s390rtc

# Atmel/Microchip 24Cxx Serial EEPROM
define	at24cxx_eeprom
device	seeprom
attach	seeprom at iic
file	dev/i2c/at24cxx.c			seeprom | at24cxx_eeprom
						    needs-flag

# National Semiconductor LM75 temperature sensor
device	lmtemp: sysmon_envsys
attach	lmtemp at iic
file	dev/i2c/lm75.c				lmtemp

# IST-AG Humidity and Temperature sensor (P14)
device	hythygtemp: sysmon_envsys
attach	hythygtemp at iic
file	dev/i2c/hytp14.c			hythygtemp

# National Semiconductor LM78 temp sensor/fan controller
attach	lm at iic with lm_iic
file	dev/i2c/lm_i2c.c			lm_iic

# National Semiconductor LM87 and clones system hardware monitor
device	lmenv: sysmon_envsys
attach	lmenv at iic
file	dev/i2c/lm87.c				lmenv

# Dallas DS1307 Real Time Clock
device	dsrtc: sysmon_envsys
attach	dsrtc at iic
file	dev/i2c/ds1307.c			dsrtc
defflag opt_dsrtc.h				DSRTC_YEAR_START_2K

# Xicor X1226 Real Time Clock
device	xrtc
attach	xrtc at iic
file	dev/i2c/x1226.c				xrtc

# Analog Devices dBCool family of thermal monitors / fan controllers
device dbcool: sysmon_envsys
attach dbcool at iic
file dev/i2c/dbcool.c			dbcool

# RICOH RS5C372[AB] Real Time Clock
device	rs5c372rtc
attach	rs5c372rtc at iic
file	dev/i2c/rs5c372.c		rs5c372rtc

# RICOH R2025S/D Real Time Clock
device	r2025rtc
attach	r2025rtc at iic
file	dev/i2c/r2025.c			r2025rtc

# VESA Display Data Channel 2
device	ddc
define	ddc_read_edid
attach	ddc at iic
file	dev/i2c/ddc.c			ddc | ddc_read_edid

# SGS TDA7433 audio mixer
device	sgsmix
attach	sgsmix at iic
file	dev/i2c/sgsmix.c		sgsmix needs-flag
defflag	opt_sgsmix.h	SGSMIX_DEBUG

# Memory Serial Presence Detect
attach	spdmem at iic with spdmem_iic
file	dev/i2c/spdmem_i2c.c		spdmem_iic

# Memory Temp Sensor
device	sdtemp: sysmon_envsys
attach	sdtemp at iic
file	dev/i2c/sdtemp.c		sdtemp

# DS1672 Real Time Clock
device	ds1672rtc
attach	ds1672rtc at iic
file	dev/i2c/ds1672.c		ds1672rtc

# ADM1021
device	admtemp: sysmon_envsys
attach	admtemp at iic
file	dev/i2c/adm1021.c		admtemp

# ADM1026 hardware monitor
device	adm1026hm: sysmon_envsys
attach	adm1026hm at iic
file	dev/i2c/adm1026.c		adm1026hm

# SMSC LPC47M192 hardware monitor
device	smscmon: sysmon_envsys
attach	smscmon at iic
file	dev/i2c/smscmon.c		smscmon

# G760a FAN controller
device	g760a: sysmon_envsys
attach	g760a at iic
file	dev/i2c/g760a.c			g760a

# IBM Hawk Integrated Systems Management Processor
device	ibmhawk: sysmon_envsys
attach	ibmhawk at iic
file	dev/i2c/ibmhawk.c		ibmhawk

# TI TPS65217
device	tps65217pmic { }: sysmon_envsys
device	tps65217reg: tps65217pmic
attach	tps65217pmic at iic
attach	tps65217reg at tps65217pmic
file	dev/i2c/tps65217pmic.c 		tps65217pmic	needs-flag

# Microchip MCP23008 / MCP23017 I/O Expander
attach	mcpgpio at iic with mcpgpio_i2c
file	dev/i2c/mcp23xxxgpio_i2c.c	mcpgpio_i2c

# Microchip MCP980x
device	mcp980x: sysmon_envsys
attach	mcp980x at iic
file	dev/i2c/mcp980x.c 		mcp980x

# Nuvoton W83795G/ADG Hardware Monitor
device	w83795g: gpiobus, sysmon_envsys, sysmon_wdog
attach	w83795g at iic
file	dev/i2c/w83795g.c 		w83795g

# Freescale MPL115A2
device  mpl115a: sysmon_envsys
attach  mpl115a at iic
file    dev/i2c/mpl115a.c		mpl115a

# AXP20x Power Management Unit
device	axp20x { }: sysmon_envsys
device	axp20xreg: axp20x
attach	axp20x at iic
attach	axp20xreg at axp20x
file	dev/i2c/axp20x.c			axp20x		needs-flag

# AXP22x Power Management Unit
device	axp22x: sysmon_envsys
attach	axp22x at iic
file	dev/i2c/axp22x.c			axp22x

# X-Powers AXP Power Management IC
device	axppmic { }: sysmon_envsys, sysmon_taskq
device	axpreg: axppmic
attach	axppmic at iic
attach	axpreg at axppmic
file	dev/i2c/axppmic.c			axppmic

# AXP809 Power Management Unit
device	axp809pm
attach	axp809pm at iic
file	dev/i2c/axp809.c			axp809pm	needs-flag

# AC100 integrated audio codec and RTC
device	ac100ic
attach	ac100ic at iic
file	dev/i2c/ac100.c				ac100ic		needs-flag

# ACT8846 Power Management Unit
device	act8846pm
attach	act8846pm at iic
file	dev/i2c/act8846.c			act8846pm	needs-flag

# Texas Instruments TMP451 Temperature Sensor
device	titemp: sysmon_envsys
attach	titemp at iic
file	dev/i2c/titemp.c			titemp

# AMS AS3722 Power Management IC
device	as3722pmic { }: sysmon_wdog
device	as3722reg: as3722pmic
attach	as3722pmic at iic
attach	as3722reg at as3722pmic
file	dev/i2c/as3722.c			as3722pmic	needs-flag

# Texas Instruments TCA8418 Keypad Scan IC
device	tcakp: wskbddev, linux_keymap
attach	tcakp at iic
file	dev/i2c/tcakp.c				tcakp

# MAXIM MAX77620 Power Management IC
device	max77620pmic
attach	max77620pmic at iic
file	dev/i2c/max77620.c			max77620pmic

# Texas Instruments TCA9539 I/O Expander
device	tcagpio
attach	tcagpio at iic
file	dev/i2c/tcagpio.c			tcagpio

# Silicon Lab SI7013/SI7020/SI7021 Temperature and Humidity sensor
device si70xxtemp
attach si70xxtemp at iic
file dev/i2c/si70xx.c				si70xxtemp

# Aosong AM2315 Temperature and Humidity sensor
device am2315temp
attach am2315temp at iic
file dev/i2c/am2315.c				am2315temp

# Silergy SY8106A regulator
device	sy8106a
attach	sy8106a at iic
file	dev/i2c/sy8106a.c			sy8106a

# Maxim DS1631 High-Precision Digital Thermometer and Thermostat
device	dstemp: sysmon_envsys
attach	dstemp at iic
file	dev/i2c/dstemp.c			dstemp

# EM3027 Real Time Clock and Temperature Sensor
device	em3027rtc: sysmon_envsys
attach	em3027rtc at iic
file	dev/i2c/em3027.c			em3027rtc

# Analog Devices AD7417 thermometer and ADC
device	adadc: sysmon_envsys
attach	adadc at iic
file	dev/i2c/adadc.c				adadc

# Apple Sudden Motion Sensor
device	asms: sysmon_envsys
attach	asms at iic
file	dev/i2c/asms.c				asms

# HID over i2c
# HID "bus"
define  ihidbus {[ reportid = -1 ]}

# HID root device for multiple report IDs
device  ihidev: hid, ihidbus
attach  ihidev at iic
file    dev/i2c/ihidev.c			ihidev

#HID mice
device	ims: hid, hidms, wsmousedev
attach	ims at ihidbus
file	dev/i2c/ims.c				ims

#HID multitouch
device	imt: hid, hidmt, wsmousedev
attach	imt at ihidbus
file	dev/i2c/imt.c				imt

# Taos TSL256x ambient light sensor
device	tsllux: sysmon_envsys
attach	tsllux at iic
file	dev/i2c/tsllux.c			tsllux

# Philips/NXP TEA5767 
device tea5767radio : radiodev
attach tea5767radio at iic
file dev/i2c/tea5767.c				tea5767radio

# Fairchild FAN53555 / Silergy SY82x regulator
device	fan53555reg
attach	fan53555reg at iic
file	dev/i2c/fan53555.c			fan53555reg

# Rockchip Power Management IC
device	rkpmic { }
device	rkreg: rkpmic
attach	rkpmic at iic
attach	rkreg at rkpmic
file	dev/i2c/rkpmic.c			rkpmic

# SSD1306 or SH1106 OLED/PLED display
attach	ssdfb at iic with ssdfb_iic
file	dev/i2c/ssdfb_i2c.c			ssdfb_iic

# Analogix ANX6345 eDP transmitter
device	anxedp: edid, videomode, drmkms, drmkms_i2c
attach	anxedp at iic
file	dev/i2c/anxedp.c			anxedp
makeoptions	anxedp	"CPPFLAGS.anxedp"+="${CPPFLAGS.drmkms}"

# NXP PCA954x / PCA984x I2C switch / mux controllers
device	pcaiicmux: i2cbus, i2cmux
attach	pcaiicmux at iic
file	dev/i2c/pcai2cmux.c			pcaiicmux

# NXP PCA9685 16-channel, 12-bit PWM Fm+ LED controller
device	pcapwm: pwm
attach	pcapwm at iic
file	dev/i2c/pca9685.c			pcapwm

# TI TWL4030 Power Management IC
device	twl
attach	twl at iic
file	dev/i2c/twl4030.c			twl

# NXP TDA19988 HDMI encoder
device	tdahdmi: edid, videomode, drmkms, drmkms_i2c
attach	tdahdmi at iic
file	dev/i2c/tda19988.c			tdahdmi
makeoptions	tdahdmi	"CPPFLAGS.tdahdmi"+="${CPPFLAGS.drmkms}"

# Everest Semi ES8316 Low Power Audio CODEC
device	es8316ac
attach	es8316ac at iic
file	dev/i2c/es8316ac.c			es8316ac

# CellWise CW2015 Fuel Gauge IC
device	cwfg: sysmon_envsys
attach	cwfg at iic
file	dev/i2c/cwfg.c				cwfg

# Sensirion SHT30/SHT31/SHT35 Temperature and Humidity sensor
device sht3xtemp
attach sht3xtemp at iic
file dev/i2c/sht3x.c				sht3xtemp

# Sensirion SHT40/SHT41/SHT45 Temperature and Humidity sensor
device sht4xtemp
attach sht4xtemp at iic
file dev/i2c/sht4x.c				sht4xtemp

# Sensirion SGP40 MOx gas sensor
device sgp40mox
attach sgp40mox at iic
file dev/i2c/sgp40.c				sgp40mox
file dev/i2c/sensirion_voc_algorithm.c		sgp40mox

# Philips PCA955x GPIO
device	pcagpio: leds
attach	pcagpio at iic
file	dev/i2c/pcagpio.c			pcagpio

# Philips PCF8574 IO expander
device	pcf8574io: leds, sysmon_envsys
attach	pcf8574io at iic
file	dev/i2c/pcf8574.c			pcf8574io

# Sparkfun Serial motor controller
attach  scmd at iic with scmdi2c
file	dev/i2c/scmdi2c.c			scmdi2c

# Aosong AHT20 Temperature and Humidity sensor
device aht20temp
attach aht20temp at iic
file dev/i2c/aht20.c				aht20temp

# Bosch Sensortec BMP280/BME280 Temperature, Humidity and Pressure sensor
attach	bmx280thp at iic with bmx280thpi2c
file dev/i2c/bmx280thpi2c.c			bmx280thpi2c