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