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
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
#
#	$NetBSD: GENERIC,v 1.48.2.8 2020/05/18 18:12:25 martin Exp $
#
#	GENERIC ARM (aarch32) kernel
#

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

#
# FDT files supported by this kernel - add to DTSSUBDIR and DTS as
# appropriate
#
makeoptions	DTSARCH="arm"
makeoptions	DTSGNUARCH="arm"
makeoptions	DTSSUBDIR=""
makeoptions	DTS="
	am335x-baltos-ir2110.dts
	am335x-baltos-ir3220.dts
	am335x-baltos-ir5221.dts
	am335x-base0033.dts
	am335x-bone.dts
	am335x-boneblack-wireless.dts
	am335x-boneblack.dts
	am335x-boneblue.dts
	am335x-bonegreen-wireless.dts
	am335x-bonegreen.dts
	am335x-chiliboard.dts
	am335x-cm-t335.dts
	am335x-evm.dts
	am335x-evmsk.dts
	am335x-guardian.dts
	am335x-icev2.dts
	am335x-lxm.dts
	am335x-moxa-uc-2101.dts
	am335x-moxa-uc-8100-me-t.dts
	am335x-nano.dts
	am335x-osd3358-sm-red.dts
	am335x-pdu001.dts
	am335x-pepper.dts
	am335x-phycore-rdk.dts
	am335x-pocketbeagle.dts
	am335x-sancloud-bbe.dts
	am335x-sbc-t335.dts
	am335x-shc.dts
	am335x-sl50.dts
	am335x-wega-rdk.dts

	bcm2836-rpi-2-b.dts
	bcm2837-rpi-3-a-plus.dts
	bcm2837-rpi-3-b.dts
	bcm2837-rpi-3-b-plus.dts
	bcm2837-rpi-cm3-io3.dts

	exynos5422-odroidhc1.dts
	exynos5422-odroidxu3-lite.dts
	exynos5422-odroidxu3.dts
	exynos5422-odroidxu4.dts

	meson8b-ec100.dts
	meson8b-mxq.dts
	meson8b-odroidc1.dts

	omap3-beagle-xm-ab.dts
	omap3-beagle-xm.dts
	omap3-beagle.dts
	omap3-cm-t3517.dts
	omap3-cm-t3530.dts
	omap3-cm-t3730.dts
	omap3-devkit8000-lcd43.dts
	omap3-devkit8000-lcd70.dts
	omap3-devkit8000.dts
	omap3-evm-37xx.dts
	omap3-evm.dts
	omap3-gta04a3.dts
	omap3-gta04a4.dts
	omap3-gta04a5.dts
	omap3-gta04a5one.dts
	omap3-ha-lcd.dts
	omap3-ha.dts
	omap3-igep0020-rev-f.dts
	omap3-igep0020.dts
	omap3-igep0030-rev-g.dts
	omap3-igep0030.dts
	omap3-ldp.dts
	omap3-lilly-dbb056.dts
	omap3-n9.dts
	omap3-n900.dts
	omap3-n950.dts
	omap3-overo-alto35.dts
	omap3-overo-chestnut43.dts
	omap3-overo-gallop43.dts
	omap3-overo-palo35.dts
	omap3-overo-palo43.dts
	omap3-overo-storm-alto35.dts
	omap3-overo-storm-chestnut43.dts
	omap3-overo-storm-gallop43.dts
	omap3-overo-storm-palo35.dts
	omap3-overo-storm-palo43.dts
	omap3-overo-storm-summit.dts
	omap3-overo-storm-tobi.dts
	omap3-overo-storm-tobiduo.dts
	omap3-overo-summit.dts
	omap3-overo-tobi.dts
	omap3-overo-tobiduo.dts
	omap3-pandora-1ghz.dts
	omap3-pandora-600mhz.dts
	omap3-sbc-t3517.dts
	omap3-sbc-t3530.dts
	omap3-sbc-t3730.dts
	omap3-sniper.dts
	omap3-thunder.dts
	omap3-zoom3.dts

	socfpga_cyclone5_de0_nano_soc.dts

	sun4i-a10-a1000.dts
	sun4i-a10-ba10-tvbox.dts
	sun4i-a10-chuwi-v7-cw0825.dts
	sun4i-a10-cubieboard.dts
	sun4i-a10-dserve-dsrv9703c.dts
	sun4i-a10-gemei-g9.dts
	sun4i-a10-hackberry.dts
	sun4i-a10-hyundai-a7hd.dts
	sun4i-a10-inet1.dts
	sun4i-a10-inet97fv2.dts
	sun4i-a10-inet9f-rev03.dts
	sun4i-a10-itead-iteaduino-plus.dts
	sun4i-a10-jesurun-q5.dts
	sun4i-a10-marsboard.dts
	sun4i-a10-mini-xplus.dts
	sun4i-a10-mk802.dts
	sun4i-a10-mk802ii.dts
	sun4i-a10-olinuxino-lime.dts
	sun4i-a10-pcduino.dts
	sun4i-a10-pcduino2.dts
	sun4i-a10-pov-protab2-ips9.dts

	sun5i-a13-difrnce-dit4350.dts
	sun5i-a13-empire-electronix-d709.dts
	sun5i-a13-empire-electronix-m712.dts
	sun5i-a13-hsg-h702.dts
	sun5i-a13-inet-98v-rev2.dts
	sun5i-a13-licheepi-one.dts
	sun5i-a13-olinuxino-micro.dts
	sun5i-a13-olinuxino.dts
	sun5i-a13-q8-tablet.dts
	sun5i-a13-utoo-p66.dts

	sun5i-gr8-evb.dts
	sun5i-gr8-chip-pro.dts

	sun5i-r8-chip.dts
	sun5i-r8-pocketchip.dts

	sun6i-a31-app4-evb1.dts
	sun6i-a31-colombus.dts
	sun6i-a31-hummingbird.dts
	sun6i-a31-i7.dts
	sun6i-a31-m9.dts
	sun6i-a31-mele-a1000g-quad.dts

	sun7i-a20-bananapi-m1-plus.dts
	sun7i-a20-bananapi.dts
	sun7i-a20-bananapro.dts
	sun7i-a20-cubieboard2.dts
	sun7i-a20-cubietruck.dts
	sun7i-a20-hummingbird.dts
	sun7i-a20-i12-tvbox.dts
	sun7i-a20-icnova-swac.dts
	sun7i-a20-itead-ibox.dts
	sun7i-a20-lamobo-r1.dts
	sun7i-a20-m3.dts
	sun7i-a20-mk808c.dts
	sun7i-a20-olimex-som-evb-emmc.dts
	sun7i-a20-olimex-som-evb.dts
	sun7i-a20-olimex-som204-evb-emmc.dts
	sun7i-a20-olimex-som204-evb.dts
	sun7i-a20-olinuxino-lime.dts
	sun7i-a20-olinuxino-lime2-emmc.dts
	sun7i-a20-olinuxino-lime2.dts
	sun7i-a20-olinuxino-micro-emmc.dts
	sun7i-a20-olinuxino-micro.dts
	sun7i-a20-orangepi-mini.dts
	sun7i-a20-orangepi.dts
	sun7i-a20-pcduino3-nano.dts
	sun7i-a20-pcduino3.dts
	sun7i-a20-wexler-tab7200.dts
	sun7i-a20-wits-pro-a20-dkt.dts

	sun8i-a83t-allwinner-h8homlet-v2.dts
	sun8i-a83t-bananapi-m3.dts
	sun8i-a83t-cubietruck-plus.dts
	sun8i-a83t-tbs-a711.dts

	sun8i-h2-plus-bananapi-m2-zero.dts
	sun8i-h2-plus-bananapi-p2-zero.dts
	sun8i-h2-plus-libretech-all-h3-cc.dts
	sun8i-h2-plus-orangepi-r1.dts
	sun8i-h2-plus-orangepi-zero.dts

	sun8i-h3-bananapi-m2-plus-v1.2.dts
	sun8i-h3-bananapi-m2-plus.dts
	sun8i-h3-beelink-x2.dts
	sun8i-h3-libretech-all-h3-cc.dts
	sun8i-h3-mapleboard-mp130.dts
	sun8i-h3-nanopi-duo2.dts
	sun8i-h3-nanopi-m1-plus.dts
	sun8i-h3-nanopi-m1.dts
	sun8i-h3-nanopi-r1.dts
	sun8i-h3-nanopi-neo.dts
	sun8i-h3-nanopi-neo-air.dts
	sun8i-h3-orangepi-2.dts
	sun8i-h3-orangepi-lite.dts
	sun8i-h3-orangepi-one.dts
	sun8i-h3-orangepi-pc-plus.dts
	sun8i-h3-orangepi-pc.dts
	sun8i-h3-orangepi-plus.dts
	sun8i-h3-orangepi-plus2e.dts
	sun8i-h3-orangepi-zero-plus2.dts

	sun9i-a80-cubieboard4.dts
	sun9i-a80-optimus.dts

	tegra124-apalis-eval.dts
	tegra124-apalis-v1.2-eval.dts
	tegra124-jetson-tk1.dts
	tegra124-nyan-big.dts
	tegra124-nyan-blaze.dts
	tegra124-venice2.dts

	vexpress-v2p-ca15-tc1.dts

	zynq-cc108.dts
	zynq-microzed.dts
	zynq-parallella.dts
	zynq-zc702.dts
	zynq-zc706.dts
	zynq-zc770-xm010.dts
	zynq-zc770-xm011.dts
	zynq-zc770-xm012.dts
	zynq-zc770-xm013.dts
	zynq-zed.dts
	zynq-zturn.dts
	zynq-zybo.dts
	zynq-zybo-z7.dts
"

options 	CPU_CORTEXA5
options 	CPU_CORTEXA7
options 	CPU_CORTEXA8
options 	CPU_CORTEXA9
options 	CPU_CORTEXA15
options 	CPU_CORTEXA17
options 	CPU_CORTEXA53

options 	SOC_AM33XX
options 	SOC_BCM2836
options 	SOC_EXYNOS5422
options 	SOC_MESON8B
options 	SOC_OMAP3
options 	SOC_SUN4I_A10
options 	SOC_SUN5I_A13
options 	SOC_SUN6I_A31
options 	SOC_SUN7I_A20
options 	SOC_SUN8I_A83T
options 	SOC_SUN8I_H3
options 	SOC_SUN9I_A80
options 	SOC_TEGRA124
options 	SOC_VIRT
options 	SOC_ZYNQ7000

options 	MULTIPROCESSOR

pseudo-device 	openfirm	# /dev/openfirm

#options 	DIAGNOSTIC	# internal consistency checks
#options 	DEBUG
#options 	LOCKDEBUG
#options 	PMAP_DEBUG	# Enable pmap_debug_level code

options 	MSGBUFSIZE=32768

#options 	VERBOSE_INIT_ARM # verbose bootstrapping messages

# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.

#options 	EARLYCONS=am33xx, CONSADDR=0x44e09000
#options 	EARLYCONS=omap3, CONSADDR=0x49020000

# ODROID-C1
#options 	EARLYCONS=meson, CONSADDR=0xc81004c0

# ODROID-U3
#options 	EARLYCONS=exynos, CONSADDR=0x13810000

# ODROID-XU lite
#options 	EARLYCONS=exynos, CONSADDR=0x12c20000

# RaspberryPIs
#options 	EARLYCONS=bcm2835, CONSADDR=0x20201000
#options 	EARLYCONS=bcm2836, CONSADDR=0x3f201000
#options 	EARLYCONS=bcm2837, CONSADDR=0x3f215040

#options 	EARLYCONS=cycv, CONSADDR=0xffc02000
#options 	EARLYCONS=rk3328, CONSADDR=0xff130000
#options 	EARLYCONS=sunxi, CONSADDR=0x01c28000

# TEGRA TK1
#options 	EARLYCONS=tegra, CONSADDR=0x70006300

#options 	EARLYCONS=vexpress, CONSADDR=0x1c090000
#options 	EARLYCONS=virt, CONSADDR=0x09000000

#options 	EARLYCONS=zynq, CONSADDR=0xe0001000

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

config		netbsd		root on ? type ?

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

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

# CPU frequency scaling
tegra124cpu*	at cpu?
cpufreqdt*	at cpu?

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

# Clock and reset controllers
am3prcm*	at fdt? pass 1		# TI AM335x PRCM
cycvclkmgr* 	at fdt? pass 1		# Cyclone V clock manager
cycvrstmgr* 	at fdt? pass 0		# Cyclone V reset manager
exy5410clk* 	at fdt? pass 3		# Exynos5410 clock controller
exy5422clk* 	at fdt? pass 3		# Exynos5422 clock controller
meson8bclkc* 	at fdt? pass 2		# Amlogic Meson8b clock controller
mesonresets* 	at fdt? pass 2		# Amlogic Meson misc. clock resets
omap3cm*	at fdt? pass 1		# TI OMAP3 CM
omap3prm*	at fdt? pass 1		# TI OMAP3 PRM
sun4ia10ccu* 	at fdt? pass 2		# Allwinner A10/A20 CCU
sun5ia13ccu* 	at fdt? pass 2		# Allwinner A13 CCU
sun6ia31ccu* 	at fdt? pass 2		# Allwinner A31 CCU
sun8ia83tccu* 	at fdt? pass 2		# Allwinner A83T CCU
sun8ih3ccu* 	at fdt? pass 2		# Allwinner H3 CCU
sun8ih3rccu* 	at fdt? pass 2		# Allwinner H3 CCU (PRCM)
sun9ia80ccu* 	at fdt? pass 2		# Allwinner A80 CCU
sunxiresets* 	at fdt? pass 1		# Allwinner Misc. clock resets
sunxigates* 	at fdt? pass 1		# Allwinner Misc. clock gates
sunxigmacclk* 	at fdt? pass 2		# Allwinner GMAC MII/RGMII clock mux
sun8iapbclk* 	at fdt? pass 2		# Allwinner A23 APB0
sun9icpusclk* 	at fdt? pass 2		# Allwinner A80 CPUS
sun9immcclk* 	at fdt? pass 2		# Allwinner A80 SD/MMC-COMM
sun9iusbclk* 	at fdt? pass 2		# Allwinner A80 USB HCI
tegra124car* 	at fdt? pass 3		# NVIDIA Tegra CAR (T124)
tegra210car* 	at fdt? pass 3		# NVIDIA Tegra CAR (T210)
tidivclk*	at fdt? pass 1		# TI divider clock
tidpllclk*	at fdt? pass 2		# TI DPLL clock
timuxclk*	at fdt? pass 1		# TI mux clock

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

# ARM Motherboard Express uATX system registers
vxsysreg* 	at fdt?

# SRAM controller
sunxisramc* 	at fdt? pass 4		# SRAM controller

# System Controller
syscon*		at fdt? pass 1		# Generic System Controller
tisysc*		at fdt? pass 2		# TI sysc interconnect
#zynqslcr*	at fdt? pass 1		# Zynq 7000 system Controller

# Timer
a9ptmr* 	at fdt? pass 2		# ARM Cortex A5/A9 Private Timer
arma9ptmr* 	at a9ptmr?
a9tmr* 		at fdt? pass 2		# ARM Cortex A5/A9 Timer
arma9tmr* 	at a9tmr?
gtmr*		at fdt? pass 1		# ARM Generic Timer
armgtmr0	at gtmr?
mct*		at fdt? pass 2		# Exynos Multi Core Timer (MCT)
armgtmr*	at mct?
omaptimer*	at fdt?			# TI OMAP Timer
sunxitimer* 	at fdt?			# Allwinner async timer
sunxihstimer* 	at fdt?			# Allwinner High-Speed timer
tegratimer* 	at fdt?			# Timers

# Watchdog
bcmpmwdog* 	at fdt?			# Broadcom BCM283x watchdog
dwcwdt* 	at fdt?			# DesignWare watchdog
mesonwdt* 	at fdt?			# Amlogic Meson watchdog
sunxiwdt* 	at fdt?			# Allwinner watchdog
tiwdt*		at fdt?			# TI OMAP watchdog

# Interrupt controller
gic*		at fdt? pass 1		# ARM GIC
armgic0		at gic?
bcmicu* 	at fdt? pass 1		# Broadcom BCM283x ICU
exyointr* 	at fdt? pass 1		# Samsung Exynos ICU
omapintc*	at fdt? pass 2		# TI OMAP INTC
tegralic* 	at fdt? pass 1		# NVIDIA Tegra LIC
sunxiintc* 	at fdt? pass 1		# Allwinner INTC
sunxinmi* 	at fdt? pass 2		# Allwinner NMI / R_INTC

# Level 2 Cache Controller
l2cc* 		at fdt? pass 2		# ARM Cortex A9 L2 Cache Controller
arml2cc* 	at l2cc?

# Memory controller
tegramc* 	at fdt?	pass 4		# NVIDIA Tegra MC
tigpmc*		at fdt? pass 4		# TI OMAP2 GPMC

# Firmware devices
bcmmbox* 	at fdt?			# Broadcom VideoCore IV mailbox
qemufwcfg* 	at fdt?			# QEMU Firmware Configuration device
vcmbox* 	at bcmmbox?

# DMA controller
bcmdmac* 	at fdt?			# Broadcom BCM283x DMA controller
sun4idma* 	at fdt? pass 4		# Allwinner DMA controller (sun4i)
sun6idma* 	at fdt?	pass 4		# Allwinner DMA controller (sun6i)
tegraapbdma* 	at fdt? pass 4		# NVIDIA Tegra APB DMA
tiedma*		at fdt? pass 4		# TI EDMA3 (TPCC)
titptc*		at fdt? pass 3		# TI EDMA3 (TPTC)

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

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

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

# Clock and Reset controller
bcmcprman* 	at fdt? pass 1		# Broadcom BCM283x Clock Manager
bcmaux* 	at fdt? pass 1		# Broadcom BCM283x Aux Periph Clocks

# GPIO controller
bcmgpio* 	at fdt?			# Broadcom BCM283x GPIO
exyopctl* 	at fdt? pass 2		# Samsung Exynos GPIO
mesonpinctrl* 	at fdt? pass 2		# Amlogic Meson GPIO
plgpio* 	at fdt?			# ARM PrimeCell GPIO
sunxigpio* 	at fdt? pass 3		# Allwinner GPIO
tegragpio* 	at fdt? pass 2		# NVIDIA Tegra GPIO
tigpio*		at fdt? pass 2		# TI GPIO
gpio* 		at gpiobus?

# MPIO / Pinmux
pinctrl*	at fdt? pass 2		# Generic pinctrl driver
tegrapinmux* 	at fdt?			# NVIDIA Tegra MPIO

# PWM controller
expwm* 		at fdt? pass 4		# PWM
sunxipwm* 	at fdt? pass 3		# Allwinner PWM

# Backlight
pwmbacklight* 	at fdt?			# PWM Backlight controls

# Fan
pwmfan* 	at fdt?			# PWM Fan controls

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

# PCIE
pcihost* 	at fdt?			# Generic PCI host controller
tegrapcie0 	at fdt?			# NVIDIA Tegra PCIE
pci* 		at pcibus?
ppb* 		at pci? dev ? function ?
pci* 		at ppb?

# Ethernet
awge* 		at fdt?			# Allwinner Gigabit Ethernet (GMAC)
cemac* 		at fdt?			# Cadence EMAC/GEM ethernet controller
cpsw*		at fdt?			# TI CPSW 3-port Ethernet Switch
emac* 		at fdt?			# Allwinner Fast/Gigabit Ethernet (EMAC)
smsh* 		at fdt?			# SMSC LAN9118

# PCI Ethernet
re* 		at pci? dev ? function ?	# Realtek RTL8111GS

# MII/PHY support
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
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
nsphy* 		at mii? phy ?		# NS83840 PHYs
nsphyter* 	at mii? phy ?		# NS83843 PHYs
pnaphy* 	at mii? phy ?		# generic HomePNA PHYs
qsphy* 		at mii? phy ?		# Quality Semiconductor QS6612 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
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
exuart* 	at fdt?	pass 4		# SSCOM UART
plcom* 		at fdt?	pass 4		# ARM PL011 UART
mesonuart* 	at fdt?	pass 4		# Amlogic Meson UART
zynquart* 	at fdt?	pass 4		# Cadence UART

# I2C controllers
options 	I2C_MAX_ADDR=0xfff
bsciic* 	at fdt?			# Broadcom BCM283x Serial Control
exyoi2c* 	at fdt?			# Samsung Exynos I2C
sunxirsb* 	at fdt? pass 4		# Allwinner RSB
sunxitwi* 	at fdt?			# Allwinner TWI
tegrai2c* 	at fdt? pass 4		# NVIDIA Tegra I2C
tiiic*		at fdt? pass 4		# TI OMAP I2C
iic* 		at i2cbus?

# I2C devices
ac100ic* 	at iic?			# AC100 integrated audio codec and RTC
as3722pmic* 	at iic?
as3722reg* 	at as3722pmic?
axp20x* 	at iic?			# AXP209 Power Management IC
axp20xreg* 	at axp20x?
axp22x* 	at iic?			# AXP221 Power Management IC
axppmic* 	at iic?			# X-Powers AXP Power Management IC
axpreg* 	at axppmic?
max77620pmic* 	at iic?
pcf8563rtc* 	at iic?			# PCF8563 RTC
seeprom* 	at iic?			# AT24Cxx Serial EEPROM
sy8106a* 	at iic?			# Silergy SY81061 regulator
tcakp* 		at iic?			# TI TCA8418 Keypad Scan IC
tcagpio* 	at iic?
tdahdmi*	at iic? 		# NXP TDA19988 HDMI encoder
titemp* 	at iic?
tps65217pmic*	at iic?			# TI TPS65217 Power Management IC
tps65217reg*	at tps65217pmic?
twl*		at iic?			# TI TWL4030 Power Management IC
wskbd* 		at tcakp? console ?

# CAN bus
options 	CAN			# Controller Area Network protocol
pseudo-device 	canloop			# CAN loopback interface
sunxican* 	at fdt?			# A10/A20 CAN controller

# SPI
sun6ispi* 	at fdt?
spi* 		at spibus?

# Random number generators
bcmrng* 	at fdt?			# Broadcom BCM283x RNG
mesonrng* 	at fdt?			# Amlogic Meson RNG
tirng*		at fdt?			# TI RNG

# Security ID EFUSE
sunxisid* 	at fdt? pass 4		# SID

# Low res ADC
sunxilradc* 	at fdt?

# RTC
#exyortc* 	at fdt?			# RTC
mesonrtc* 	at fdt?			# Amlogic Meson RTC
plrtc* 		at fdt?			# ARM PrimeCell RTC
sunxirtc* 	at fdt?			# Allwinner RTC
tegrartc* 	at fdt?			# NVIDIA Tegra RTC

# Thermal sensor
sunxithermal* 	at fdt?			# Thermal sensor controller

# BCM2835 VCHIQ, etc
vchiq0 		at fdt?
vcaudio0 	at vchiq0

# Audio
a64acodec* 	at fdt?			# Allwinner A64 audio codec (analog part)
aaci* 		at fdt?			# ARM PrimeCell AACI
ausoc* 		at fdt?			# Simple SoC audio card
h3codec* 	at fdt?			# Allwinner H3 audio codec (analog part)
hdaudio* 	at fdt?			# Intel HDA
hdafg* 		at hdaudiobus?
options 	HDAUDIOVERBOSE
options 	HDAUDIO_ENABLE_HDMI
options 	HDAUDIO_ENABLE_DISPLAYPORT
sun8icodec* 	at fdt?			# Audio codec (sun8i)
sunxicodec* 	at fdt?			# Allwinner audio codec
sunxii2s* 	at fdt?			# I2S/PCM
audio* 		at audiobus?
spkr* 		at audio?

# SDMMC
bcmsdhost* 	at fdt?			# Broadcom BCM283x SD Host Interface
dwcmmc* 	at fdt?			# DesignWare SDMMC
mesonsdio* 	at fdt?			# Amlogic Meson SDIO controller
mesonsdhc* 	at fdt?			# Amlogic Meson SDHC controller
mmcpwrseq* 	at fdt?			# Simple MMC power sequence provider
plmmc* 		at fdt?			# ARM PrimeCell MCI
sdhc* 		at fdt?			# SD Host Controller Interface
sunximmc* 	at fdt?			# Allwinner SD/MMC
sdmmc* 		at sdmmcbus?
ld0 		at sdmmc0
ld1 		at sdmmc1
ld2 		at sdmmc2
ld3 		at sdmmc3
ld* 		at sdmmc?

# NAND Flash
sunxinand* 	at fdt?			# Allwinner NAND flash controller
omapnand*	at fdt?			# TI OMAP2 flash controller
nand* 		at nandbus?
flash* 		at nand? dynamic 1

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

# NVMe
nvme* 		at pci? dev ? function ?
ld* 		at nvme? nsid ?

# SPI controllers
bcmspi* 	at fdt?			# Broadcom BCM283x SPI
spi* 		at spibus?

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

# Display
#tegradrm* 	at fdt?			# NVIDIA Tegra Display
#tegrafb* 	at tegrafbbus?
genfb* 		at fdt?			# Simple Framebuffer
mesonfb* 	at fdt?			# Amlogic Meson Framebuffer
omapfb*		at fdt?			# TI OMAP3 Framebuffer
wsdisplay* 	at wsemuldisplaydev?
sunxidebe* 	at fdt? pass 4		# Display Backend
genfb* 		at sunxidebe?
sunxitcon* 	at fdt? pass 4		# LCD LVDS/RGB controller
sunxihdmi* 	at fdt? pass 4		# HDMI controller
connector* 	at fdt? pass 4
panel* 		at fdt? pass 4
#sunxidep must be after display pipeline elements but before genfb@fdt
sunxidep* 	at fdt? pass 5		# Display Engine Pipeline
tilcdc*		at fdt?			# TI OMAP4 LCDC
tifb*		at tilcdc?

options 	VCONS_DRAW_INTR
options 	WSEMUL_VT100
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

# PS/2 keyboard and mouse support
plkmi* 		at fdt?
pckbd* 		at pckbport?
wskbd* 		at pckbd? console ?
pms* 		at pckbport?
wsmouse* 	at pms? mux 0

# Touch Screen controller
sunxits* 	at fdt?			# Touch Screen controller
wsmouse* 	at sunxits? mux 0

# Thermal throttling controller
tegrasoctherm* 	at fdt?			# NVIDIA Tegra SOC_THERM

# USB
exusbphy* 	at fdt? pass 9		# Samsung Exynos USB2 PHY
exusbdrdphy* 	at fdt? pass 9		# Samsung Exynos USB3 DRD PHY
mesonusbphy* 	at fdt? pass 9		# Amlogic Meson USB2 PHY
sun9iusbphy* 	at fdt? pass 9		# Allwinner A80 USB PHY
sunxiusbphy* 	at fdt? pass 9		# Allwinner USB PHY
sunxiusb3phy* 	at fdt? pass 9		# Allwinner USB3 PHY
tegrausbphy* 	at fdt?			# NVIDIA Tegra USB PHY
usbnopphy*	at fdt? pass 9		# Generic USB PHY
tiotg*		at fdt?			# TI dual port OTG
tiusb*		at fdt? pass 9		# TI HS USB host
tiusbtll*	at fdt? pass 8		# TI HS USB host TLL
dwctwo* 	at fdt?			# Designware USB DRD
ehci* 		at fdt?			# EHCI
motg* 		at fdt?			# Mentor Graphics USB OTG
ohci* 		at fdt?			# OHCI
ehci* 		at fdt?			# EHCI
xhci* 		at fdt?			# XHCI
usb* 		at usbus?

# Virtio devices
virtio* 	at fdt?				# Virtio MMIO device
virtio* 	at pci? dev ? function ?	# Virtio PCI device
# the balloon driver cannot work on machines with non-4k pages
#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
scsibus* at scsi?
sd* 		at scsibus? target ? lun ?	# SCSI disks
st* 		at scsibus? target ? lun ?	# SCSI tapes
cd* 		at scsibus? target ? lun ?	# SCSI CD-ROMs
ch* 		at scsibus? target ? lun ?	# SCSI changer devices
ss* 		at scsibus? target ? lun ?	# SCSI scanners
ses* 		at scsibus? target ? lun ?	# SCSI SES/SAF-TE devices
uk* 		at scsibus? target ? lun ?	# unknown SCSI

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

cinclude "arch/evbarm/conf/GENERIC.local"