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
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
#
#	$NetBSD: GENERIC64,v 1.211 2023/04/16 16:55:01 jmcneill Exp $
#
#	GENERIC ARM (aarch64) kernel
#

include	"arch/evbarm/conf/std.generic64"
include "arch/evbarm/conf/files.generic64"
include	"arch/evbarm/conf/GENERIC.common"

maxusers	64

options 	CPU_CORTEX
options 	CPU_THUNDERX
options 	SOC_APPLE
options 	SOC_BCM2837
options 	SOC_MESONG12
options 	SOC_MESONGXBB
options 	SOC_MESONGXL
options 	SOC_RK3328
options 	SOC_RK3399
options 	SOC_RK3588
options 	SOC_SUN50I_A64
options 	SOC_SUN50I_H5
options 	SOC_SUN50I_H6
options 	SOC_TEGRA210
options 	MULTIPROCESSOR

pseudo-device 	openfirm	# /dev/openfirm

#options 	DIAGNOSTIC	# internal consistency checks
#options 	DEBUG
#options 	LOCKDEBUG
#options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
options 	INCLUDE_CONFIG_FILE
#options 	UVMHIST		# kernhist for uvm/pmap subsystems
#options 	UVMHIST_PRINT,KERNHIST_DELAY=0
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space

# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.
#options 	EARLYCONS=bcm2837, CONSADDR=0x3f215040
#options 	EARLYCONS=bcm2711, CONSADDR=0xfe215040
#options 	EARLYCONS=meson, CONSADDR=0xc81004c0
#options 	EARLYCONS=rk3328, CONSADDR=0xff130000
#options 	EARLYCONS=rk3399, CONSADDR=0xff1a0000
#options 	EARLYCONS=rk3588, CONSADDR=0xfeb50000
#options 	EARLYCONS=sunxi, CONSADDR=0x01c28000
#options 	EARLYCONS=tegra, CONSADDR=0x70006000
#options 	EARLYCONS=thunderx, CONSADDR=0x87e024000000

# The QEMU virt machine
#options 	EARLYCONS=plcom, CONSADDR=0x09000000

# Hardware management of the Access flag and dirty state (HAFDBS).
options 	ARMV81_HAFDBS

# Privileged Access Never (PAN).
options 	ARMV81_PAN

# Pointer Authentication (PAC).
#makeoptions 	ARMV83_PAC=1
#options 	ARMV83_PAC

# Branch Target Identification (BTI).
#makeoptions 	ARMV85_BTI=1
#options 	ARMV85_BTI

# Kernel Undefined Behavior Sanitizer (kUBSan). Use UBSAN_ALWAYS_FATAL
# if you want panics instead of warnings.
#options 	KUBSAN			# mandatory
#options 	UBSAN_ALWAYS_FATAL	# optional

# Kernel Address Sanitizer (kASan). The quarantine is optional and can
# help KASAN find more use-after-frees. Use KASAN_PANIC if you want panics
# instead of warnings.
#makeoptions 	KASAN=1		# mandatory
#options 	KASAN		# mandatory
#options 	POOL_QUARANTINE	# optional
#options 	KASAN_PANIC	# optional

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options 	ACPIVERBOSE	# verbose ACPI configuration messages
#options 	MIIVERBOSE	# verbose PHY autoconfig messages
#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
#options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
#options 	SCSIVERBOSE	# human readable SCSI error messages
#options 	USBVERBOSE	# verbose USB device autoconfig messages

makeoptions	DEBUG="-g"	# compile full symbol table
makeoptions	COPY_SYMTAB=1

config		netbsd		root on ? type ?

#options 	COMPAT_NETBSD32	# already defined in GENERIC.common (there
options 	EXEC_ELF32	# for a.out, but here we need it for elf32)

#options 	COMPAT_LINUX	# binary compatibility with Linux
#options 	COMPAT_LINUX32	# binary compatibility with Linux 32-bit
#options 	COMPAT_50	# COMPAT_LINUX depends on
#options 	COMPAT_OSSAUDIO # binary compatibility with Linux

# EFI runtime support
options 	EFI_RUNTIME
pseudo-device	efi		# /dev/efi

# Device tree support
armfdt0 	at root
simplebus*	at fdt? pass 0

# ACPI support
acpifdt*	at fdt? pass 1
acpi*		at acpifdt?
acpiacad*	at acpi?
acpibat*	at acpi?
acpibut*	at acpi?
acpicppc*	at acpi?
acpipcd*	at acpi?
acpipcc*	at acpi?
acpifan*	at acpi?
acpiged*	at acpi?
acpilid*	at acpi?
acpitz* 	at acpi?

# CPUs
cpus*		at fdt? pass 0
cpu*		at fdt? pass 0
cpu*		at acpi?

vmt*		at fdt?			# VMware Tools

# Performance monitors
armpmu* 	at fdt?
pseudo-device	tprof

# CPU frequency scaling
cpufreqdt*	at cpu?

# Power State Coordination Interface (PSCI)
psci*		at fdt? pass 0

fclock* 	at fdt? pass 1
ffclock*	at fdt? pass 1
fregulator*	at fdt? pass 4
gregulator*	at fdt? pass 4
pregulator*	at fdt? pass 4
gpiokeys*	at fdt?
wskbd*		at gpiokeys? console ? mux 1
gpioleds*	at fdt?

# System Controller
syscon* 	at fdt? pass 1		# Generic System Controller
sunxisramc*	at fdt? pass 1		# Allwinner System Control

# Timer
gtmr*		at fdt? pass 2		# ARM Generic Timer
gtmr*		at acpi?
armgtmr0	at gtmr?
tegratimer*	at fdt?			# Timers

# Watchdog
applewdog*	at fdt?			# Apple watchdog
bcmpmwdog*	at fdt?			# Broadcom BCM283x watchdog
dwcwdt* 	at fdt?			# DesignWare watchdog
dwcwdt*		at acpi?
mesongxwdt*	at fdt?			# Amlogic Meson GX watchdog
sbsawdt*	at acpi?		# ARM SBSA-compliant watchdog
sunxiwdt*	at fdt?			# Allwinner watchdog

# Interrupt controller
appleintc*	at fdt? pass 1		# Apple AIC
bcmicu* 	at fdt? pass 1		# Broadcom BCM283x ICU
tegralic*	at fdt? pass 1		# NVIDIA Tegra LIC
gic*		at fdt? pass 1		# ARM GICv2
gic*		at acpi?
armgic0 	at gic?
gicvthree*	at fdt? pass 1		# ARM GICv3
gicvthree*	at acpi?
imx7gpc*	at fdt? pass 2		# IMX GPCv2
sunxinmi*	at fdt? pass 2		# Allwinner NMI / R_INTC

# IOMMU
appledart*	at fdt? pass 3		# Apple DART

# Memory controller
tegramc*	at fdt?	pass 4		# NVIDIA Tegra MC

# Firmware devices
applesmc*	at fdt? pass 3		# Apple RTKIT based SMC
bcmmbox*	at fdt?			# Broadcom VideoCore IV mailbox
bcmmbox*	at acpi?
vcmbox* 	at bcmmbox?
qemufwcfg*	at fdt?			# QEMU Firmware Configuration device
qemufwcfg*	at acpi?

# DMA controller
bcmdmac*	at fdt?			# Broadcom BCM283x DMA controller
sun6idma*	at fdt?	pass 4		# Allwinner DMA controller (sun6i)
tegraapbdma*	at fdt? pass 4		# NVIDIA Tegra APB DMA

# FUSE controller
sunxisid*	at fdt? pass 4		# Allwinner SID
tegrafuse*	at fdt? pass 4		# NVIDIA Tegra FUSE

# Power management controller
tegrapmc*	at fdt? pass 4		# NVIDIA Tegra PMC

# Mailbox controller
applembox*	at fdt? pass 2		# Apple Mailbox

# Clock and Reset controller
bcmcprman*	at fdt? pass 1		# Broadcom BCM283x Clock Manager
bcmaux* 	at fdt? pass 1		# Broadcom BCM283x Aux Periph Clocks
g12aoclkc*	at fdt? pass 2		# Amlogic Meson G12 AO clock controller
g12clkc*	at fdt? pass 2		# Amlogic Meson G12 EE clock controller
gxbbaoclkc*	at fdt? pass 2		# Amlogic Meson GXBB AO clock controller
gxbbclkc*	at fdt? pass 2		# Amlogic Meson GXBB/GXL EE clock controller
imx8mqccm*	at fdt? pass 2		# NXP iMX8MQ CCM
mesonresets*	at fdt? pass 2		# Amlogic Meson misc. clock resets
rkcru*		at fdt? pass 2		# Rockchip RK3328 CRU
sun8ih3ccu*	at fdt? pass 2		# Allwinner H3/H5 CCU
sun8ih3rccu*	at fdt? pass 2		# Allwinner H3/H5 CCU (PRCM)
sun50ia64ccu*	at fdt? pass 2		# Allwinner A64 CCU
sun50ia64rccu*	at fdt? pass 2		# Allwinner A64 CCU (PRCM)
sun50ih6ccu*	at fdt? pass 2		# Allwinner H6 CCU
sun50ih6rccu*	at fdt? pass 2		# Allwinner H6 CCU (PRCM)
sunxide2ccu*	at fdt? pass 3		# Allwinner DE2 clock controller
sunxiresets*	at fdt? pass 1		# Allwinner misc. resets
sunxigates*	at fdt? pass 1		# Allwinner misc. gates
sunxigmacclk*	at fdt? pass 2		# Allwinner GMAC MII/RGMII clock mux
tegra210car*	at fdt? pass 3		# NVIDIA Tegra CAR (T210)

# GPIO controller
applepinctrl*	at fdt?			# Apple GPIO
bcmgpio*	at fdt? pass 3		# Broadcom BCM283x GPIO
imxgpio*	at fdt? pass 3		# IMX GPIO
mesonpinctrl*	at fdt? pass 2		# Amlogic Meson GPIO
plgpio* 	at fdt?			# ARM PrimeCell PL061 GPIO
plgpio* 	at acpi?
sunxigpio*	at fdt? pass 3		# Allwinner GPIO
tegragpio*	at fdt? pass 2		# NVIDIA Tegra GPIO
rkgpio* 	at rkiomux?		# Rockchip GPIO
gpio*		at gpiobus?

# PWM controller
mesonpwm*	at fdt? pass 3		# Amlogic PWM
rkpwm*		at fdt? pass 3		# Rockchip PWM
sunxipwm*	at fdt? pass 3		# Allwinner PWM

# MPIO / Pinmux
imxiomux*	at fdt? pass 2		# IMX IOMUX
rkiomux*	at fdt?	pass 3		# Rockchip IOMUX
tegrapinmux*	at fdt?			# NVIDIA Tegra MPIO

# XUSB PADCTL
tegra210xpad*	at fdt?			# NVIDIA Tegra XUSB PADCTL (T210)
tegra210xphy*	at tegra210xpad?

# PCIE
applepcie*	at fdt?			# Apple PCIe
pcihost*	at fdt?			# Generic PCI host controller
acpipchb*	at acpi?		# ACPI PCIe host bridge
rkpcie* 	at fdt?			# Rockchip AXI PCIE
rkpciephy*	at fdt? pass 9		# Rockchip AXI PCIE PHY
tegrapcie0	at fdt?			# NVIDIA Tegra PCIE
pci*		at pcibus?
ppb*		at pci? dev ? function ?
pci*		at ppb?

# Ethernet
awge*		at fdt?				# DesignWare Gigabit Ethernet
emac*		at fdt?				# Allwinner Gigabit Ethernet (EMAC)
enet*		at fdt?				# IMX FEC
eqos*		at acpi?			# DesignWare Ethernet QoS
eqos*		at fdt?
genet*		at acpi?			# Broadcom GENET v5
genet*		at fdt?
#scx*		at acpi?			# Socionext Gigabit Ethernet
#scx*		at fdt?
aq*		at pci? dev ? function ?	# Aquantia AQC 10 gigabit
bge*		at pci? dev ? function ?	# Broadcom 570x gigabit Ethernet
ena*		at pci? dev ? function ?	# Amazon.com Elastic Network Adapter
ixg* 		at pci? dev ? function ?	# Intel 8259x 10 gigabit
ixv* 		at pci? dev ? function ?	# Intel 8259x 10G virtual function
mcx*		at pci? dev ? function ?	# Mellanox 5th generation Ethernet
mskc*		at pci? dev ? function ?	# Marvell Yukon 2 Gigabit Ethernet
msk*		at mskc?
re*		at pci? dev ? function ?	# Realtek RTL8111GS
rge*		at pci? dev ? function ?	# Realtek 8125
vmx*		at pci? dev ? function ?	# VMware VMXNET3
wm*		at pci? dev ? function ?	# Intel Gigabit Ethernet

# MII/PHY support
atphy*		at mii? phy ?		# Attansic/Atheros PHYs
brgphy* 	at mii? phy ?		# Broadcom BCM5400-family PHYs
exphy* 		at mii? phy ?		# 3Com internal PHYs
gentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
glxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
gphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
gxlphy* 	at mii? phy ?		# Amlogic Meson GX internal PHY
icsphy* 	at mii? phy ?		# Integrated Circuit Systems ICS189x
igphy*		at mii? phy ?		# Intel IGP01E1000
ihphy*		at mii? phy ?		# Intel 82577 PHYs
ikphy*		at mii? phy ?		# Intel 82563 PHYs
inphy*		at mii? phy ?		# Intel 82555 PHYs
iophy*		at mii? phy ?		# Intel 82553 PHYs
lxtphy* 	at mii? phy ?		# Level One LXT-970 PHYs
makphy* 	at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
mcommphy*	at mii? phy ?		# Motorcomm YT8511C/YT8511H PHYs
nsphy*		at mii? phy ?		# NS83840 PHYs
nsphyter*	at mii? phy ? 		# NS83843 PHYs
pnaphy* 	at mii? phy ?		# generic HomePNA PHYs
rdcphy* 	at mii? phy ?		# RDC R6040 10/100 PHY
rgephy* 	at mii? phy ?		# Realtek 8169S/8110S internal PHYs
rlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
smscphy*	at mii? phy ?		# SMSC LAN87xx PHYs
sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
tlphy*		at mii? phy ?		# ThunderLAN PHYs
tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
urlphy* 	at mii? phy ?		# Realtek RTL8150L internal PHYs
ukphy*		at mii? phy ?		# generic unknown PHYs

# Mini-PCIe Wireless
#options 	ATHHAL_AR5212,ATHHAL_RF2425	# AR5BHB63
#ath*		at pci? dev ? function ?	# Atheros IEEE 802.11
#athn*		at pci? dev ? function ?	# Atheros IEEE 802.11

# UART
com*		at fdt?	pass 4			# UART
com*		at acpi?
exuart*		at fdt? pass 4			# SSCOM UART
imxuart*	at fdt? pass 4			# IMX UART
options 	IMXUARTCONSOLE
mesonuart*	at fdt? pass 4			# Amlogic Meson UART
plcom*		at fdt?	pass 4			# ARM PL011 UART
plcom*		at acpi?
puc*		at pci? dev ? function ?	# PCI "universal" comm. cards
com*		at puc? port ?

# I2C controllers
options 	I2C_MAX_ADDR=0xfff
appleiic*	at fdt?			# Apple I2C
bsciic* 	at fdt?			# Broadcom BCM283x Serial Control
bsciic* 	at acpi?
dwiic*		at fdt?			# Designware I2C
dwiic*		at acpi?
imxi2c* 	at fdt? pass 4		# IMX I2C
nxpiic* 	at acpi?		# NXP Layerscape I2C
rkiic*		at fdt? pass 4		# Rockchip I2C
sunxirsb*	at fdt?	pass 4		# Allwinner RSB
sunxitwi*	at fdt?			# Allwinner TWI
tegrai2c*	at fdt? pass 4		# NVIDIA Tegra I2C
#sniiic*	at fdt?			# Socionext SC2A11 I2C
#sniiic*	at acpi?
iicmux* 	at fdt? pass 5		# I2C mux virtual controllers
iic*		at i2cbus?

# I2C devices
titemp* 	at iic?
seeprom*	at iic?
spdmem* 	at iic?			# memory module SPD EEPROM decoder
as3722pmic*	at iic?
as3722reg*	at as3722pmic?
axppmic*	at iic?			# X-Powers AXP Power Management IC
axpreg* 	at axppmic?
cwfg*		at iic?			# CellWise CW2015 Fuel Gauge IC
dsrtc*		at iic?			# Dallas Semiconductor RTCs
es8316ac*	at iic?			# Everest Semi ES8316 Audio CODEC
fan53555reg*	at iic?			# FAN53555 / SY82x regulator
max77620pmic*	at iic?
pcaiicmux*	at iic?			# PCA954x / PCA984x I2C switch / mux
pcf8563rtc*	at iic?			# PCF8563 RTC
rkpmic* 	at iic?			# Rockchip Power Management IC
rkreg*		at rkpmic?
tcagpio*	at iic?

# Power Domain controllers
applepmgr* 	at fdt? pass 0

# Random number generators and security devices
amdccp* 	at fdt?			# AMD Cryptograhic Coprocessor RNG
amdccp* 	at acpi?
bcmrng* 	at fdt?			# Broadcom BCM283x RNG
mesonrng*	at fdt?			# Amlogic Meson RNG
rkv1crypto* 	at fdt?			# Rockchip Crypto v1
sun8icrypto* 	at fdt?			# Allwinner Crypto Engine
tpm*		at acpi?		# Trusted Platform Module

# RTC
plrtc*		at fdt?			# ARM PrimeCell RTC
sunxirtc*	at fdt? pass 4		# Allwinner RTC
tegrartc*	at fdt?			# NVIDIA Tegra RTC

# SDMMC
bcmsdhost*	at fdt?			# Broadcom BCM283x SD Host Interface
dwcmmc*		at acpi?		# DesignWare SD/MMC
dwcmmc* 	at fdt?
mesongxmmc*	at fdt?			# Amlogic Meson GX eMMC/SD/SDIO controller
mmcpwrseq*	at fdt? pass 5		# Simple MMC power sequence provider
rkemmcphy*	at fdt?			# Rockchip eMMC PHY
sdhc*		at fdt?			# SD Host Controller Interface
sdhc*		at acpi?
sunximmc*	at fdt?			# Allwinner SD/MMC
#sniemmc*	at fdt?			# Socionext SC2A11 eMMC
#sniemmc*	at acpi?
sdmmc*		at sdmmcbus?
ld0		at sdmmc0
ld1		at sdmmc1
ld2		at sdmmc2
ld3		at sdmmc3
ld*		at sdmmc?
bwfm*		at sdmmc?		# Broadcom BCM43xxx WiFi Interface

# SATA
ahcisata*	at fdt?			# AHCI SATA
ahcisata*	at acpi?
ahcisata*	at pci? dev ? function ?
siisata*	at pci? dev ? function ?
atabus* 	at ata?
atapibus*	at atapi?
wd*		at atabus? drive ?
cd*		at atapibus? drive ?

# NVMe
nvme*		at fdt?			# Apple M1
nvme*		at pci? dev ? function ?
ld*		at nvme? nsid ?

# SPI controllers
bcmspi* 	at fdt?			# Broadcom BCM283x SPI
rkspi*		at fdt?			# Rockchip SPI
sun6ispi*	at fdt?			# Allwinner SPI
spi*		at spibus?
m25p*		at spi?
spiflash*	at spiflashbus?

# Broadcom VCHIQ, etc
vchiq*		at fdt?
vchiq*		at acpi?
vcaudio0 	at vchiq?

# Audio support
hdaudio*	at fdt?			# Intel HDA
hdaudio*	at pci? dev ? function ?
hdafg*		at hdaudiobus?
options 	HDAUDIOVERBOSE
ausoc*		at fdt?			# Simple SoC audio card
simpleamp*	at fdt?			# Simple amplifier
spdiftx*	at fdt?			# SPDIF transmitter
rki2s*		at fdt?			# Rockchip I2S/PCM
sunxicodec*	at fdt?			# Allwinner audio codec
sun8icodec*	at fdt?			# Allwinner audio codec (sun8i/sun50i)
h3codec*	at fdt?			# Allwinner H3 audio codec (analog part)
a64acodec*	at fdt?			# Allwinner A64 audio codec (analog part)
sunxii2s*	at fdt?			# Allwinner I2S/PCM
audio*		at audiobus?

spkr*		at audio?		# PC speaker (synthesized)

# HDMI CEC
tegracec0	at fdt?			# NVIDIA Tegra HDMI CEC
hdmicec*	at hdmicecbus?

# Display
anxdp*		at fdt?			# Analogix-based (e)DP
anxedp* 	at iic?			# Analogix eDP TX
dispcon*	at fdt?			# Display connector devices
panel*		at fdt?			# Display panels
dwhdmi* 	at fdt?			# Designware HDMI TX
rkdrm*		at fdt? pass 5		# Rockchip DRM master
rkfb*		at rkdrm?		# Rockchip DRM framebuffer
rkvop*		at fdt?			# Rockchip Visual Output Processor
sunxide2bus*	at fdt? pass 4		# Allwinner DE2 bus
sunxidrm*	at fdt?	pass 5		# Allwinner Display Pipeline
sunxifb*	at sunxidrm?		# Allwinner DRM framebuffer
sunxihdmiphy*	at fdt? pass 9		# Allwinner HDMI TX PHY
sunxilcdc*	at fdt?			# Allwinner DE2 timing controller
sunximixer*	at fdt?			# Allwinner DE2 mixer
#tegradrm*	at fdt?			# NVIDIA Tegra Display
#tegrafb*	at tegrafbbus?
genfb*		at fdt?			# Simple Framebuffer
wsdisplay*	at wsemuldisplaydev?
options 	VCONS_DRAW_INTR
options 	WSEMUL_VT100
options 	WSDISPLAY_CUSTOM_OUTPUT
options 	WS_DEFAULT_FG=WSCOL_WHITE
options 	WS_DEFAULT_BG=WSCOL_BLACK
options 	WS_KERNEL_FG=WSCOL_GREEN
options 	WS_KERNEL_BG=WSCOL_BLACK
options 	WSDISPLAY_COMPAT_PCVT
options 	WSDISPLAY_COMPAT_SYSCONS
options 	WSDISPLAY_COMPAT_USL
options 	WSDISPLAY_COMPAT_RAWKBD
options 	WSDISPLAY_DEFAULTSCREENS=4
options 	WSDISPLAY_MULTICONS
options 	WSDISPLAY_SCROLLSUPPORT
pseudo-device	wsmux
pseudo-device	wsfont
options 	FONT_BOLD8x16
options 	FONT_BOLD16x32

# GPU
#nouveau*	at fdt?			# NVIDIA GPU
#nouveau*	at pci? dev ? function ?
#nouveaufb*	at nouveaufbbus?
radeon* 	at pci? dev ? function ? # AMD Radeon
radeondrmkmsfb*	at radeonfbbus?

# Backlight
pwmbacklight*	at fdt?			# PWM Backlight controls

# Fan
pwmfan* 	at fdt?			# PWM Fan controls

# Thermal throttling controller
mesonthermal*	at fdt?			# Amlogic thermal sensor controller
sunxithermal*	at fdt?			# Allwinner thermal sensor controller
tegrasoctherm*	at fdt?			# NVIDIA Tegra SOC_THERM
rktsadc*	at fdt?			# RockChip TSASC

# USB
imx8mqusbphy*	at fdt? pass 9		# IMX USB PHY
mesonusbctrl*	at fdt?			# Amlogic Meson USB-Glue (dwc2 and dwc3)
mesonusbphy*	at fdt? pass 9		# Amlogic Meson USB2 PHY
mesong12u2phy*	at fdt? pass 9		# Amlogic Meson G12 USB2 PHY
mesong12u3pphy*	at fdt? pass 9		# Amlogic Meson G12 USB3/PCIe PHY
mesongxlu2phy*	at fdt? pass 9		# Amlogic Meson GXL USB2 PHY
mesongxlu3phy*	at fdt? pass 9		# Amlogic Meson GXL USB3 PHY
rkusb*		at fdt? pass 9		# Rockchip USB PHY
rkusbphy*	at rkusb?
sunxiusbphy*	at fdt? pass 9		# Allwinner USB PHY
sunxiusb3phy*	at fdt? pass 9		# Allwinner USB3 PHY
tegrausbphy*	at fdt?			# NVIDIA Tegra USB PHY
dwctwo* 	at fdt?			# Designware USB DRD
ehci*		at fdt?			# EHCI
ehci*		at pci?			# EHCI
ehci*		at acpi?		# EHCI
motg*		at fdt?			# Mentor Graphics USB OTG
ohci*		at fdt?			# OHCI
ohci*		at pci?			# OHCI
ohci*		at acpi?		# OHCI
xhci*		at fdt?			# XHCI
xhci*		at pci?			# XHCI
xhci*		at acpi?		# XHCI
usb*		at usbus?

include "dev/usb/usbdevices.config"
midi*		at midibus?
pseudo-device	sequencer			# MIDI sequencer

# Virtio devices
virtio* 	at fdt?			# Virtio MMIO device
virtio* 	at acpi?
virtio* 	at pci? dev ? function ?
#viomb*		at virtio?		# Virtio memory balloon device
ld*		at virtio?		# Virtio disk device
vioif*		at virtio?		# Virtio network device
viornd* 	at virtio?		# Virtio entropy device
vioscsi*	at virtio?		# Virtio SCSI device

# SCSI controllers
mpt*		at pci? dev ? function ?

# SCSI bus support
scsibus*	at scsi?
sd*		at scsibus? target ? lun ?	# SCSI disk drives

# Pull in optional local configuration - always at end
cinclude	"arch/evbarm/conf/GENERIC64.local"