#
#       $NetBSD: GENERIC,v 1.124 2025/09/07 03:53:37 thorpej Exp $
#
#       GENERIC ARM (aarch32) kernel
#

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

options         CPU_CORTEX

options         SOC_AM33XX
options         SOC_BCM2836
options         SOC_EXYNOS5422
options         SOC_IMX6DL
options         SOC_IMX6Q
options         SOC_IMX6QDL
options         SOC_IMX6SX
options         SOC_IMX7D
options         SOC_MESON8B
options         SOC_OMAP3
options         SOC_RK3288
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_SUN8I_V3S
options         SOC_SUN9I_A80
options         SOC_TEGRA124
options         SOC_ZYNQ7000

options         MULTIPROCESSOR

pseudo-device   openfirm        # /dev/openfirm

#options        DIAGNOSTIC      # internal consistency checks
#options        DEBUG
#options        LOCKDEBUG
#options        UVMHIST         # kernhist for uvm/pmap subsystems
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space

# Heartbeat checks
options         HEARTBEAT
options         HEARTBEAT_MAX_PERIOD_DEFAULT=15

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

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

#options        EARLYCONS=cycv, CONSADDR=0xffc02000

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

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

#options        EARLYCONS=imx, CONSADDR=0x02020000

# PICO-PI-IMX7
#options        EARLYCONS=imx, CONSADDR=0x30a70000 # serial4

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

#options        EARLYCONS=omap3, CONSADDR=0x49020000
#options        EARLYCONS=rk3328, CONSADDR=0xff130000
#options        EARLYCONS=sunxi, CONSADDR=0x01c28000

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

#options        EARLYCONS=vexpress, CONSADDR=0x1c090000
#options        EARLYCONS=zynq, CONSADDR=0xe0001000
#options        EARLYCONS=rk3288, CONSADDR=0xff690000

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

# 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 ?

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

# 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
imx6ccm*        at fdt? pass 1          # i.MX6Q* CCM
imx6sxccm*      at fdt? pass 1          # i.MX6SX CCM
imx7dccm*       at fdt? pass 2          # i.MX7D CCM
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
rkcru*          at fdt? pass 2          # Rockchip RK3288 CRU
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)
sun8iv3sccu*    at fdt? pass 2          # Allwinner V3s CCU
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
zynqclk*        at fdt? pass 1          # Xilinx Zynq PS clocks

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?

#
imxsnvs*        at fdt? pass 1          # Secure Non-Volatile Storage

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

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

# System Controller
imxocotp0       at fdt? pass 2          # On-Chip OTP Controller
syscon*         at fdt? pass 1          # Generic System Controller
tisysc*         at fdt? pass 2          # TI sysc interconnect

# 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
meson6timer*    at fdt?                 # Amlogic Timer
sunxitimer*     at fdt?                 # Allwinner async timer
sunxihstimer*   at fdt?                 # Allwinner High-Speed timer
tegratimer*     at fdt?                 # Timers

# Watchdog
a9wdt*          at fdt? pass 2          # ARM Cortex A5/A9 Watchdog
arma9wdt*       at a9wdt?
bcmpmwdog*      at fdt?                 # Broadcom BCM283x watchdog
dwcwdt*         at fdt?                 # DesignWare watchdog
imxwdog*        at fdt?                 # NXP i.MX 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
imxgpc*         at fdt? pass 2          # i.MX General Power Controller INTC
imx7gpc*        at fdt? pass 2          # i.MX General Power Controller v2 INTC
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
imxgpc*         at fdt? pass 2
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
imxgpio*        at fdt? pass 3          # i.MX GPIO
mesonpinctrl*   at fdt? pass 2          # Amlogic Meson GPIO
plgpio*         at fdt?                 # ARM PrimeCell GPIO
sunxigpio*      at fdt? pass 3          # Allwinner GPIO
rkgpio*         at rkiomux?             # Rockchip GPIO
tegragpio*      at fdt? pass 2          # NVIDIA Tegra GPIO
tigpio*         at fdt? pass 2          # TI GPIO
zynqgpio*       at fdt? pass 2          # Xilinx Zynq GPIO
gpio*           at gpiobus?

# IOMUX / MPIO / Pinmux
pinctrl*        at fdt? pass 2          # Generic pinctrl driver
imxiomux*       at fdt? pass 2          # i.MX IOMUX
rkiomux*        at fdt? pass 3          # Rockchip IOMUX
tegrapinmux*    at fdt?                 # NVIDIA Tegra MPIO

# PWM controller
expwm*          at fdt? pass 4          # PWM
imxpwm*         at fdt?                 # i.MX PWM
rkpwm*          at fdt? pass 3          # Rockchip 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
imxpcie*        at fdt?                 # i.MX 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)
enet*           at fdt?                 # i.MX FEC
smsh*           at fdt?                 # SMSC LAN9118

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

# MII/PHY support
atphy*          at mii? phy ?           # Attansic/Atheros 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
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
micphy*         at mii? phy ?           # Micrel KSZ[89]xxx 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
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
exuart*         at fdt? pass 4          # SSCOM UART
imxuart*        at fdt? pass 4          # i.MX UART
options         IMXUARTCONSOLE
mesonuart*      at fdt? pass 4          # Amlogic Meson UART
plcom*          at fdt? pass 4          # ARM PL011 UART
zynquart*       at fdt? pass 4          # Cadence UART

# I2C controllers
options         I2C_MAX_ADDR=0xfff
bsciic*         at fdt?                 # Broadcom BCM283x Serial Control
cdnsiic*        at fdt? pass 4          # Cadence I2C
exyoi2c*        at fdt?                 # Samsung Exynos I2C
imxi2c*         at fdt? pass 4          # i.MX 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
tiiic*          at fdt? pass 4          # TI OMAP I2C
iicmux*         at fdt? pass 5          # I2C mux virtual controllers
iic*            at i2cbus?

# I2C devices
ac100ic*        at iic?                 # AC100 integrated audio codec and RTC
ac100rtc*       at ac100ic?
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?
dsrtc*          at iic?                 # Dallas Semiconductor RTCs
em3027rtc*      at iic?
lmtemp*         at iic?                 # National Semiconductor LM7x
max77620pmic*   at iic?
pcaiicmux*      at iic?                 # PCA954x / PCA984x I2C switch / mux
pcf8563rtc*     at iic?                 # PCF8563 RTC
rkpmic*         at iic?                 # Rockchip Power Management IC
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
gscan*          at uhub? port ?         # Geschwister Schneider USB to CAN

# SPI
imxspi*         at fdt?                 # i.MX SPI
rkspi*          at fdt?                 # Rockchip SPI
sun4ispi*       at fdt?
sun6ispi*       at fdt?
spi*            at spibus?
spi*            at imxspi?

# SPI NOR-Flash
spiflash*       at spiflashbus?
m25p*           at spi? slave ?

# Random number generators
bcmrng*         at fdt?                 # Broadcom BCM283x RNG
mesonrng*       at fdt?                 # Amlogic Meson RNG
tirng*          at fdt?                 # TI RNG
rkv1crypto*     at fdt?                 # Rockchip Crypto v1
sun8icrypto*    at fdt?                 # Allwinner Crypto Engine

# 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
zynqxadc*       at fdt?                 # Xilinx 7 series ADC

# 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)
v3scodec*       at fdt?                 # Allwinner V3s audio codec (analog part)
hdaudio*        at fdt?                 # Intel HDA
hdafg*          at hdaudiobus?
options         HDAUDIOVERBOSE
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?
bwfm*           at sdmmc?               # Broadcom BCM43xxx WiFi Interface

# 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?
atabus*         at ahcisata? channel ?
atapibus*       at atapi?
wd*             at atabus? drive ?

# ATAPI devices
# flags have the same meaning as for IDE drives.
cd*             at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
sd*             at atapibus? drive ? flags 0x0000       # ATAPI disk drives
st*             at atapibus? drive ? flags 0x0000       # ATAPI tape drives
uk*             at atapibus? drive ? flags 0x0000       # ATAPI unknown

# 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?
dwhdmi*         at fdt?                 # Designware HDMI TX
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         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

# 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
imxusbphy*      at fdt? pass 9          # i.MX USB PHY
mesonusbphy*    at fdt? pass 9          # Amlogic Meson USB2 PHY
rk3288usb*      at fdt? pass 9          # Rockchip USB PHY
rk3288usbphy*   at rk3288usb?
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

imxusbc*        at fdt?
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
ehci*           at imxusbc?
motg*           at fdt?                 # Mentor Graphics USB OTG
ohci*           at fdt?                 # OHCI
xhci*           at fdt?                 # XHCI
usb*            at usbus?

# Virtio devices
virtio*         at fdt?                         # Virtio MMIO device
virtio*         at pci? dev ? function ?        # Virtio PCI device

include "dev/virtio/virtio.config"
no vio9p*       at virtio?      # PAGE_SIZE != VIRTIO_PAGE_SIZE
no viomb*       at virtio?      # PAGE_SIZE != VIRTIO_PAGE_SIZE

# 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

# SPI NOR flash support
m25p*           at spi?
spiflash*       at spiflashbus?

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

# Bluetooth USB Controllers
ubt* at uhub? port ?

# Bluetooth Device Hub
bthub* at bcsp?
bthub* at btuart?
bthub* at bthfive?
bthub* at ubt?

include "dev/bluetooth/bluetoothdevices.config"

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