# # $NetBSD: GENERIC64,v 1.221 2024/12/09 22:17:31 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 # Heartbeat checks options HEARTBEAT options HEARTBEAT_MAX_PERIOD_DEFAULT=15 # 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 # Ampere Altra/Altra Max #options EARLYCONS=plcom, CONSADDR=0x100002600000 # 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? acpivmgenid* at acpi? # CPUs cpus* at fdt? pass 0 cpu* at fdt? pass 0 cpu* at acpi? vmt0 at cpu0 # 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? qcomgpio* at acpi? # Qualcomm GPIO rkgpio* at rkiomux? # Rockchip GPIO sunxigpio* at fdt? pass 3 # Allwinner GPIO tegragpio* at fdt? pass 2 # NVIDIA Tegra 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 igc* at pci? dev ? function ? # Intel 22x 2.5 gigabit ixg* at pci? dev ? function ? # Intel 8259x 10 gigabit ixl* at pci? dev ? function ? # Intel Ethernet 700 series 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 qcomiic* at acpi? # Qualcomm 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? # I2C HID devices ihidev* at iic? ims* at ihidev? reportid ? wsmouse* at ims? mux 0 ikbd* at ihidev? reportid ? wskbd* at ikbd? mux 1 # 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 ? auich* at pci? dev ? function ? # Intel AC'97 Audio (QEMU) eap* at pci? dev ? function ? # Ensoniq AudioPCI (QEMU) 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 viocon* at virtio? # Virtio serial 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"