#
# $NetBSD: GENERIC64,v 1.103.2.13 2020/07/07 10:29:06 martin 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
#
# FDT files supported by this kernel - add to DTSSUBDIR and DTS as
# appropriate
#
makeoptions DTSARCH="arm aarch64"
makeoptions DTSGNUARCH="arm arm64"
makeoptions DTSSUBDIR="allwinner amlogic broadcom nvidia rockchip"
makeoptions DTS="
bcm2837-rpi-3-a-plus.dts
bcm2837-rpi-3-b.dts
bcm2837-rpi-3-b-plus.dts
bcm2837-rpi-cm3-io3.dts
meson-gxbb-nanopi-k2.dts
meson-gxbb-nexbox-a95x.dts
meson-gxbb-odroidc2.dts
meson-gxbb-p200.dts
meson-gxbb-p201.dts
meson-gxbb-vega-s95-meta.dts
meson-gxbb-vega-s95-pro.dts
meson-gxbb-vega-s95-telos.dts
meson-gxbb-wetek-hub.dts
meson-gxbb-wetek-play2.dts
meson-gxl-s805x-libretech-ac.dts
meson-gxl-s805x-p241.dts
meson-gxl-s905d-p230.dts
meson-gxl-s905d-p231.dts
meson-gxl-s905d-phicomm-n1.dts
meson-gxl-s905w-p281.dts
meson-gxl-s905w-tx3-mini.dts
meson-gxl-s905x-hwacom-amazetv.dts
meson-gxl-s905x-khadas-vim.dts
meson-gxl-s905x-libretech-cc.dts
meson-gxl-s905x-nexbox-a95x.dts
meson-gxl-s905x-p212.dts
rk3328-evb.dts
rk3328-roc-cc.dts
rk3328-rock64.dts
rk3399-evb.dts
rk3399-ficus.dts
rk3399-firefly.dts
rk3399-gru-bob.dts
rk3399-gru-kevin.dts
rk3399-gru-scarlet-inx.dts
rk3399-gru-scarlet-kd.dts
rk3399-nanopc-t4.dts
rk3399-nanopi-m4.dts
rk3399-pinebook-pro.dts
rk3399-puma-haikou.dts
rk3399-roc-pc.dts
rk3399-rock-pi-4.dts
rk3399-rock960.dts
rk3399-rockpro64.dts
rk3399-sapphire-excavator.dts
rk3399-sapphire.dts
sun50i-a64-amarula-relic.dts
sun50i-a64-bananapi-m64.dts
sun50i-a64-nanopi-a64.dts
sun50i-a64-olinuxino.dts
sun50i-a64-orangepi-win.dts
sun50i-a64-pine64-lts.dts
sun50i-a64-pine64-plus.dts
sun50i-a64-pine64.dts
sun50i-a64-pinebook.dts
sun50i-a64-sopine-baseboard.dts
sun50i-a64-teres-i.dts
sun50i-h5-bananapi-m2-plus-v1.2.dts
sun50i-h5-bananapi-m2-plus.dts
sun50i-h5-emlid-neutis-n5-devboard.dts
sun50i-h5-libretech-all-h3-cc.dts
sun50i-h5-nanopi-neo-plus2.dts
sun50i-h5-nanopi-neo2.dts
sun50i-h5-orangepi-pc2.dts
sun50i-h5-orangepi-prime.dts
sun50i-h5-orangepi-zero-plus.dts
sun50i-h5-orangepi-zero-plus2.dts
sun50i-h6-orangepi-lite2.dts
sun50i-h6-orangepi-one-plus.dts
sun50i-h6-pine-h64.dts
tegra210-p2371-0000.dts
tegra210-p2371-2180.dts
tegra210-p2571.dts
tegra210-p2894-0050-a08.dts
tegra210-smaug.dts
"
options CPU_CORTEXA53
options CPU_CORTEXA57
options CPU_THUNDERX
options SOC_BCM2837
options SOC_MESONGXBB
options SOC_MESONGXL
options SOC_RK3328
options SOC_RK3399
options SOC_SUN50I_A64
options SOC_SUN50I_H5
options SOC_SUN50I_H6
options SOC_TEGRA210
options SOC_VIRT
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 VERBOSE_INIT_ARM # verbose bootstrapping messages
options INCLUDE_CONFIG_FILE
# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.
#options EARLYCONS=bcm2837
#options EARLYCONS=meson, CONSADDR=0xc81004c0
#options EARLYCONS=rk3328, CONSADDR=0xff130000
#options EARLYCONS=rk3399, CONSADDR=0xff1a0000
#options EARLYCONS=sunxi, CONSADDR=0x01c28000
#options EARLYCONS=tegra, CONSADDR=0x70006000
#options EARLYCONS=thunderx, CONSADDR=0x87e024000000
#options EARLYCONS=virt
# 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
makeoptions DEBUG="-g" # compile full symbol table
makeoptions COPY_SYMTAB=1
config netbsd root on ? type ?
options COMPAT_NETBSD32
options EXEC_ELF32
# EFI runtime support
options EFI_RUNTIME
# Device tree support
armfdt0 at root
simplebus* at fdt? pass 0
# ACPI support
acpifdt* at fdt? pass 1
acpi* at acpifdt?
acpibut* at acpi?
acpiged* at acpi?
acpilid* at acpi?
# CPUs
cpus* at fdt? pass 0
cpu* at fdt? pass 0
cpu* at acpi?
# 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
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 1 # ARM Generic Timer
gtmr* at acpi?
armgtmr0 at gtmr?
tegratimer* at fdt? # Timers
# Watchdog
bcmpmwdog* at fdt? # Broadcom BCM283x watchdog
mesongxwdt* at fdt? # Amlogic Meson GX watchdog
sbsawdt* at acpi? # ARM SBSA-compliant watchdog
sunxiwdt* at fdt? # Allwinner watchdog
# Interrupt controller
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?
sunxinmi* at fdt? pass 2 # Allwinner NMI / R_INTC
# Memory controller
tegramc* at fdt? pass 4 # NVIDIA Tegra MC
# Firmware devices
bcmmbox* at fdt? # Broadcom VideoCore IV mailbox
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
# Clock and Reset controller
bcmcprman* at fdt? pass 1 # Broadcom BCM283x Clock Manager
bcmaux* at fdt? pass 1 # Broadcom BCM283x Aux Periph Clocks
gxbbaoclkc* at fdt? pass 2 # Amlogic Meson GXBB AO clock controller
gxbbclkc* at fdt? pass 2 # Amlogic Meson GXBB/GXL EE clock controller
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
bcmgpio* at fdt? # Broadcom BCM283x 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
rkpwm* at fdt? pass 3 # Rockchip PWM
sunxipwm* at fdt? pass 3 # Allwinner PWM
# MPIO / Pinmux
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
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)
aq* at pci? dev ? function ? # Aquantia AQC 10 gigabit
ena* at pci? dev ? function ? # Amazon.com Elastic Network Adapter
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
wm* at pci? dev ? function ? # Intel Gigabit Ethernet
# 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
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
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
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?
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
bsciic* at fdt? # Broadcom BCM283x Serial Control
dwiic* at fdt? # Designware I2C
dwiic* at acpi?
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
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
es8316ac* at iic? # Everest Semi ES8316 Audio CODEC
fan53555reg* at iic? # FAN53555 / SY82x regulator
max77620pmic* at iic?
pcf8563rtc* at iic? # PCF8563 RTC
rkpmic* at iic? # Rockchip Power Management IC
rkreg* at rkpmic?
tcagpio* at iic?
# Random number generators
amdccp* at fdt? # AMD Cryptograhic Coprocessor RNG
amdccp* at acpi?
bcmrng* at fdt? # Broadcom BCM283x RNG
mesonrng* at fdt? # Amlogic Meson RNG
sun8icrypto* at fdt? # Allwinner Crypto Engine
rkv1crypto* at fdt? # Rockchip Crypto v1
# RTC
plrtc* at fdt? # ARM PrimeCell RTC
sunxirtc* at fdt? # Allwinner RTC
tegrartc* at fdt? # NVIDIA Tegra RTC
# SDMMC
bcmsdhost* at fdt? # Broadcom BCM283x SD Host Interface
dwcmmc* at fdt? # Designware SD/MMC
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
sunximmc* at fdt? # Allwinner SD/MMC
sdmmc* at sdmmcbus?
ld0 at sdmmc0
ld1 at sdmmc1
ld2 at sdmmc2
ld3 at sdmmc3
ld* at sdmmc?
# SATA
ahcisata* at fdt? # AHCI SATA
ahcisata* at acpi?
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
rkspi* at fdt? # Rockchip SPI
sun6ispi* at fdt? # Allwinner SPI
spi* at spibus?
# Audio support
hdaudio* at fdt? # Intel HDA
hdaudio* at pci? dev ? function ?
hdafg* at hdaudiobus?
options HDAUDIOVERBOSE
options HDAUDIO_ENABLE_HDMI
options HDAUDIO_ENABLE_DISPLAYPORT
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 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
# Backlight
pwmbacklight* at fdt? # PWM Backlight controls
# Fan
pwmfan* at fdt? # PWM Fan controls
# Thermal throttling controller
sunxithermal* at fdt? # Allwinner thermal sensor controller
tegrasoctherm* at fdt? # NVIDIA Tegra SOC_THERM
rktsadc* at fdt? # RockChip TSASC
# USB
mesonusbphy* at fdt? pass 9 # Amlogic Meson USB2 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
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 bus support
scsibus* at scsi?
sd* at scsibus? target ? lun ? # SCSI disk drives
cinclude "arch/evbarm/conf/GENERIC64.local"