1b9413b55SAndrew Turner# 2f94d74ffSWarner Losh# GENERIC -- Generic(ish) kernel config. 3b9413b55SAndrew Turner# 4b9413b55SAndrew Turner# For more information on this file, please read the config(5) manual page, 5b9413b55SAndrew Turner# and/or the handbook section on Kernel Configuration Files: 6b9413b55SAndrew Turner# 7c1a14887SCeri Davies# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config 8b9413b55SAndrew Turner# 9b9413b55SAndrew Turner# The handbook is also available locally in /usr/share/doc/handbook 10b9413b55SAndrew Turner# if you've installed the doc distribution, otherwise always see the 11a2aef24aSEitan Adler# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the 12b9413b55SAndrew Turner# latest information. 13b9413b55SAndrew Turner# 14b9413b55SAndrew Turner# An exhaustive list of options and more detailed explanations of the 15b9413b55SAndrew Turner# device lines is also present in the ../../conf/NOTES and NOTES files. 16b9413b55SAndrew Turner# If you are in doubt as to the purpose or necessity of a line, check first 17b9413b55SAndrew Turner# in NOTES. 18b9413b55SAndrew Turner# 19b9413b55SAndrew Turner 20b9413b55SAndrew Turnerident GENERIC 21b9413b55SAndrew Turner 2293a065e7SMichal Melouncpu CPU_CORTEXA 2310ebf666SMarcin Wojtascpu CPU_MV_PJ4B 2493a065e7SMichal Melounoptions SMP_ON_UP 25094fc1edSWarner Loshmachine arm armv7 26b9413b55SAndrew Turnermakeoptions CONF_CFLAGS="-march=armv7a" 27b9413b55SAndrew Turner 28094fc1edSWarner Loshinclude "std.armv7" 29b9413b55SAndrew Turnerfiles "../allwinner/files.allwinner" 30bccf7982SEmmanuel Vadotfiles "../allwinner/files.allwinner_up" 31bccf7982SEmmanuel Vadotfiles "../allwinner/a10/files.a10" 32bccf7982SEmmanuel Vadotfiles "../allwinner/a13/files.a13" 33b9413b55SAndrew Turnerfiles "../allwinner/a20/files.a20" 34b9413b55SAndrew Turnerfiles "../allwinner/a31/files.a31" 35358e989fSEmmanuel Vadotfiles "../allwinner/a33/files.a33" 36b9413b55SAndrew Turnerfiles "../allwinner/a83t/files.a83t" 37b9413b55SAndrew Turnerfiles "../allwinner/h3/files.h3" 38e540b12fSEmmanuel Vadotfiles "../broadcom/bcm2835/files.bcm2836" 39e540b12fSEmmanuel Vadotfiles "../broadcom/bcm2835/files.bcm283x" 406b81683fSAndrew Turnerfiles "../freescale/imx/files.imx6" 4110ebf666SMarcin Wojtasfiles "../mv/files.arm7" 4265be9c9aSAndrew Turnerfiles "../nvidia/tegra124/files.tegra124" 43b9413b55SAndrew Turnerfiles "../qemu/files.qemu" 440f9a385aSMichal Melounfiles "../rockchip/files.rk32xx" 456b81683fSAndrew Turnerfiles "../xilinx/files.zynq7" 46b9413b55SAndrew Turner 47bccf7982SEmmanuel Vadotoptions SOC_ALLWINNER_A10 48bccf7982SEmmanuel Vadotoptions SOC_ALLWINNER_A13 49b9413b55SAndrew Turneroptions SOC_ALLWINNER_A20 50b9413b55SAndrew Turneroptions SOC_ALLWINNER_A31 51b9413b55SAndrew Turneroptions SOC_ALLWINNER_A31S 52358e989fSEmmanuel Vadotoptions SOC_ALLWINNER_A33 53b9413b55SAndrew Turneroptions SOC_ALLWINNER_A83T 547f613942SEmmanuel Vadotoptions SOC_ALLWINNER_H2PLUS 55b9413b55SAndrew Turneroptions SOC_ALLWINNER_H3 56e540b12fSEmmanuel Vadotoptions SOC_BCM2836 57850dd7e9SKyle Evansoptions SOC_BRCM_BCM2837 5810ebf666SMarcin Wojtasoptions SOC_MV_ARMADA38X 5910ebf666SMarcin Wojtasoptions SOC_MV_ARMADAXP 60b9413b55SAndrew Turner 61b9413b55SAndrew Turneroptions SCHED_ULE # ULE scheduler 62b9413b55SAndrew Turneroptions SMP # Enable multiple cores 63b9413b55SAndrew Turneroptions PLATFORM 6465be9c9aSAndrew Turneroptions LINUX_BOOT_ABI 65b9413b55SAndrew Turner 6634223f74SEmmanuel Vadot# pseudo devices 67b9413b55SAndrew Turnerdevice clk 68b9413b55SAndrew Turnerdevice phy 69b9413b55SAndrew Turnerdevice hwreset 70cfe196fbSEmmanuel Vadotdevice nvmem 71b9413b55SAndrew Turnerdevice regulator 722defb358SKyle Evansdevice syscon 73b9413b55SAndrew Turner 745a7f20b4SJared McNeill# CPU frequency control 755a7f20b4SJared McNeilldevice cpufreq 765a7f20b4SJared McNeill 77b9413b55SAndrew Turner# Interrupt controller 78b9413b55SAndrew Turnerdevice gic 7948687f73SEmmanuel Vadotdevice aw_r_intc 80b9413b55SAndrew Turner 815c73dd07SAndrew Turner# PMU support (for CCNT). 825c73dd07SAndrew Turnerdevice pmu 835c73dd07SAndrew Turner 84b9413b55SAndrew Turner# ARM Generic Timer 85b9413b55SAndrew Turnerdevice generic_timer 86c49cf114SOlivier Houcharddevice mpcore_timer 87b9413b55SAndrew Turner 88b9413b55SAndrew Turner# MMC/SD/SDIO Card slot support 890f9a385aSMichal Meloundevice dwmmc 9065be9c9aSAndrew Turnerdevice sdhci # SD controller 91b9413b55SAndrew Turnerdevice mmc # mmc/sd bus 92b9413b55SAndrew Turnerdevice mmcsd # mmc/sd flash cards 93b9413b55SAndrew Turner 94b9413b55SAndrew Turner# ATA controllers 95b9413b55SAndrew Turnerdevice ahci # AHCI-compatible SATA controllers 96b9413b55SAndrew Turner#device ata # Legacy ATA/SATA controllers 97b9413b55SAndrew Turner 9865be9c9aSAndrew Turner# PCI 9965be9c9aSAndrew Turnerdevice pci 10014c25c2aSBjoern A. Zeebdevice pci_host_generic 10165be9c9aSAndrew Turner 10265be9c9aSAndrew Turner# PCI NICs 10365be9c9aSAndrew Turnerdevice re # RealTek 8139C+/8169/8169S/8110S 10465be9c9aSAndrew Turner 105b9413b55SAndrew Turner# VirtIO 106b9413b55SAndrew Turnerdevice virtio 107b9413b55SAndrew Turnerdevice virtio_mmio 10814c25c2aSBjoern A. Zeebdevice virtio_pci 109b9413b55SAndrew Turnerdevice virtio_blk 110b9413b55SAndrew Turnerdevice vtnet 111b9413b55SAndrew Turner 112b9413b55SAndrew Turner# Console and misc 113b9413b55SAndrew Turnerdevice uart 11465be9c9aSAndrew Turnerdevice uart_ns8250 115b9413b55SAndrew Turnerdevice uart_snps 116b9413b55SAndrew Turnerdevice pl011 117b9413b55SAndrew Turnerdevice pty 118b9413b55SAndrew Turnerdevice snp 11965be9c9aSAndrew Turnerdevice md # Memory "disks" 1206b81683fSAndrew Turnerdevice firmware # firmware assist module 12175f48c23SAndrew Turnerdevice pl310 # PL310 L2 cache controller 122b9413b55SAndrew Turnerdevice psci 123b9413b55SAndrew Turner 124b9413b55SAndrew Turner# I2C support 125b9413b55SAndrew Turnerdevice iicbus 126b9413b55SAndrew Turnerdevice iic 127b9413b55SAndrew Turnerdevice twsi 128cd2b868bSEmmanuel Vadotdevice rsb # Allwinner Reduced Serial Bus 129cd2b868bSEmmanuel Vadotdevice p2wi # Allwinner Push-Pull Two Wire 130b9413b55SAndrew Turnerdevice axp209 # AXP209 Power Management Unit 131b9413b55SAndrew Turnerdevice axp81x # AXP813/818 Power Management Unit 132e540b12fSEmmanuel Vadotdevice bcm2835_bsc 1336b81683fSAndrew Turnerdevice fsliic # Freescale i2c/iic 1340f5da9cdSIan Leporedevice icee # AT24Cxxx and compatible EEPROMs 13551fefb04SJared McNeilldevice sy8106a # SY8106A Buck Regulator 136b9413b55SAndrew Turner 1370f5da9cdSIan Lepore# i2c RTCs 1380f5da9cdSIan Leporedevice ds1307 # Dallas DS1307 RTC and compatible 1391dc8df13SIan Leporedevice ds13rtc # All Dallas/Maxim DS13xx RTCs 1400f5da9cdSIan Leporedevice ds1672 # Dallas DS1672 RTC 1410f5da9cdSIan Leporedevice ds3231 # Dallas DS3231 RTC + temperature 1420f5da9cdSIan Leporedevice nxprtc # NXP RTCs: PCA/PFC212x PCA/PCF85xx 1431dc8df13SIan Leporedevice s35390a # Seiko s3539x RTCs 1440f5da9cdSIan Lepore 145b9413b55SAndrew Turner# GPIO 14650c365c4SRuslan Bukindevice dwgpio # Synopsys DesignWare APB GPIO Controller 147b9413b55SAndrew Turnerdevice gpio 1485c73dd07SAndrew Turnerdevice gpiobacklight 149b9413b55SAndrew Turnerdevice gpioled 15072f1cf04SJared McNeilldevice gpioregulator 151b9413b55SAndrew Turner 152a6e9118bSGanbold Tsagaankhuu# EVDEV support 153a6e9118bSGanbold Tsagaankhuudevice evdev # input event device support 154a6e9118bSGanbold Tsagaankhuuoptions EVDEV_SUPPORT # evdev support in legacy drivers 155a6e9118bSGanbold Tsagaankhuudevice uinput # install /dev/uinput cdev 156a6e9118bSGanbold Tsagaankhuudevice aw_cir 157a6e9118bSGanbold Tsagaankhuu 158e540b12fSEmmanuel Vadot# SPI 159e540b12fSEmmanuel Vadotdevice spibus 16044b5cf6fSEmmanuel Vadotdevice spigen 161e540b12fSEmmanuel Vadotdevice bcm2835_spi 1622e82757cSLuiz Otavio O Souzadevice mv_spi 1632de9b4d3SEmmanuel Vadotdevice zy7_qspi # Xilinx Zynq QSPI controller 1645c73dd07SAndrew Turner 16583b31910SIan Lepore# PWM 16683b31910SIan Leporedevice pwm 16783b31910SIan Lepore 1685c73dd07SAndrew Turner# Watchdog support 1696b81683fSAndrew Turnerdevice imxwdt # Watchdog. WARNING: can't be disabled!!! 170f52ce032SEmmanuel Vadotdevice aw_wdog # Allwinner Watchdog 171e540b12fSEmmanuel Vadot 172b9413b55SAndrew Turnerdevice scbus # SCSI bus (required for ATA/SCSI) 173b9413b55SAndrew Turnerdevice da # Direct Access (disks) 17465be9c9aSAndrew Turnerdevice cd # CD 175b9413b55SAndrew Turnerdevice pass # Passthrough device (direct ATA/SCSI access) 176b9413b55SAndrew Turner 177b9413b55SAndrew Turner# USB support 178b9413b55SAndrew Turneroptions USB_HOST_ALIGN=64 # Align usb buffers to cache line size. 179b9413b55SAndrew Turnerdevice usb 18010ebf666SMarcin Wojtasdevice uhci 181b9413b55SAndrew Turnerdevice ohci 182b9413b55SAndrew Turnerdevice ehci 18310ebf666SMarcin Wojtasdevice xhci 184e540b12fSEmmanuel Vadotdevice dwcotg # DWC OTG controller 1855c73dd07SAndrew Turnerdevice musb 186b9413b55SAndrew Turner 1876b81683fSAndrew Turnerdevice axe # USB-Ethernet 18865be9c9aSAndrew Turnerdevice umass # Disks/Mass storage - Requires scbus and da 189*13d00a43SEmmanuel Vadotdevice usbhid # USB HID Transport 19065be9c9aSAndrew Turnerdevice uhid # "Human Interface Devices" 191*13d00a43SEmmanuel Vadotdevice hkbd # Allow keyboard like HIDs to control console 19265be9c9aSAndrew Turnerdevice ukbd # Allow keyboard like HIDs to control console 193b9413b55SAndrew Turner 194a3cfc946SEd Maste# Device mode support 1955c73dd07SAndrew Turnerdevice usb_template # Control of the gadget 1965c73dd07SAndrew Turner 197b9413b55SAndrew Turner# Ethernet 198b9413b55SAndrew Turnerdevice loop 199b9413b55SAndrew Turnerdevice ether 20065be9c9aSAndrew Turnerdevice vlan # 802.1Q VLAN support 201b9413b55SAndrew Turnerdevice bpf 20210ebf666SMarcin Wojtasdevice mii 20310ebf666SMarcin Wojtasdevice mdio 20410ebf666SMarcin Wojtasdevice etherswitch 20510ebf666SMarcin Wojtasdevice e6000sw 206b9413b55SAndrew Turner 207047dd1cdSLuiz Otavio O Souza# Ethernet NICs that use the common MII bus controller code. 208047dd1cdSLuiz Otavio O Souza# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! 209b9413b55SAndrew Turnerdevice miibus 210b9413b55SAndrew Turner 211047dd1cdSLuiz Otavio O Souzadevice awg # 10/100/1000 integrated EMAC controller 212facdd1cdSThomas Skibodevice cgem # Cadence GEM Gigabit Ethernet device 213047dd1cdSLuiz Otavio O Souzadevice dwc # 10/100/1000 integrated GMAC controller 214047dd1cdSLuiz Otavio O Souzadevice emac # 10/100 integrated EMAC controller 2156b81683fSAndrew Turnerdevice ffec # Freescale Fast Ethernet Controller 21610ebf666SMarcin Wojtasdevice neta # Marvell 10/100/1000 Network controller 217047dd1cdSLuiz Otavio O Souzadevice smsc # SMSC LAN91C111 218047dd1cdSLuiz Otavio O Souza 219b9413b55SAndrew Turner# Sound support 220b9413b55SAndrew Turnerdevice sound 221b9413b55SAndrew Turner 222b9413b55SAndrew Turner# Framebuffer support 223b9413b55SAndrew Turnerdevice vt 224b9413b55SAndrew Turnerdevice kbdmux 225*13d00a43SEmmanuel Vadotdevice hms 226b9413b55SAndrew Turnerdevice ums 227b9413b55SAndrew Turnerdevice videomode 228e540b12fSEmmanuel Vadotdevice vchiq 229b9413b55SAndrew Turner 2308574d32fSEmmanuel Vadot# IMX6 HDMI Controller 2318574d32fSEmmanuel Vadotdevice dwc_hdmi 2328574d32fSEmmanuel Vadotdevice imx6_hdmi 2338574d32fSEmmanuel Vadotdevice imx6_ipu 2348574d32fSEmmanuel Vadot 235b9413b55SAndrew Turner# Pinmux 236b9413b55SAndrew Turnerdevice fdt_pinctrl 237b9413b55SAndrew Turner 238c49cf114SOlivier Houchard# DMA controller 239e94f1a0aSWarner Loshdevice fslsdma 240f52ce032SEmmanuel Vadotdevice a10_dmac 241f52ce032SEmmanuel Vadotdevice a31_dmac 242c49cf114SOlivier Houchard 243b9413b55SAndrew Turner# Extensible Firmware Interface 244b9413b55SAndrew Turneroptions EFI 245b9413b55SAndrew Turner 24610ebf666SMarcin Wojtas# Marvell Cryptographic Engine and Security Accelerator 24710ebf666SMarcin Wojtasdevice cesa 24810ebf666SMarcin Wojtasdevice crypto 24910ebf666SMarcin Wojtasdevice cryptodev 25010ebf666SMarcin Wojtas 251f52ce032SEmmanuel Vadot# RTC 252f52ce032SEmmanuel Vadotdevice imx6_snvs # IMX6 On-chip RTC 253f52ce032SEmmanuel Vadotdevice aw_rtc # Allwinner On-chip RTC 254f52ce032SEmmanuel Vadot 255f52ce032SEmmanuel Vadot# EFUSE 256f52ce032SEmmanuel Vadotdevice aw_sid # Allwinner Secure ID EFUSE 257f52ce032SEmmanuel Vadot 258f52ce032SEmmanuel Vadot# Thermal sensors 259f52ce032SEmmanuel Vadotdevice aw_thermal # Allwinner Thermal Sensor Controller 260638a5afdSIan Lepore 26167de2db2SVladimir Kondratyev# HID support 26267de2db2SVladimir Kondratyevdevice hid # Generic HID support 263*13d00a43SEmmanuel Vadotdevice hidbus # Generic HID Bus 26467de2db2SVladimir Kondratyev 265b9413b55SAndrew Turner# Flattened Device Tree 266b9413b55SAndrew Turneroptions FDT # Configure using FDT/DTB data 2675935e646SIan Leporemakeoptions MODULES_EXTRA+="dtb/allwinner" 2685935e646SIan Leporemakeoptions MODULES_EXTRA+="dtb/imx6" 2695935e646SIan Leporemakeoptions MODULES_EXTRA+="dtb/nvidia" 2700f9a385aSMichal Melounmakeoptions MODULES_EXTRA+="dtb/rockchip" 2715935e646SIan Leporemakeoptions MODULES_EXTRA+="dtb/rpi" 2725935e646SIan Leporemakeoptions MODULES_EXTRA+="dtb/zynq" 2735935e646SIan Lepore 2746e14f601SIan Lepore# SOC-specific modules 2756e14f601SIan Leporemakeoptions MODULES_EXTRA+="allwinner" 2766e14f601SIan Leporemakeoptions MODULES_EXTRA+="imx" 277