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