diff --git a/sys/arm64/conf/AL b/sys/arm64/conf/AL new file mode 100644 index 000000000000..b5eb983119c7 --- /dev/null +++ b/sys/arm64/conf/AL @@ -0,0 +1,27 @@ +# +# AL -- Annapurna Alpine kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident AL + +include "std.arm64" +include "std.dev" +include "std.al" diff --git a/sys/arm64/conf/ALLWINNER b/sys/arm64/conf/ALLWINNER new file mode 100644 index 000000000000..5cf5a0929894 --- /dev/null +++ b/sys/arm64/conf/ALLWINNER @@ -0,0 +1,27 @@ +# +# ALLWINNER -- Allwinner kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident ALLWINNER + +include "std.arm64" +include "std.dev" +include "std.allwinner" diff --git a/sys/arm64/conf/ALTERA b/sys/arm64/conf/ALTERA new file mode 100644 index 000000000000..707db3b5ae89 --- /dev/null +++ b/sys/arm64/conf/ALTERA @@ -0,0 +1,27 @@ +# +# ALTERA -- Intel Altera kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident ALTERA + +include "std.arm64" +include "std.dev" +include "std.altera" diff --git a/sys/arm64/conf/AMD b/sys/arm64/conf/AMD new file mode 100644 index 000000000000..27058d90dce4 --- /dev/null +++ b/sys/arm64/conf/AMD @@ -0,0 +1,27 @@ +# +# AMD -- AMD Seattle kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident AMD + +include "std.arm64" +include "std.dev" +include "std.amd" diff --git a/sys/arm64/conf/ARM b/sys/arm64/conf/ARM new file mode 100644 index 000000000000..78022aa4d568 --- /dev/null +++ b/sys/arm64/conf/ARM @@ -0,0 +1,27 @@ +# +# ARM -- ARM kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident ARM + +include "std.arm64" +include "std.dev" +include "std.arm" diff --git a/sys/arm64/conf/BROADCOM b/sys/arm64/conf/BROADCOM new file mode 100644 index 000000000000..0a5478a19d08 --- /dev/null +++ b/sys/arm64/conf/BROADCOM @@ -0,0 +1,27 @@ +# +# BROADCOM -- Broadcom kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident BROADCOM + +include "std.arm64" +include "std.dev" +include "std.broadcom" diff --git a/sys/arm64/conf/CAVIUM b/sys/arm64/conf/CAVIUM new file mode 100644 index 000000000000..4ab13de8e4ff --- /dev/null +++ b/sys/arm64/conf/CAVIUM @@ -0,0 +1,27 @@ +# +# CAVIUM -- Cavium kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident CAVIUM + +include "std.arm64" +include "std.dev" +include "std.cavium" diff --git a/sys/arm64/conf/GENERIC b/sys/arm64/conf/GENERIC index c096c4774f41..c716183aae61 100644 --- a/sys/arm64/conf/GENERIC +++ b/sys/arm64/conf/GENERIC @@ -16,383 +16,27 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD$ cpu ARM64 ident GENERIC -makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols -makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support +include "std.arm64" +include "std.dev" -options SCHED_ULE # ULE scheduler -options NUMA # Non-Uniform Memory Architecture support -options PREEMPTION # Enable kernel thread preemption -options VIMAGE # Subsystem virtualization, e.g. VNET -options INET # InterNETworking -options INET6 # IPv6 communications protocols -options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 -options ROUTE_MPATH # Multipath routing support -options FIB_ALGO # Modular fib lookups -options TCP_OFFLOAD # TCP offload -options TCP_HHOOK # hhook(9) framework for TCP -options TCP_RFC7413 # TCP Fast Open -options SCTP_SUPPORT # Allow kldload of SCTP -options KERN_TLS # TLS transmit & receive offload -options FFS # Berkeley Fast Filesystem -options SOFTUPDATES # Enable FFS soft updates support -options UFS_ACL # Support for access control lists -options UFS_DIRHASH # Improve performance on big directories -options UFS_GJOURNAL # Enable gjournal-based UFS journaling -options QUOTA # Enable disk quotas for UFS -options MD_ROOT # MD is a potential root device -options NFSCL # Network Filesystem Client -options NFSD # Network Filesystem Server -options NFSLOCKD # Network Lock Manager -options NFS_ROOT # NFS usable as /, requires NFSCL -options MSDOSFS # MSDOS Filesystem -options CD9660 # ISO 9660 Filesystem -options PROCFS # Process filesystem (requires PSEUDOFS) -options PSEUDOFS # Pseudo-filesystem framework -options TMPFS # Efficient memory filesystem -options GEOM_RAID # Soft RAID functionality. -options GEOM_LABEL # Provides labelization -options EFIRT # EFI Runtime Services support -options COMPAT_FREEBSD32 # Compatible with FreeBSD/arm -options COMPAT_FREEBSD11 # Compatible with FreeBSD11 -options COMPAT_FREEBSD12 # Compatible with FreeBSD12 -options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI -options KTRACE # ktrace(1) support -options STACK # stack(9) support -options SYSVSHM # SYSV-style shared memory -options SYSVMSG # SYSV-style message queues -options SYSVSEM # SYSV-style semaphores -options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions -options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. -options KBD_INSTALL_CDEV # install a CDEV entry in /dev -options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) -options AUDIT # Security event auditing -options CAPABILITY_MODE # Capsicum capability mode -options CAPABILITIES # Capsicum capabilities -options MAC # TrustedBSD MAC Framework -options KDTRACE_FRAME # Ensure frames are compiled in -options KDTRACE_HOOKS # Kernel DTrace hooks -options DDB_CTF # Kernel ELF linker loads CTF data -options VFP # Floating-point support -options RACCT # Resource accounting framework -options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default -options RCTL # Resource limits -options INTRNG -options LINUX_BOOT_ABI # Boot using booti command from U-Boot - -# Debugging support. Always need this: -options KDB # Enable kernel debugger support. -options KDB_TRACE # Print a stack trace for a panic. -# For full debugger support use (turn off in stable branch): -options DDB # Support DDB. -options GDB # Support remote GDB. -options DEADLKRES # Enable the deadlock resolver -options INVARIANTS # Enable calls of extra sanity checking -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS # Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed -options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones -options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence -options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default - -# Kernel Sanitizers -#options COVERAGE # Generic kernel coverage. Used by KCOV -#options KCOV # Kernel Coverage Sanitizer -# Warning: KUBSAN can result in a kernel too large for loader to load -#options KUBSAN # Kernel Undefined Behavior Sanitizer -#options KCSAN # Kernel Concurrency Sanitizer - -# Kernel dump features. -options EKCD # Support for encrypted kernel dumps -options GZIO # gzip-compressed kernel and user dumps -options ZSTDIO # zstd-compressed kernel and user dumps -options DEBUGNET # debugnet networking -options NETDUMP # netdump(4) client support - -# Make an SMP-capable kernel by default -options SMP # Symmetric MultiProcessor Kernel - -# SoC support -options SOC_ALLWINNER_A64 -options SOC_ALLWINNER_H5 -options SOC_ALLWINNER_H6 -options SOC_CAVM_THUNDERX -options SOC_FREESCALE_IMX8 -options SOC_HISI_HI6220 -options SOC_INTEL_STRATIX10 -options SOC_BRCM_BCM2837 -options SOC_BRCM_BCM2838 -options SOC_BRCM_NS2 -options SOC_MARVELL_8K -options SOC_NVIDIA_TEGRA210 -options SOC_NXP_LS -options SOC_ROCKCHIP_RK3328 -options SOC_ROCKCHIP_RK3399 -options SOC_XILINX_ZYNQ - -# Timer drivers -device a10_timer - -# Annapurna Alpine drivers -device al_ccu # Alpine Cache Coherency Unit -device al_nb_service # Alpine North Bridge Service -device al_iofic # I/O Fabric Interrupt Controller -device al_serdes # Serializer/Deserializer -device al_udma # Universal DMA - -# Qualcomm Snapdragon drivers -device qcom_gcc # Global Clock Controller - -# CPU frequency control -device cpufreq - -# Bus drivers -device pci -device pci_n1sdp # ARM Neoverse N1 SDP PCI -device al_pci # Annapurna Alpine PCI-E -options PCI_HP # PCI-Express native HotPlug -options PCI_IOV # PCI SR-IOV support - -# Block devices -device ahci -device scbus -device da -device pvscsi # VMware PVSCSI - -# ATA/SCSI peripherals -device cd # CD -device pass # Passthrough device (direct ATA/SCSI access) - -# NVM Express (NVMe) support -device nvme # base NVMe driver -options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver -device nvd # expose NVMe namespaces as disks, depends on nvme - -# DMA controller -device a31_dmac - -# GPIO / PINCTRL -device a37x0_gpio # Marvell Armada 37x0 GPIO controller -device aw_gpio # Allwinner GPIO controller -device dwgpio # Synopsys DesignWare APB GPIO Controller -device gpio -device gpioled -device fdt_pinctrl -device gpioregulator -device mv_gpio # Marvell GPIO controller -device mvebu_pinctrl # Marvell Pinmux Controller -device pl061 # Arm PL061 GPIO controller -device rk_gpio # RockChip GPIO Controller -device rk_pinctrl # RockChip Pinmux Controller - -# I2C -device a37x0_iic # Armada 37x0 I2C controller -device aw_rsb # Allwinner Reduced Serial Bus -device bcm2835_bsc # Broadcom BCM283x I2C bus -device iicbus -device iicmux -device iic -device icee # Generic IIC eeprom -device twsi # Allwinner I2C controller -device fan53555 # Fairchild Semi FAN53555/SYR82x Regulator -device pca9547 # NPX I2C bus multiplexer -device pcf8563 # NXP Real-time clock/calendar -device rk_i2c # RockChip I2C controller -device sy8106a # SY8106A Buck Regulator -device vf_i2c # Freescale Vybrid I2C controller -device fsliic # Freescale iMX I2C controller - -# Clock and reset controllers -device aw_ccu # Allwinner clock controller - -# Interrupt controllers -device aw_nmi # Allwinner NMI support -device aw_r_intc # Allwinner RINTC support -device mv_cp110_icu # Marvell CP110 ICU -device mv_ap806_gicp # Marvell AP806 GICP -device mv_ap806_sei # Marvell AP806 SEI - -# Real-time clock support -device aw_rtc # Allwinner Real-time Clock -device mv_rtc # Marvell Real-time Clock - -# Crypto accelerators -device armv8crypto # ARMv8 OpenCrypto module -device safexcel # Inside Secure EIP-97 - -# Watchdog controllers -device aw_wdog # Allwinner Watchdog - -# Power management controllers -device axp81x # X-Powers AXP81x PMIC -device rk805 # RockChip RK805 PMIC - -# EFUSE -device aw_sid # Allwinner Secure ID EFUSE - -# Thermal sensors -device aw_thermal # Allwinner Thermal Sensor Controller -device mv_thermal # Marvell Thermal Sensor Controller - -# SPI -device spibus -device a37x0_spi # Marvell Armada 37x0 SPI Controller -device bcm2835_spi # Broadcom BCM283x SPI bus -device rk_spi # RockChip SPI controller - -# PWM -device pwm -device aw_pwm -device rk_pwm - -# Console -device vt -device kbdmux - -device vt_efifb - -# EVDEV support -device evdev # input event device support -options EVDEV_SUPPORT # evdev support in legacy drivers -device uinput # install /dev/uinput cdev -device aw_cir - -# Serial (COM) ports -device uart # Generic UART driver -device uart_imx # iMX8 UART -device uart_msm # Qualcomm MSM UART driver -device uart_mu # RPI3 aux port -device uart_mvebu # Armada 3700 UART driver -device uart_ns8250 # ns8250-type UART driver -device uart_snps -device pl011 - -# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure -device iflib -device enetc # NXP Gigabit NIC -device em # Intel PRO/1000 Gigabit Ethernet Family -device ix # Intel 10Gb Ethernet Family -device vmx # VMware VMXNET3 Ethernet - -# Ethernet NICs -device mdio -device mii -device miibus # MII bus support -device al_eth # Annapurna Alpine Ethernet NIC -device awg # Allwinner EMAC Gigabit Ethernet -device axa # AMD Opteron A1100 integrated NIC -device cgem # Cadence GEM Gigabit Ethernet device -device dwc_rk # Rockchip Designware -device dwc_socfpga # Altera SOCFPGA Ethernet MAC -device ffec # iMX FFEC -device genet # Broadcom on RPi4 -device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet -device neta # Marvell Armada 370/38x/XP/3700 NIC -device re # RealTek 8139C+/8169/8169S/8110S -device smc # SMSC LAN91C111 -device vnic # Cavium ThunderX NIC - -# Etherswitch devices -device etherswitch # Enable etherswitch support -device miiproxy # Required for etherswitch -device e6000sw # Marvell mv88e6085 based switches - - -# Pseudo devices. -device crypto # core crypto support -device loop # Network loopback -device ether # Ethernet support -device vlan # 802.1Q VLAN support -device tuntap # Packet tunnel. -device md # Memory "disks" -device gif # IPv6 and IPv4 tunneling -device firmware # firmware assist module - -# EXT_RESOURCES pseudo devices -options EXT_RESOURCES -device clk -device phy -device hwreset -device nvmem -device regulator -device syscon -device aw_syscon - -# IO Domains -device rk_iodomain - -# The `bpf' device enables the Berkeley Packet Filter. -# Be aware of the administrative consequences of enabling this! -# Note that 'bpf' is required for DHCP. -device bpf # Berkeley packet filter - -# USB support -options USB_DEBUG # enable debug msgs -options USB_HOST_ALIGN=64 # Align usb buffers to cache line size. -device aw_usbphy # Allwinner USB PHY -device rk_usb2phy # Rockchip USB2PHY -device rk_typec_phy # Rockchip TypeC PHY -device dwcotg # DWC OTG controller -device musb # Mentor Graphics USB OTG controller -device ohci # OHCI USB interface -device uhci # UHCI USB interface -device ehci # EHCI USB interface (USB 2.0) -device ehci_mv # Marvell EHCI USB interface -device xhci # XHCI USB interface (USB 3.0) -device dwc3 # Synopsys DWC controller -device aw_dwc3 # Allwinner DWC3 controller -device rk_dwc3 # Rockchip DWC3 controller -device usb # USB Bus (required) -device ukbd # Keyboard -device umass # Disks/Mass storage - Requires scbus and da -device tegra210_xusb_fw # Tegra XUSB firmware - -# USB ethernet support -device muge -device smcphy -device smsc -device ure - -# Sound support -device sound -device a10_codec # Allwinner A10 codec -device aw_i2s # Allwinner I2S -device a33_codec # Allwinner A33 codec -device a64_codec # Allwinner A64 Analog codec - -# MMC/SD/SDIO Card slot support -device sdhci -device sdhci_xenon # Marvell Xenon SD/MMC controller -device aw_mmc # Allwinner SD/MMC controller -device mmc # mmc/sd bus -device mmcsd # mmc/sd flash cards -device dwmmc -device dwmmc_altera -device dwmmc_hisi -device rk_dwmmc -device rk_emmcphy - -# VirtIO support -device virtio # Generic VirtIO bus (required) -device virtio_pci # VirtIO PCI device -device virtio_mmio # VirtIO Memory Mapped IO device -device virtio_blk # VirtIO Block device -device virtio_scsi # VirtIO SCSI device -device vtnet # VirtIO Ethernet device - -# Chip-specific errata -options THUNDERX_PASS_1_1_ERRATA - -options FDT -device acpi - -# DTBs -makeoptions MODULES_EXTRA="dtb/allwinner dtb/freescale dtb/imx8 dtb/nvidia dtb/mv dtb/rockchip dtb/rpi" - -# HID support -options HID_DEBUG # enable debug msgs -device hid # Generic HID support +# Include SoC specific configuration +include "std.al" +include "std.allwinner" +include "std.altera" +include "std.amd" +include "std.arm" +include "std.broadcom" +include "std.cavium" +include "std.hisilicon" +include "std.imx" +include "std.marvell" +include "std.nvidia" +include "std.nxp" +include "std.qcom" +include "std.rockchip" +include "std.virt" +include "std.xilinx" diff --git a/sys/arm64/conf/HISILICON b/sys/arm64/conf/HISILICON new file mode 100644 index 000000000000..3c7eb9573fd2 --- /dev/null +++ b/sys/arm64/conf/HISILICON @@ -0,0 +1,27 @@ +# +# HISILICON -- HiSilicon kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident HISILICON + +include "std.arm64" +include "std.dev" +include "std.hisilicon" diff --git a/sys/arm64/conf/IMX b/sys/arm64/conf/IMX new file mode 100644 index 000000000000..b1d3821e077f --- /dev/null +++ b/sys/arm64/conf/IMX @@ -0,0 +1,27 @@ +# +# IMX -- IMX kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident IMX + +include "std.arm64" +include "std.dev" +include "std.imx" diff --git a/sys/arm64/conf/MARVELL b/sys/arm64/conf/MARVELL new file mode 100644 index 000000000000..60538e735e7e --- /dev/null +++ b/sys/arm64/conf/MARVELL @@ -0,0 +1,27 @@ +# +# MARVELL -- Marvell kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident MARVELL + +include "std.arm64" +include "std.dev" +include "std.marvell" diff --git a/sys/arm64/conf/NVIDIA b/sys/arm64/conf/NVIDIA new file mode 100644 index 000000000000..8d5ee13c9a01 --- /dev/null +++ b/sys/arm64/conf/NVIDIA @@ -0,0 +1,27 @@ +# +# NVIDIA -- NVIDIA kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident NVIDIA + +include "std.arm64" +include "std.dev" +include "std.nvidia" diff --git a/sys/arm64/conf/NXP b/sys/arm64/conf/NXP new file mode 100644 index 000000000000..51708d18277b --- /dev/null +++ b/sys/arm64/conf/NXP @@ -0,0 +1,27 @@ +# +# NXP -- NXP kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident NXP + +include "std.arm64" +include "std.dev" +include "std.nxp" diff --git a/sys/arm64/conf/QCOM b/sys/arm64/conf/QCOM new file mode 100644 index 000000000000..2e1ec2dea0ab --- /dev/null +++ b/sys/arm64/conf/QCOM @@ -0,0 +1,27 @@ +# +# QCOM -- Qualcomm kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident QCOM + +include "std.arm64" +include "std.dev" +include "std.qcom" diff --git a/sys/arm64/conf/ROCKCHIP b/sys/arm64/conf/ROCKCHIP new file mode 100644 index 000000000000..4024e422a473 --- /dev/null +++ b/sys/arm64/conf/ROCKCHIP @@ -0,0 +1,27 @@ +# +# ROCKCHIP -- Rockchip kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident ROCKCHIP + +include "std.arm64" +include "std.dev" +include "std.rockchip" diff --git a/sys/arm64/conf/VIRT b/sys/arm64/conf/VIRT new file mode 100644 index 000000000000..bd5256e428a5 --- /dev/null +++ b/sys/arm64/conf/VIRT @@ -0,0 +1,27 @@ +# +# VIRT -- Virt kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident VIRM + +include "std.arm64" +include "std.dev" +include "std.virt" diff --git a/sys/arm64/conf/XILINX b/sys/arm64/conf/XILINX new file mode 100644 index 000000000000..f4c45081bf06 --- /dev/null +++ b/sys/arm64/conf/XILINX @@ -0,0 +1,27 @@ +# +# XILINX -- Xilinx kernel configuration file for FreeBSD/arm64 +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# + +#NO_UNIVERSE + +cpu ARM64 +ident XILINX + +include "std.arm64" +include "std.dev" +include "std.xilinx" diff --git a/sys/arm64/conf/std.al b/sys/arm64/conf/std.al new file mode 100644 index 000000000000..1932b4b01044 --- /dev/null +++ b/sys/arm64/conf/std.al @@ -0,0 +1,27 @@ +# +# Annapurna AL SoC support +# + +# Annapurna Alpine drivers +device al_ccu # Alpine Cache Coherency Unit +device al_nb_service # Alpine North Bridge Service +device al_iofic # I/O Fabric Interrupt Controller +device al_serdes # Serializer/Deserializer +device al_udma # Universal DMA + +# Bus drivers +device al_pci # Annapurna Alpine PCI-E + +# Serial (COM) ports +device uart_ns8250 # ns8250-type UART driver + +# Ethernet NICs +device al_eth # Annapurna Alpine Ethernet NIC + +# The `bpf' device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +# Note that 'bpf' is required for DHCP. +device bpf # Berkeley packet filter + +options FDT +device acpi diff --git a/sys/arm64/conf/std.allwinner b/sys/arm64/conf/std.allwinner new file mode 100644 index 000000000000..851e158a5648 --- /dev/null +++ b/sys/arm64/conf/std.allwinner @@ -0,0 +1,72 @@ +# +# Allwinner SoC support +# + +# SoC support +options SOC_ALLWINNER_A64 +options SOC_ALLWINNER_H5 +options SOC_ALLWINNER_H6 + +# Timer drivers +device a10_timer + +# DMA controller +device a31_dmac + +# GPIO / PINCTRL +device aw_gpio # Allwinner GPIO controller + +# I2C +device aw_rsb # Allwinner Reduced Serial Bus +device twsi # Allwinner I2C controller +device sy8106a # SY8106A Buck Regulator + +# Clock and reset controllers +device aw_ccu # Allwinner clock controller + +# Interrupt controllers +device aw_nmi # Allwinner NMI support + +# Real-time clock support +device aw_rtc # Allwinner Real-time Clock + +# Watchdog controllers +device aw_wdog # Allwinner Watchdog + +# Power management controllers +device axp81x # X-Powers AXP81x PMIC + +# EFUSE +device aw_sid # Allwinner Secure ID EFUSE + +# Thermal sensors +device aw_thermal # Allwinner Thermal Sensor Controller + +# PWM + +# Serial (COM) ports +device uart_snps + +# Ethernet NICs +device awg # Allwinner EMAC Gigabit Ethernet + +# USB support +device aw_usbphy # Allwinner USB PHY +device musb # Mentor Graphics USB OTG controller +device dwc3 # Synopsys DWC controller +device aw_dwc3 # Allwinner DWC3 controller + +# Sound support +device a10_codec +device a10_codec # Allwinner A10 codec +device aw_i2s # Allwinner I2S +device a33_codec # Allwinner A33 codec +device a64_codec # Allwinner A64 Analog codec + +# MMC/SD/SDIO Card slot support +device aw_mmc # Allwinner SD/MMC controller + +options FDT + +# DTBs +makeoptions MODULES_EXTRA+="dtb/allwinner" diff --git a/sys/arm64/conf/std.altera b/sys/arm64/conf/std.altera new file mode 100644 index 000000000000..8ef17481c9e1 --- /dev/null +++ b/sys/arm64/conf/std.altera @@ -0,0 +1,21 @@ +# +# Altera SoC support +# + +# SoC support +options SOC_INTEL_STRATIX10 + +# GPIO / PINCTRL +device dwgpio # Synopsys DesignWare APB GPIO Controller + +# Serial (COM) ports +device uart_snps + +# Ethernet NICs +device dwc_socfpga # Altera SOCFPGA Ethernet MAC + +# MMC/SD/SDIO Card slot support +device dwmmc +device dwmmc_altera + +options FDT diff --git a/sys/arm64/conf/std.amd b/sys/arm64/conf/std.amd new file mode 100644 index 000000000000..75ba629da3c8 --- /dev/null +++ b/sys/arm64/conf/std.amd @@ -0,0 +1,16 @@ +# +# AMD Opteron SoC support +# + +# GPIO / PINCTRL +device pl061 # Arm PL061 GPIO controller + +# Serial (COM) ports +device pl011 + +# Ethernet NICs +device axa # AMD Opteron A1100 integrated NIC +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet + +options FDT +device acpi diff --git a/sys/arm64/conf/std.arm b/sys/arm64/conf/std.arm new file mode 100644 index 000000000000..af1958cef073 --- /dev/null +++ b/sys/arm64/conf/std.arm @@ -0,0 +1,15 @@ +# +# ARM SoC support +# + +# Bus drivers +device pci_n1sdp # ARM Neoverse N1 SDP PCI + +# GPIO / PINCTRL +device pl061 # Arm PL061 GPIO controller + +# Serial (COM) ports +device pl011 + +options FDT +device acpi diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64 new file mode 100644 index 000000000000..8460d449939d --- /dev/null +++ b/sys/arm64/conf/std.arm64 @@ -0,0 +1,98 @@ +# Standard kernel config items for all ARM64 systems. +# +# $FreeBSD$ + +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support + +options SCHED_ULE # ULE scheduler +options NUMA # Non-Uniform Memory Architecture support +options PREEMPTION # Enable kernel thread preemption +options VIMAGE # Subsystem virtualization, e.g. VNET +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options ROUTE_MPATH # Multipath routing support +options FIB_ALGO # Modular fib lookups +options TCP_OFFLOAD # TCP offload +options TCP_HHOOK # hhook(9) framework for TCP +options TCP_RFC7413 # TCP Fast Open +options SCTP_SUPPORT # Allow kldload of SCTP +options KERN_TLS # TLS transmit & receive offload +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options QUOTA # Enable disk quotas for UFS +options MD_ROOT # MD is a potential root device +options NFSCL # Network Filesystem Client +options NFSD # Network Filesystem Server +options NFSLOCKD # Network Lock Manager +options NFS_ROOT # NFS usable as /, requires NFSCL +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +options TMPFS # Efficient memory filesystem +options GEOM_RAID # Soft RAID functionality. +options GEOM_LABEL # Provides labelization +options EFIRT # EFI Runtime Services support +options COMPAT_FREEBSD32 # Compatible with FreeBSD/arm +options COMPAT_FREEBSD11 # Compatible with FreeBSD11 +options COMPAT_FREEBSD12 # Compatible with FreeBSD12 +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options STACK # stack(9) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) +options AUDIT # Security event auditing +options CAPABILITY_MODE # Capsicum capability mode +options CAPABILITIES # Capsicum capabilities +options MAC # TrustedBSD MAC Framework +options KDTRACE_FRAME # Ensure frames are compiled in +options KDTRACE_HOOKS # Kernel DTrace hooks +options DDB_CTF # Kernel ELF linker loads CTF data +options VFP # Floating-point support +options RACCT # Resource accounting framework +options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default +options RCTL # Resource limits +options INTRNG +options LINUX_BOOT_ABI # Boot using booti command from U-Boot + +# Debugging support. Always need this: +options KDB # Enable kernel debugger support. +options KDB_TRACE # Print a stack trace for a panic. +# For full debugger support use (turn off in stable branch): +options DDB # Support DDB. +options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver +options INVARIANTS # Enable calls of extra sanity checking +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +options WITNESS # Enable checks to detect deadlocks and cycles +options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed +options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones +options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence +options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default + +# Kernel Sanitizers +#options COVERAGE # Generic kernel coverage. Used by KCOV +#options KCOV # Kernel Coverage Sanitizer +# Warning: KUBSAN can result in a kernel too large for loader to load +#options KUBSAN # Kernel Undefined Behavior Sanitizer +#options KCSAN # Kernel Concurrency Sanitizer + +# Kernel dump features. +options EKCD # Support for encrypted kernel dumps +options GZIO # gzip-compressed kernel and user dumps +options ZSTDIO # zstd-compressed kernel and user dumps +options DEBUGNET # debugnet networking +options NETDUMP # netdump(4) client support + +# Make an SMP-capable kernel by default +options SMP # Symmetric MultiProcessor Kernel diff --git a/sys/arm64/conf/std.broadcom b/sys/arm64/conf/std.broadcom new file mode 100644 index 000000000000..8dfa8cec52d3 --- /dev/null +++ b/sys/arm64/conf/std.broadcom @@ -0,0 +1,33 @@ +# +# Broadcom SoC support +# + +# SoC support +options SOC_BRCM_BCM2837 +options SOC_BRCM_BCM2838 +options SOC_BRCM_NS2 + +# I2C +device bcm2835_bsc # Broadcom BCM283x I2C bus + +# SPI +device bcm2835_spi # Broadcom BCM283x SPI bus + +# Serial (COM) ports +device uart_mu # RPI3 aux port +device pl011 + +# Ethernet NICs +device genet # Broadcom on RPi4 + +# USB ethernet support +device muge + +# MMC/SD/SDIO Card slot support +device sdhci + +options FDT +device acpi + +# DTBs +makeoptions MODULES_EXTRA+="dtb/rpi" diff --git a/sys/arm64/conf/std.cavium b/sys/arm64/conf/std.cavium new file mode 100644 index 000000000000..7376efb506f7 --- /dev/null +++ b/sys/arm64/conf/std.cavium @@ -0,0 +1,27 @@ +# +# Cavium SoC support +# + +# SoC support +options SOC_CAVM_THUNDERX + +# Serial (COM) ports +device uart_ns8250 # ns8250-type UART driver +device uart_snps +device pl011 + +# Ethernet NICs +device vnic # Cavium ThunderX NIC + +# VirtIO support +device virtio +device virtio_pci +device virtio_mmio +device virtio_blk +device vtnet + +# Chip-specific errata +options THUNDERX_PASS_1_1_ERRATA + +options FDT +device acpi diff --git a/sys/arm64/conf/std.dev b/sys/arm64/conf/std.dev new file mode 100644 index 000000000000..f4c393e77839 --- /dev/null +++ b/sys/arm64/conf/std.dev @@ -0,0 +1,112 @@ +# Bus drivers +device pci +options PCI_HP # PCI-Express native HotPlug +options PCI_IOV # PCI SR-IOV support + +# CPU frequency control +device cpufreq + +# Block devices +device ahci +device scbus +device da + +# ATA/SCSI peripherals +device cd # CD +device pass # Passthrough device (direct ATA/SCSI access) + +# NVM Express (NVMe) support +device nvme # base NVMe driver +options NVME_USE_NVD=0 # prefer the cam(4) based nda(4) driver +device nvd # expose NVMe namespaces as disks, depends on nvme + +# GPIO / PINCTRL +device gpio +device gpioled +device fdt_pinctrl +device gpioregulator + +# I2C +device iicbus +device iicmux +device iic +device icee # Generic IIC eeprom + +# Crypto accelerators +device armv8crypto # ARMv8 OpenCrypto module + +# SPI +device spibus + +# PWM +device pwm + +# Serial (COM) ports +device uart # Generic UART driver + +# Console +device vt +device kbdmux + +device vt_efifb + +# Pseudo devices. +device crypto # core crypto support +device loop # Network loopback +device ether # Ethernet support +device vlan # 802.1Q VLAN support +device tuntap # Packet tunnel. +device md # Memory "disks" +device gif # IPv6 and IPv4 tunneling +device firmware # firmware assist module + +# EXT_RESOURCES pseudo devices +options EXT_RESOURCES +device clk +device phy +device hwreset +device nvmem +device regulator +device syscon + +# EVDEV support +device evdev # input event device support +options EVDEV_SUPPORT # evdev support in legacy drivers +device uinput # install /dev/uinput cdev + +# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure +device iflib +device em # Intel PRO/1000 Gigabit Ethernet Family +device ix # Intel 10Gb Ethernet Family + +# Ethernet NICs +device mdio +device mii +device miibus # MII bus support + +# The `bpf' device enables the Berkeley Packet Filter. +# Be aware of the administrative consequences of enabling this! +# Note that 'bpf' is required for DHCP. +device bpf # Berkeley packet filter + +# USB support +options USB_DEBUG # enable debug msgs +options USB_HOST_ALIGN=64 # Align usb buffers to cache line size. +device ohci # OHCI USB interface +device uhci # UHCI USB interface +device ehci # EHCI USB interface (USB 2.0) +device xhci # XHCI USB interface (USB 3.0) +device usb # USB Bus (required) +device ukbd # Keyboard +device umass # Disks/Mass storage - Requires scbus and da + +# Sound support +device sound + +# MMC/SD/SDIO Card slot support +device mmc # mmc/sd bus +device mmcsd # mmc/sd flash cards + +# HID support +options HID_DEBUG # enable debug msgs +device hid # Generic HID support diff --git a/sys/arm64/conf/std.hisilicon b/sys/arm64/conf/std.hisilicon new file mode 100644 index 000000000000..23835a8dc473 --- /dev/null +++ b/sys/arm64/conf/std.hisilicon @@ -0,0 +1,19 @@ +# +# HiSilicon SoC support +# + +# SoC support +options SOC_HISI_HI6220 + +# GPIO / PINCTRL +device dwgpio # Synopsys DesignWare APB GPIO Controller + +# Serial (COM) ports +device uart_snps + +# MMC/SD/SDIO Card slot support +device dwmmc +device dwmmc_hisi + +options FDT +device acpi diff --git a/sys/arm64/conf/std.imx b/sys/arm64/conf/std.imx new file mode 100644 index 000000000000..7a7e25cd33c6 --- /dev/null +++ b/sys/arm64/conf/std.imx @@ -0,0 +1,21 @@ +# +# IMX SoC support +# + +# SoC support +options SOC_FREESCALE_IMX8 + +# I2C +device vf_i2c # Freescale Vybrid I2C controller +device fsliic # Freescale iMX I2C controller + +# Serial (COM) ports +device uart_imx # iMX8 UART + +# MMC/SD/SDIO Card slot support +device sdhci + +options FDT + +# DTBs +makeoptions MODULES_EXTRA+="dtb/imx8" diff --git a/sys/arm64/conf/std.marvell b/sys/arm64/conf/std.marvell new file mode 100644 index 000000000000..d6437a426d48 --- /dev/null +++ b/sys/arm64/conf/std.marvell @@ -0,0 +1,58 @@ +# +# Marvell SoC support +# + +# SoC support +options SOC_MARVELL_8K + +# GPIO / PINCTRL +device a37x0_gpio # Marvell Armada 37x0 GPIO controller +device mv_gpio # Marvell GPIO controller +device mvebu_pinctrl # Marvell Pinmux Controller + +# I2C +device a37x0_iic # Armada 37x0 I2C controller +device twsi # Allwinner/Marvell I2C controller + +# Interrupt controllers +device mv_cp110_icu # Marvell CP110 ICU +device mv_ap806_gicp # Marvell AP806 GICP +device mv_ap806_sei # Marvell AP806 SEI + +# Real-time clock support +device mv_rtc # Marvell Real-time Clock + +# Crypto accelerators +device safexcel # Inside Secure EIP-97 + +# Thermal sensors +device mv_thermal # Marvell Thermal Sensor Controller + +# SPI +device a37x0_spi # Marvell Armada 37x0 SPI Controller + +# Serial (COM) ports +device uart_mvebu # Armada 3700 UART driver +device uart_ns8250 # ns8250-type UART driver +device uart_snps + +# Ethernet NICs +device neta # Marvell Armada 370/38x/XP/3700 NIC + +# Etherswitch devices +device etherswitch # Enable etherswitch support +device miiproxy # Required for etherswitch +device e6000sw # Marvell mv88e6085 based switches + +# USB support +device ehci_mv # Marvell EHCI USB interface + +# MMC/SD/SDIO Card slot support +device sdhci +device sdhci_xenon # Marvell Xenon SD/MMC controller + +options FDT +device acpi + +# DTBs +makeoptions MODULES_EXTRA+="dtb/mv" diff --git a/sys/arm64/conf/std.nvidia b/sys/arm64/conf/std.nvidia new file mode 100644 index 000000000000..fa12fdf8b90d --- /dev/null +++ b/sys/arm64/conf/std.nvidia @@ -0,0 +1,27 @@ +# +# NVidia SoC support +# + +# SoC support +options SOC_NVIDIA_TEGRA210 + +# Serial (COM) ports +device uart_ns8250 # ns8250-type UART driver +device uart_snps + +# Ethernet NICs +device re # RealTek 8139C+/8169/8169S/8110S + +# USB support +device tegra210_xusb_fw # Tegra XUSB firmware + +# USB NICs +device ure + +# MMC/SD/SDIO Card slot support +device sdhci + +options FDT + +# DTBs +makeoptions MODULES_EXTRA+="dtb/nvidia" diff --git a/sys/arm64/conf/std.nxp b/sys/arm64/conf/std.nxp new file mode 100644 index 000000000000..f67f4f0267ec --- /dev/null +++ b/sys/arm64/conf/std.nxp @@ -0,0 +1,26 @@ +# +# NXP SoC support +# + +# SoC support +options SOC_NXP_LS + +# I2C +device pca9547 # NPX I2C bus multiplexer +device pcf8563 # NXP Real-time clock/calendar + +# Serial (COM) ports +device uart_ns8250 # ns8250-type UART driver +device uart_snps + +# USB support +device dwc3 # Synopsys DWC controller + +# MMC/SD/SDIO Card slot support +device sdhci + +options FDT +device acpi + +# DTBs +makeoptions MODULES_EXTRA+="dtb/freescale" diff --git a/sys/arm64/conf/std.qcom b/sys/arm64/conf/std.qcom new file mode 100644 index 000000000000..4bac8ab83dca --- /dev/null +++ b/sys/arm64/conf/std.qcom @@ -0,0 +1,14 @@ +# +# Qualcomm SoC support +# + +# Qualcomm Snapdragon drivers +device qcom_gcc # Global Clock Controller + +# Serial (COM) ports +device uart_msm # Qualcomm MSM UART driver + +# MMC/SD/SDIO Card slot support +device sdhci + +options FDT diff --git a/sys/arm64/conf/std.rockchip b/sys/arm64/conf/std.rockchip new file mode 100644 index 000000000000..155eb0741894 --- /dev/null +++ b/sys/arm64/conf/std.rockchip @@ -0,0 +1,51 @@ +# +# Rockchip SoC support +# + +# SoC support +options SOC_ROCKCHIP_RK3328 +options SOC_ROCKCHIP_RK3399 + +# GPIO / PINCTRL +device dwgpio # Synopsys DesignWare APB GPIO Controller +device rk_gpio # RockChip GPIO Controller +device rk_pinctrl # RockChip Pinmux Controller + +# I2C +device rk_i2c # RockChip I2C controller +device fan53555 # Fairchild Semi FAN53555/SYR82x Regulator + +# Power management controllers +device rk805 # RockChip RK805 PMIC + +# SPI +device rk_spi # RockChip SPI controller + +# PWM +device rk_pwm + +# Serial (COM) ports +device uart_snps + +# Ethernet NICs +device dwc_rk # Rockchip Designware + +# IO Domains +device rk_iodomain + +# USB support +device rk_usb2phy # Rockchip USB2PHY +device rk_typec_phy # Rockchip TypeC PHY +device dwc3 # Synopsys DWC controller +device rk_dwc3 # Rockchip DWC3 controller + +# MMC/SD/SDIO Card slot support +device sdhci +device dwmmc +device rk_dwmmc +device rk_emmcphy + +options FDT + +# DTBs +makeoptions MODULES_EXTRA+="dtb/rockchip" diff --git a/sys/arm64/conf/std.virt b/sys/arm64/conf/std.virt new file mode 100644 index 000000000000..507e1321f3d1 --- /dev/null +++ b/sys/arm64/conf/std.virt @@ -0,0 +1,26 @@ +# +# Virt SoC support +# + +# Block devices +device pvscsi # VMware PVSCSI + +# GPIO / PINCTRL +device pl061 # Arm PL061 GPIO controller + +# Serial (COM) ports +device pl011 + +# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure +device vmx # VMware VMXNET3 Ethernet + +# VirtIO support +device virtio # Generic VirtIO bus (required) +device virtio_pci # VirtIO PCI device +device virtio_mmio # VirtIO Memory Mapped IO device +device virtio_blk # VirtIO Block device +device virtio_scsi # VirtIO SCSI device +device vtnet # VirtIO Ethernet device + +options FDT +device acpi diff --git a/sys/arm64/conf/std.xilinx b/sys/arm64/conf/std.xilinx new file mode 100644 index 000000000000..cc89e8575336 --- /dev/null +++ b/sys/arm64/conf/std.xilinx @@ -0,0 +1,19 @@ +# +# Xilinx SoC support +# + +# SoC support +options SOC_XILINX_ZYNQ + +# Serial (COM) ports +device uart_ns8250 # ns8250-type UART driver +device uart_snps +device pl011 + +# Ethernet NICs +device cgem # Cadence GEM Gigabit Ethernet device + +# MMC/SD/SDIO Card slot support +device sdhci + +options FDT