#
# $NetBSD: GENERIC64,v 1.70 2018/12/21 14:52:12 jmcneill Exp $
#
# GENERIC ARM (aarch64) kernel
#
include "arch/evbarm/conf/std.generic64"
include "arch/evbarm/conf/files.generic64"
include "arch/evbarm/conf/GENERIC.common"
#
# FDT files supported by this kernel - add to DTSSUBDIR and DTS as
# appropriate
#
makeoptions DTSARCH="arm aarch64"
makeoptions DTSGNUARCH="arm arm64"
makeoptions DTSSUBDIR="allwinner broadcom nvidia rockchip"
makeoptions DTS="
bcm2837-rpi-3-b.dts
bcm2837-rpi-3-b-plus.dts
rk3328-evb.dts
rk3328-roc-cc.dts
rk3328-rock64.dts
rk3399-evb.dts
rk3399-firefly.dts
rk3399-gru-kevin.dts
rk3399-puma-haikou.dts
rk3399-rockpro64.dts
rk3399-sapphire-excavator.dts
rk3399-sapphire.dts
sun50i-a64-bananapi-m64.dts
sun50i-a64-nanopi-a64.dts
sun50i-a64-olinuxino.dts
sun50i-a64-orangepi-win.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-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-pine-h64.dts
tegra210-p2371-0000.dts
tegra210-p2371-2180.dts
tegra210-p2571.dts
tegra210-smaug.dts
"
options CPU_CORTEXA53
options CPU_CORTEXA57
options CPU_THUNDERX
options SOC_BCM2837
options SOC_RK3328
options SOC_RK3399
options SOC_SUN50I_A64
options SOC_SUN50I_H5
options SOC_SUN50I_H6
options SOC_TEGRA210
#options SOC_THUNDERX
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
# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.
#options EARLYCONS=bcm2837
#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).
#makeoptions KASAN=1 # Kernel Address Sanitizer
#options KASAN
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?
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
# Timer
gtmr* at fdt? pass 1 # ARM Generic Timer
gtmr* at acpi?
armgtmr0 at gtmr?
tegratimer* at fdt? # Timers
# Watchdog
sbsawdt* at acpi? # ARM SBSA-compliant watchdog
sunxiwdt* at fdt? # Allwinner watchdog
watchdog* at fdt? # Broadcom BCM283x 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? # 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
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)
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
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
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
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)
ena* at pci? dev ? function ? # Amazon.com Elastic Network Adapter
mskc* at pci? dev ? function ? # Marvell Yukon 2 Gigabit Ethernet
msk* at mskc?
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
com* at acpi?
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
bsciic* at fdt? # Broadcom BCM283x Serial Control
dwiic* at fdt? # Designware I2C
dwiic* at acpi?
rkiic* at fdt? # Rockchip I2C
sunxirsb* at fdt? # 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?
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
bcmrng* at fdt? # Broadcom BCM283x RNG
amdccp* at fdt? # AMD Cryptograhic Coprocessor RNG
amdccp* at acpi?
# RTC
plrtc* at fdt? # ARM PrimeCell RTC
sunxirtc* at fdt? # Allwinner RTC
tegrartc* at fdt? # NVIDIA Tegra RTC
# SDMMC
dwcmmc* at fdt? # Designware SD/MMC
mmcpwrseq* at fdt? # Simple MMC power sequence provider
sdhc* at fdt? # SD Host Controller Interface
sdhost* at fdt? # Broadcom BCM283x SD Host 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?
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?
# Audio support
hdaudio* at fdt? # Intel HDA
hdafg* at hdaudiobus?
options HDAUDIOVERBOSE
options HDAUDIO_32BIT_ACCESS
options HDAUDIO_ENABLE_HDMI
options HDAUDIO_ENABLE_DISPLAYPORT
ausoc* at fdt? # Simple SoC audio card
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
#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
pseudo-device wsmux
pseudo-device wsfont
# GPU
#nouveau* at fdt? # NVIDIA GPU
# Backlight
pwmbacklight* at fdt? # PWM Backlight controls
# Thermal throttling controller
sunxithermal* at fdt? # Allwinner thermal sensor controller
tegrasoctherm* at fdt? # NVIDIA Tegra SOC_THERM
# USB
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?
# 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"