156abac3fSWarner Losh# 256abac3fSWarner Losh# NOTES -- Lines that can be cut/pasted into kernel and hints configs. 356abac3fSWarner Losh# 456abac3fSWarner Losh# This file contains machine dependent kernel configuration notes. For 556abac3fSWarner Losh# machine independent notes, look in /sys/conf/NOTES. 656abac3fSWarner Losh# 756abac3fSWarner Losh# 856abac3fSWarner Losh 956abac3fSWarner Losh# 1056abac3fSWarner Losh# We want LINT to cover profiling as well. 1156abac3fSWarner Losh# Except it's broken. 1256abac3fSWarner Losh#profile 2 1356abac3fSWarner Losh 1456abac3fSWarner Losh# 1556abac3fSWarner Losh# Enable the kernel DTrace hooks which are required to load the DTrace 1656abac3fSWarner Losh# kernel modules. 1756abac3fSWarner Losh# 1856abac3fSWarner Loshoptions KDTRACE_HOOKS 19*b3d0562dSGleb Smirnoffoptions KDTRACE_MIB_SDT 2056abac3fSWarner Losh 2156abac3fSWarner Losh# 2256abac3fSWarner Losh# Most of the following is copied from ARM64 GENERIC. 2356abac3fSWarner Loshcpu ARM64 2456abac3fSWarner Losh 2556abac3fSWarner Loshmakeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols 2656abac3fSWarner Loshmakeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support 2756abac3fSWarner Losh 2856abac3fSWarner Loshoptions PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. 2956abac3fSWarner Loshoptions KDTRACE_FRAME # Ensure frames are compiled in 3056abac3fSWarner Loshoptions VFP # Floating-point support 3156abac3fSWarner Loshoptions RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default 3256abac3fSWarner Losh 3356abac3fSWarner Losh# SoC support 3456abac3fSWarner Loshoptions SOC_ALLWINNER_A64 3556abac3fSWarner Loshoptions SOC_ALLWINNER_H5 36402c04afSAndrew Turneroptions SOC_ALLWINNER_H6 3756abac3fSWarner Loshoptions SOC_BRCM_BCM2837 380227a149SKyle Evansoptions SOC_BRCM_BCM2838 39402c04afSAndrew Turneroptions SOC_BRCM_NS2 402222b0e7SAndrew Turneroptions SOC_CAVM_THUNDERX 41402c04afSAndrew Turneroptions SOC_FREESCALE_IMX8 422222b0e7SAndrew Turneroptions SOC_HISI_HI6220 43402c04afSAndrew Turneroptions SOC_INTEL_STRATIX10 4456abac3fSWarner Loshoptions SOC_MARVELL_8K 45402c04afSAndrew Turneroptions SOC_NVIDIA_TEGRA210 46402c04afSAndrew Turneroptions SOC_NXP_LS 4773ad5af7SEmmanuel Vadotoptions SOC_ROCKCHIP 4856abac3fSWarner Loshoptions SOC_ROCKCHIP_RK3328 4956abac3fSWarner Loshoptions SOC_ROCKCHIP_RK3399 5073ad5af7SEmmanuel Vadotoptions SOC_ROCKCHIP_RK3568 5156abac3fSWarner Loshoptions SOC_XILINX_ZYNQ 5256abac3fSWarner Losh 5356abac3fSWarner Losh# Timer drivers 54c4530dffSMitchell Hornedevice aw_timer 5556abac3fSWarner Losh 5656abac3fSWarner Losh# Annapurna Alpine drivers 5756abac3fSWarner Loshdevice al_ccu # Alpine Cache Coherency Unit 5856abac3fSWarner Loshdevice al_nb_service # Alpine North Bridge Service 5956abac3fSWarner Loshdevice al_iofic # I/O Fabric Interrupt Controller 6056abac3fSWarner Loshdevice al_serdes # Serializer/Deserializer 6156abac3fSWarner Loshdevice al_udma # Universal DMA 6256abac3fSWarner Losh 6356abac3fSWarner Losh# Qualcomm Snapdragon drivers 6456abac3fSWarner Loshdevice qcom_gcc # Global Clock Controller 6556abac3fSWarner Losh 664d779448SXin LI# Google Virtual NIC 674d779448SXin LIdevice gve # Google Virtual NIC (gVNIC) driver 684d779448SXin LI 69b6a72a9fSAndrew Turner# Microsoft Hyper-V 70b6a72a9fSAndrew Turnerdevice hyperv 71b6a72a9fSAndrew Turner 7256abac3fSWarner Losh# CPU frequency control 7356abac3fSWarner Loshdevice cpufreq 7456abac3fSWarner Losh 75c3e77ab4SJohn Baldwin# Accelerated software crypto 76c3e77ab4SJohn Baldwindevice armv8crypto # ARMv8 OpenCrypto module 77c3e77ab4SJohn Baldwindevice ossl # OpenSSL OpenCrypto module 78c3e77ab4SJohn Baldwin 7956abac3fSWarner Losh# Bus drivers 8056abac3fSWarner Loshdevice al_pci # Annapurna Alpine PCI-E 8156abac3fSWarner Loshoptions PCI_HP # PCI-Express native HotPlug 8256abac3fSWarner Loshoptions PCI_IOV # PCI SR-IOV support 8356abac3fSWarner Losh 8456abac3fSWarner Losh# Ethernet NICs 8556abac3fSWarner Loshdevice mdio 8656abac3fSWarner Loshdevice awg # Allwinner EMAC Gigabit Ethernet 877113afc8SEmmanuel Vadotdevice axa # AMD Opteron A1100 integrated NIC 8856abac3fSWarner Loshdevice neta # Marvell Armada 370/38x/XP/3700 NIC 8956abac3fSWarner Loshdevice smc # SMSC LAN91C111 9056abac3fSWarner Loshdevice vnic # Cavium ThunderX NIC 9156abac3fSWarner Loshdevice al_eth # Annapurna Alpine Ethernet NIC 92a01dc140SMitchell Hornedevice dwc # Synopsys Designware GMAC Ethernet 9356abac3fSWarner Loshdevice dwc_rk # Rockchip Designware 9456abac3fSWarner Loshdevice dwc_socfpga # Altera SOCFPGA Ethernet MAC 9571d10453SEric Joynerdevice ice # Intel 800 Series Physical Function 9671d10453SEric Joynerdevice ice_ddp # Intel 800 Series DDP Package 9756abac3fSWarner Losh 9856abac3fSWarner Losh# Etherswitch devices 9956abac3fSWarner Loshdevice e6000sw # Marvell mv88e6085 based switches 10056abac3fSWarner Losh 1012f721943SWarner Losh# Storage 1022f721943SWarner Losh# Broadcom MPT Fusion, version 4, is 64-bit only 1032f721943SWarner Loshdevice mpi3mr # LSI-Logic MPT-Fusion 4 1042f721943SWarner Losh 10556abac3fSWarner Losh# MMC/SD/SDIO Card slot support 10656abac3fSWarner Loshdevice sdhci_xenon # Marvell Xenon SD/MMC controller 10756abac3fSWarner Loshdevice aw_mmc # Allwinner SD/MMC controller 10856abac3fSWarner Loshdevice dwmmc 10956abac3fSWarner Loshdevice dwmmc_altera 11056abac3fSWarner Loshdevice rk_emmcphy 11156abac3fSWarner Losh 11256abac3fSWarner Losh# Serial (COM) ports 11356abac3fSWarner Loshdevice uart_msm # Qualcomm MSM UART driver 11456abac3fSWarner Loshdevice uart_mu # RPI3 aux port 11556abac3fSWarner Loshdevice uart_mvebu # Armada 3700 UART driver 11656abac3fSWarner Loshdevice uart_ns8250 # ns8250-type UART driver 11756abac3fSWarner Loshdevice uart_snps 11856abac3fSWarner Loshdevice pl011 11956abac3fSWarner Losh 120b889b90aSAndrew Turner# Early printf using the pl011 uart under the Arm FVP 121b889b90aSAndrew Turneroptions SOCDEV_PA=0x1c090000 122b889b90aSAndrew Turneroptions EARLY_PRINTF=pl011 123b889b90aSAndrew Turner 12456abac3fSWarner Losh# USB support 12556abac3fSWarner Loshdevice aw_usbphy # Allwinner USB PHY 12656abac3fSWarner Loshdevice dwcotg # DWC OTG controller 12756abac3fSWarner Loshdevice ehci_mv # Marvell EHCI USB interface 12856abac3fSWarner Losh 12956abac3fSWarner Losh# USB ethernet support 13056abac3fSWarner Loshdevice muge 13156abac3fSWarner Loshdevice smsc 13256abac3fSWarner Losh 13356abac3fSWarner Losh# Sound support 13456abac3fSWarner Loshdevice a10_codec 13556abac3fSWarner Losh 13656abac3fSWarner Losh# DMA controller 13756abac3fSWarner Loshdevice a31_dmac 13856abac3fSWarner Losh 13956abac3fSWarner Losh# GPIO / PINCTRL 14056abac3fSWarner Loshdevice a37x0_gpio # Marvell Armada 37x0 GPIO controller 14156abac3fSWarner Loshdevice aw_gpio # Allwinner GPIO controller 14256abac3fSWarner Loshdevice fdt_pinctrl 14356abac3fSWarner Loshdevice mv_gpio # Marvell GPIO controller 14456abac3fSWarner Loshdevice mvebu_pinctrl # Marvell Pinmux Controller 14556abac3fSWarner Loshdevice rk_gpio # RockChip GPIO Controller 14656abac3fSWarner Loshdevice rk_pinctrl # RockChip Pinmux Controller 14756abac3fSWarner Losh 14856abac3fSWarner Losh# I2C 14956abac3fSWarner Loshdevice aw_rsb # Allwinner Reduced Serial Bus 15056abac3fSWarner Loshdevice bcm2835_bsc # Broadcom BCM283x I2C bus 15156abac3fSWarner Loshdevice twsi # Allwinner I2C controller 15256abac3fSWarner Loshdevice rk_i2c # RockChip I2C controller 15356abac3fSWarner Losh 15456abac3fSWarner Losh# Clock and reset controllers 15556abac3fSWarner Loshdevice aw_ccu # Allwinner clock controller 15656abac3fSWarner Losh 15756abac3fSWarner Losh# Interrupt controllers 15856abac3fSWarner Loshdevice aw_nmi # Allwinner NMI support 15956abac3fSWarner Loshdevice mv_cp110_icu # Marvell CP110 ICU 16056abac3fSWarner Loshdevice mv_ap806_gicp # Marvell AP806 GICP 16156abac3fSWarner Losh 16256abac3fSWarner Losh# Real-time clock support 16356abac3fSWarner Loshdevice aw_rtc # Allwinner Real-time Clock 16456abac3fSWarner Loshdevice mv_rtc # Marvell Real-time Clock 16556abac3fSWarner Losh 16656abac3fSWarner Losh# Watchdog controllers 16756abac3fSWarner Loshdevice aw_wdog # Allwinner Watchdog 16856abac3fSWarner Losh 16956abac3fSWarner Losh# Power management controllers 17056abac3fSWarner Loshdevice axp81x # X-Powers AXP81x PMIC 17173ad5af7SEmmanuel Vadotdevice rk8xx # RockChip RK8XX base support 17256abac3fSWarner Loshdevice rk805 # RockChip RK805 PMIC 17373ad5af7SEmmanuel Vadotdevice rk808 # RockChip RK808 PMIC 17473ad5af7SEmmanuel Vadotdevice rk817 # RockChip RK817 PMIC 17556abac3fSWarner Losh 17656abac3fSWarner Losh# EFUSE 17756abac3fSWarner Loshdevice aw_sid # Allwinner Secure ID EFUSE 17856abac3fSWarner Losh 17956abac3fSWarner Losh# Thermal sensors 18056abac3fSWarner Loshdevice aw_thermal # Allwinner Thermal Sensor Controller 18156abac3fSWarner Loshdevice mv_thermal # Marvell Thermal Sensor Controller 18256abac3fSWarner Losh 18356abac3fSWarner Losh# SPI 18456abac3fSWarner Loshdevice bcm2835_spi # Broadcom BCM283x SPI bus 18556abac3fSWarner Losh 18656abac3fSWarner Losh# PWM 18756abac3fSWarner Loshdevice pwm 18856abac3fSWarner Loshdevice aw_pwm 18956abac3fSWarner Losh 19056abac3fSWarner Loshdevice vt_efifb 191f8c451d2SAndrew Turnerdevice vt_simplefb 19256abac3fSWarner Losh 19356abac3fSWarner Losh# EVDEV support 19456abac3fSWarner Loshoptions EVDEV_SUPPORT # evdev support in legacy drivers 19556abac3fSWarner Loshdevice aw_cir 19656abac3fSWarner Losh 19756abac3fSWarner Losh# Pseudo devices. 19856abac3fSWarner Loshdevice clk 199bfd2ce2aSStephen J. Kiernandevice efidev # EFI pseudo-device 200bfd2ce2aSStephen J. Kiernandevice efirtc # EFI RTC 20156abac3fSWarner Loshdevice phy 20256abac3fSWarner Loshdevice hwreset 20356abac3fSWarner Loshdevice nvmem 20456abac3fSWarner Loshdevice regulator 20556abac3fSWarner Loshdevice syscon 20656abac3fSWarner Loshdevice aw_syscon 20756abac3fSWarner Losh 20890b8c0eaSEmmanuel Vadot# Backlight subsystem 20990b8c0eaSEmmanuel Vadotdevice backlight 21090b8c0eaSEmmanuel Vadot 211fce985b0SIan Lepore# Misc devices. 212fce985b0SIan Leporedevice pl330 # ARM PL330 dma controller 213fce985b0SIan Leporedevice xdma # xDMA framework for SoC on-chip dma controllers 214fce985b0SIan Lepore 21556abac3fSWarner Losh# Chip-specific errata 21656abac3fSWarner Loshoptions THUNDERX_PASS_1_1_ERRATA 21756abac3fSWarner Losh 218bfd2ce2aSStephen J. Kiernanoptions EFIRT # EFI Runtime Services 21956abac3fSWarner Loshoptions FDT 22056abac3fSWarner Loshdevice acpi 22156abac3fSWarner Losh 22256abac3fSWarner Losh# DTBs 22356abac3fSWarner Loshmakeoptions MODULES_EXTRA="dtb/allwinner dtb/rockchip dtb/rpi" 22456abac3fSWarner Losh 22556abac3fSWarner Losh# Add CAMDEBUG stuff 22656abac3fSWarner Loshoptions CAMDEBUG 22756abac3fSWarner Loshoptions CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH) 22856abac3fSWarner Losh 22956abac3fSWarner Losh# bring in camified MMC too 23056abac3fSWarner Loshoptions MMCCAM 23156abac3fSWarner Losh 23256abac3fSWarner Losh# arm64 doesn't support inb/outb, so disable chipset probing which needs it 23356abac3fSWarner Loshnooptions PPC_PROBE_CHIPSET 23456abac3fSWarner Losh 23556abac3fSWarner Losh# These cause weird issues, not sure why 23656abac3fSWarner Loshnooptions DEBUG 23756abac3fSWarner Losh 23856abac3fSWarner Losh# Makes assumptions about bus tags that aren't true on arm64 23956abac3fSWarner Loshnodevice snd_cmi 24056abac3fSWarner Losh 24156abac3fSWarner Losh# arm64 didn't exist for these releases, so doesn't have the required compat 24256abac3fSWarner Losh# support. Just disable them because they are meaningless. 24356abac3fSWarner Loshnooptions COMPAT_FREEBSD4 24456abac3fSWarner Loshnooptions COMPAT_FREEBSD5 24556abac3fSWarner Loshnooptions COMPAT_FREEBSD6 24656abac3fSWarner Loshnooptions COMPAT_FREEBSD7 24756abac3fSWarner Loshnooptions COMPAT_FREEBSD9 24856abac3fSWarner Loshnooptions COMPAT_FREEBSD10 24956abac3fSWarner Losh 25056abac3fSWarner Losh# arm64 supports 32-bit FreeBSD/arm binaries (armv[67] ABIs) 25156abac3fSWarner Loshoptions COMPAT_FREEBSD32 # Compatible with FreeBSD/arm 2526dfd7f4bSMatt Macy 253ac4ddc46SDmitry Salychevoptions IOMMU # ARM64 SMMU/IOMMU 254ac4ddc46SDmitry Salychev 2556dfd7f4bSMatt Macy##################################################################### 2566dfd7f4bSMatt Macy# ZFS support 2576dfd7f4bSMatt Macy 2586dfd7f4bSMatt Macyoptions ZFS 2590f0379faSVladimir Kondratyev 2600f0379faSVladimir Kondratyev# 2610f0379faSVladimir Kondratyev# HID-over-I2C support 2620f0379faSVladimir Kondratyev# 2630f0379faSVladimir Kondratyevdevice iichid # HID-over-I2C support 2640f0379faSVladimir Kondratyevoptions IICHID_DEBUG # Enable HID-over-I2C debug messages 2650f0379faSVladimir Kondratyevoptions IICHID_SAMPLING # Workaround missing GPIO INTR support 266