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