1# 2# NOTES -- Lines that can be cut/pasted into kernel and hints configs. 3# 4# This file contains machine dependent kernel configuration notes. For 5# machine independent notes, look in /sys/conf/NOTES. 6# 7# 8 9# 10# We want LINT to cover profiling as well. 11# Except it's broken. 12#profile 2 13 14# 15# Enable the kernel DTrace hooks which are required to load the DTrace 16# kernel modules. 17# 18options KDTRACE_HOOKS 19options KDTRACE_MIB_SDT 20 21# 22# Most of the following is copied from ARM64 GENERIC. 23cpu ARM64 24 25makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols 26makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support 27 28options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 29options KDTRACE_FRAME # Ensure frames are compiled in 30options VFP # Floating-point support 31options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default 32 33# SoC support 34options SOC_ALLWINNER_A64 35options SOC_ALLWINNER_H5 36options SOC_ALLWINNER_H6 37options SOC_ALLWINNER_H616 38options SOC_BRCM_BCM2837 39options SOC_BRCM_BCM2838 40options SOC_BRCM_NS2 41options SOC_CAVM_THUNDERX 42options SOC_FREESCALE_IMX8 43options SOC_HISI_HI6220 44options SOC_INTEL_STRATIX10 45options SOC_MARVELL_8K 46options SOC_NVIDIA_TEGRA210 47options SOC_NXP_LS 48options SOC_ROCKCHIP 49options SOC_ROCKCHIP_RK3328 50options SOC_ROCKCHIP_RK3399 51options SOC_ROCKCHIP_RK3568 52options SOC_XILINX_ZYNQ 53 54# Timer drivers 55device aw_timer 56 57# Annapurna Alpine drivers 58device al_ccu # Alpine Cache Coherency Unit 59device al_nb_service # Alpine North Bridge Service 60device al_iofic # I/O Fabric Interrupt Controller 61device al_serdes # Serializer/Deserializer 62device al_udma # Universal DMA 63 64# Qualcomm Snapdragon drivers 65device qcom_gcc # Global Clock Controller 66 67# Google Virtual NIC 68device gve # Google Virtual NIC (gVNIC) driver 69 70# Microsoft Hyper-V 71device hyperv 72 73# CPU frequency control 74device cpufreq 75 76# Accelerated software crypto 77device armv8crypto # ARMv8 OpenCrypto module 78device ossl # OpenSSL OpenCrypto module 79 80# Bus drivers 81device al_pci # Annapurna Alpine PCI-E 82options PCI_HP # PCI-Express native HotPlug 83options PCI_IOV # PCI SR-IOV support 84 85# Ethernet NICs 86device mdio 87device awg # Allwinner EMAC Gigabit Ethernet 88device axa # AMD Opteron A1100 integrated NIC 89device neta # Marvell Armada 370/38x/XP/3700 NIC 90device smc # SMSC LAN91C111 91device vnic # Cavium ThunderX NIC 92device al_eth # Annapurna Alpine Ethernet NIC 93device dwc # Synopsys Designware GMAC Ethernet 94device dwc_rk # Rockchip Designware 95device dwc_socfpga # Altera SOCFPGA Ethernet MAC 96device ixl # Intel 700 Series Physical Function 97device ice # Intel 800 Series Physical Function 98device ice_ddp # Intel 800 Series DDP Package 99 100# Etherswitch devices 101device e6000sw # Marvell mv88e6085 based switches 102 103# Storage 104# Broadcom MPT Fusion, version 4, is 64-bit only 105device mpi3mr # LSI-Logic MPT-Fusion 4 106 107# MMC/SD/SDIO Card slot support 108device sdhci_xenon # Marvell Xenon SD/MMC controller 109device aw_mmc # Allwinner SD/MMC controller 110device dwmmc 111device dwmmc_altera 112device rk_emmcphy 113 114# Serial (COM) ports 115device uart_msm # Qualcomm MSM UART driver 116device uart_mu # RPI3 aux port 117device uart_mvebu # Armada 3700 UART driver 118device uart_ns8250 # ns8250-type UART driver 119device uart_snps 120device pl011 121 122# Early printf using the pl011 uart under the Arm FVP 123options SOCDEV_PA=0x1c090000 124options EARLY_PRINTF=pl011 125 126# USB support 127device aw_usbphy # Allwinner USB PHY 128device dwcotg # DWC OTG controller 129device ehci_mv # Marvell EHCI USB interface 130 131# USB ethernet support 132device muge 133device smsc 134 135# Sound support 136device a10_codec 137 138# DMA controller 139device a31_dmac 140 141# GPIO / PINCTRL 142device a37x0_gpio # Marvell Armada 37x0 GPIO controller 143device aw_gpio # Allwinner GPIO controller 144device fdt_pinctrl 145device mv_gpio # Marvell GPIO controller 146device mvebu_pinctrl # Marvell Pinmux Controller 147device rk_gpio # RockChip GPIO Controller 148device rk_pinctrl # RockChip Pinmux Controller 149 150# I2C 151device aw_rsb # Allwinner Reduced Serial Bus 152device bcm2835_bsc # Broadcom BCM283x I2C bus 153device twsi # Allwinner I2C controller 154device rk_i2c # RockChip I2C controller 155 156# Clock and reset controllers 157device aw_ccu # Allwinner clock controller 158 159# Interrupt controllers 160device aw_nmi # Allwinner NMI support 161device mv_cp110_icu # Marvell CP110 ICU 162device mv_ap806_gicp # Marvell AP806 GICP 163 164# Real-time clock support 165device aw_rtc # Allwinner Real-time Clock 166device mv_rtc # Marvell Real-time Clock 167 168# Watchdog controllers 169device aw_wdog # Allwinner Watchdog 170 171# Power management controllers 172device axp81x # X-Powers AXP81x PMIC 173device rk8xx # RockChip RK8XX base support 174device rk805 # RockChip RK805 PMIC 175device rk808 # RockChip RK808 PMIC 176device rk817 # RockChip RK817 PMIC 177 178# EFUSE 179device aw_sid # Allwinner Secure ID EFUSE 180 181# Thermal sensors 182device aw_thermal # Allwinner Thermal Sensor Controller 183device mv_thermal # Marvell Thermal Sensor Controller 184 185# SPI 186device bcm2835_spi # Broadcom BCM283x SPI bus 187 188# PWM 189device pwm 190device aw_pwm 191 192device vt_efifb 193device vt_simplefb 194 195# EVDEV support 196options EVDEV_SUPPORT # evdev support in legacy drivers 197device aw_cir 198 199# Pseudo devices. 200device clk 201device efidev # EFI pseudo-device 202device efirtc # EFI RTC 203device phy 204device hwreset 205device nvmem 206device regulator 207device syscon 208device aw_syscon 209 210# Backlight subsystem 211device backlight 212 213# Misc devices. 214device pl330 # ARM PL330 dma controller 215device xdma # xDMA framework for SoC on-chip dma controllers 216 217# Chip-specific errata 218options THUNDERX_PASS_1_1_ERRATA 219 220options EFIRT # EFI Runtime Services 221options FDT 222device acpi 223 224# DTBs 225makeoptions MODULES_EXTRA="dtb/allwinner dtb/rockchip dtb/rpi" 226 227# Add CAMDEBUG stuff 228options CAMDEBUG 229options CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH) 230 231# bring in camified MMC too 232options MMCCAM 233 234# arm64 doesn't support inb/outb, so disable chipset probing which needs it 235nooptions PPC_PROBE_CHIPSET 236 237# These cause weird issues, not sure why 238nooptions DEBUG 239 240# Makes assumptions about bus tags that aren't true on arm64 241nodevice snd_cmi 242 243# arm64 didn't exist for these releases, so doesn't have the required compat 244# support. Just disable them because they are meaningless. 245nooptions COMPAT_FREEBSD4 246nooptions COMPAT_FREEBSD5 247nooptions COMPAT_FREEBSD6 248nooptions COMPAT_FREEBSD7 249nooptions COMPAT_FREEBSD9 250nooptions COMPAT_FREEBSD10 251 252# arm64 supports 32-bit FreeBSD/arm binaries (armv[67] ABIs) 253options COMPAT_FREEBSD32 # Compatible with FreeBSD/arm 254 255options IOMMU # ARM64 SMMU/IOMMU 256 257##################################################################### 258# ZFS support 259 260options ZFS 261 262# 263# HID-over-I2C support 264# 265device iichid # HID-over-I2C support 266options IICHID_DEBUG # Enable HID-over-I2C debug messages 267options IICHID_SAMPLING # Workaround missing GPIO INTR support 268