]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/arm64/conf/GENERIC
Include dwgpio to the build.
[FreeBSD/FreeBSD.git] / sys / arm64 / conf / GENERIC
1 #
2 # GENERIC -- Generic kernel configuration file for FreeBSD/arm64
3 #
4 # For more information on this file, please read the config(5) manual page,
5 # and/or the handbook section on Kernel Configuration Files:
6 #
7 #    https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
8 #
9 # The handbook is also available locally in /usr/share/doc/handbook
10 # if you've installed the doc distribution, otherwise always see the
11 # FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
12 # latest information.
13 #
14 # An exhaustive list of options and more detailed explanations of the
15 # device lines is also present in the ../../conf/NOTES and NOTES files.
16 # If you are in doubt as to the purpose or necessity of a line, check first
17 # in NOTES.
18 #
19 # $FreeBSD$
20
21 cpu             ARM64
22 ident           GENERIC
23
24 makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
25 makeoptions     WITH_CTF=1              # Run ctfconvert(1) for DTrace support
26
27 options         SCHED_ULE               # ULE scheduler
28 options         PREEMPTION              # Enable kernel thread preemption
29 options         VIMAGE                  # Subsystem virtualization, e.g. VNET
30 options         INET                    # InterNETworking
31 options         INET6                   # IPv6 communications protocols
32 options         IPSEC_SUPPORT           # Allow kldload of ipsec and tcpmd5
33 options         TCP_HHOOK               # hhook(9) framework for TCP
34 options         TCP_OFFLOAD             # TCP offload
35 options         TCP_RFC7413             # TCP Fast Open
36 options         SCTP                    # Stream Control Transmission Protocol
37 options         FFS                     # Berkeley Fast Filesystem
38 options         SOFTUPDATES             # Enable FFS soft updates support
39 options         UFS_ACL                 # Support for access control lists
40 options         UFS_DIRHASH             # Improve performance on big directories
41 options         UFS_GJOURNAL            # Enable gjournal-based UFS journaling
42 options         QUOTA                   # Enable disk quotas for UFS
43 options         MD_ROOT                 # MD is a potential root device
44 options         NFSCL                   # Network Filesystem Client
45 options         NFSD                    # Network Filesystem Server
46 options         NFSLOCKD                # Network Lock Manager
47 options         NFS_ROOT                # NFS usable as /, requires NFSCL
48 options         MSDOSFS                 # MSDOS Filesystem
49 options         CD9660                  # ISO 9660 Filesystem
50 options         PROCFS                  # Process filesystem (requires PSEUDOFS)
51 options         PSEUDOFS                # Pseudo-filesystem framework
52 options         GEOM_RAID               # Soft RAID functionality.
53 options         GEOM_LABEL              # Provides labelization
54 options         COMPAT_FREEBSD32        # Compatible with FreeBSD/arm
55 options         COMPAT_FREEBSD11        # Compatible with FreeBSD11
56 options         COMPAT_FREEBSD12        # Compatible with FreeBSD12
57 options         SCSI_DELAY=5000         # Delay (in ms) before probing SCSI
58 options         KTRACE                  # ktrace(1) support
59 options         STACK                   # stack(9) support
60 options         SYSVSHM                 # SYSV-style shared memory
61 options         SYSVMSG                 # SYSV-style message queues
62 options         SYSVSEM                 # SYSV-style semaphores
63 options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
64 options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
65 options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
66 options         HWPMC_HOOKS             # Necessary kernel hooks for hwpmc(4)
67 options         AUDIT                   # Security event auditing
68 options         CAPABILITY_MODE         # Capsicum capability mode
69 options         CAPABILITIES            # Capsicum capabilities
70 options         MAC                     # TrustedBSD MAC Framework
71 options         KDTRACE_FRAME           # Ensure frames are compiled in
72 options         KDTRACE_HOOKS           # Kernel DTrace hooks
73 options         VFP                     # Floating-point support
74 options         RACCT                   # Resource accounting framework
75 options         RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
76 options         RCTL                    # Resource limits
77 options         SMP
78 options         INTRNG
79
80 # Debugging support.  Always need this:
81 options         KDB                     # Enable kernel debugger support.
82 options         KDB_TRACE               # Print a stack trace for a panic.
83 # For full debugger support use (turn off in stable branch):
84 options         DDB                     # Support DDB.
85 #options        GDB                     # Support remote GDB.
86 options         DEADLKRES               # Enable the deadlock resolver
87 options         INVARIANTS              # Enable calls of extra sanity checking
88 options         INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
89 options         WITNESS                 # Enable checks to detect deadlocks and cycles
90 options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks for speed
91 options         MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
92 options         ALT_BREAK_TO_DEBUGGER   # Enter debugger on keyboard escape sequence
93 options         USB_DEBUG               # enable debug msgs
94 options         VERBOSE_SYSINIT=0       # Support debug.verbose_sysinit, off by default
95
96 # Kernel Sanitizers
97 #options        COVERAGE                # Generic kernel coverage. Used by KCOV
98 #options        KCOV                    # Kernel Coverage Sanitizer
99 # Warning: KUBSAN can result in a kernel too large for loader to load
100 #options        KUBSAN                  # Kernel Undefined Behavior Sanitizer
101
102 # Kernel dump features.
103 options         EKCD                    # Support for encrypted kernel dumps
104 options         GZIO                    # gzip-compressed kernel and user dumps
105 options         ZSTDIO                  # zstd-compressed kernel and user dumps
106 options         NETDUMP                 # netdump(4) client support
107
108 # SoC support
109 options         SOC_ALLWINNER_A64
110 options         SOC_ALLWINNER_H5
111 options         SOC_CAVM_THUNDERX
112 options         SOC_HISI_HI6220
113 options         SOC_BRCM_BCM2837
114 options         SOC_MARVELL_8K
115 options         SOC_ROCKCHIP_RK3328
116 options         SOC_ROCKCHIP_RK3399
117 options         SOC_XILINX_ZYNQ
118
119 # Timer drivers
120 device          a10_timer
121
122 # Annapurna Alpine drivers
123 device          al_ccu                  # Alpine Cache Coherency Unit
124 device          al_nb_service           # Alpine North Bridge Service
125 device          al_iofic                # I/O Fabric Interrupt Controller
126 device          al_serdes               # Serializer/Deserializer
127 device          al_udma                 # Universal DMA
128
129 # Qualcomm Snapdragon drivers
130 device          qcom_gcc                # Global Clock Controller
131
132 # VirtIO support
133 device          virtio
134 device          virtio_pci
135 device          virtio_mmio
136 device          virtio_blk
137 device          vtnet
138
139 # CPU frequency control
140 device          cpufreq
141
142 # Bus drivers
143 device          pci
144 device          al_pci          # Annapurna Alpine PCI-E
145 options         PCI_HP                  # PCI-Express native HotPlug
146 options         PCI_IOV         # PCI SR-IOV support
147
148 # PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
149 device          iflib
150 device          em              # Intel PRO/1000 Gigabit Ethernet Family
151 device          ix              # Intel 10Gb Ethernet Family
152
153 # Ethernet NICs
154 device          mdio
155 device          mii
156 device          miibus          # MII bus support
157 device          awg             # Allwinner EMAC Gigabit Ethernet
158 device          axgbe           # AMD Opteron A1100 integrated NIC
159 device          msk             # Marvell/SysKonnect Yukon II Gigabit Ethernet
160 device          neta            # Marvell Armada 370/38x/XP/3700 NIC
161 device          smc             # SMSC LAN91C111
162 device          vnic            # Cavium ThunderX NIC
163 device          al_eth          # Annapurna Alpine Ethernet NIC
164 device          dwc_rk          # Rockchip Designware
165 device          dwc_socfpga     # Altera SOCFPGA Ethernet MAC
166
167 # Etherswitch devices
168 device          etherswitch     # Enable etherswitch support
169 device          miiproxy        # Required for etherswitch
170 device          e6000sw         # Marvell mv88e6085 based switches
171
172 # Block devices
173 device          ahci
174 device          scbus
175 device          da
176
177 # ATA/SCSI peripherals
178 device          pass            # Passthrough device (direct ATA/SCSI access)
179
180 # NVM Express (NVMe) support
181 device          nvme            # base NVMe driver
182 options         NVME_USE_NVD=0  # prefer the cam(4) based nda(4) driver
183 device          nvd             # expose NVMe namespaces as disks, depends on nvme
184
185 # MMC/SD/SDIO Card slot support
186 device          sdhci
187 device          sdhci_xenon             # Marvell Xenon SD/MMC controller
188 device          aw_mmc                  # Allwinner SD/MMC controller
189 device          mmc                     # mmc/sd bus
190 device          mmcsd                   # mmc/sd flash cards
191 device          dwmmc
192 device          dwmmc_altera
193 device          rk_emmcphy
194
195 # Serial (COM) ports
196 device          uart            # Generic UART driver
197 device          uart_msm        # Qualcomm MSM UART driver
198 device          uart_mu         # RPI3 aux port
199 device          uart_mvebu      # Armada 3700 UART driver
200 device          uart_ns8250     # ns8250-type UART driver
201 device          uart_snps
202 device          pl011
203
204 # USB support
205 device          aw_ehci                 # Allwinner EHCI USB interface (USB 2.0)
206 device          aw_usbphy               # Allwinner USB PHY
207 device          dwcotg                  # DWC OTG controller
208 device          ohci                    # OHCI USB interface
209 device          ehci                    # EHCI USB interface (USB 2.0)
210 device          ehci_mv                 # Marvell EHCI USB interface
211 device          xhci                    # XHCI USB interface (USB 3.0)
212 device          usb                     # USB Bus (required)
213 device          ukbd                    # Keyboard
214 device          umass                   # Disks/Mass storage - Requires scbus and da
215
216 # USB ethernet support
217 device          muge
218 device          smcphy
219 device          smsc
220
221 # Sound support
222 device sound
223 device a10_codec
224
225 # DMA controller
226 device          a31_dmac
227
228 # GPIO / PINCTRL
229 device          a37x0_gpio      # Marvell Armada 37x0 GPIO controller
230 device          aw_gpio         # Allwinner GPIO controller
231 device          dwgpio          # Synopsys DesignWare APB GPIO Controller
232 device          gpio
233 device          gpioled
234 device          fdt_pinctrl
235 device          gpioregulator
236 device          mv_gpio         # Marvell GPIO controller
237 device          mvebu_pinctrl   # Marvell Pinmux Controller
238 device          rk_gpio         # RockChip GPIO Controller
239 device          rk_pinctrl      # RockChip Pinmux Controller
240
241 # I2C
242 device          aw_rsb          # Allwinner Reduced Serial Bus
243 device          bcm2835_bsc     # Broadcom BCM283x I2C bus
244 device          iicbus
245 device          iic
246 device          twsi            # Allwinner I2C controller
247 device          rk_i2c          # RockChip I2C controller
248 device          syr827          # Silergy SYR827 PMIC
249 device          sy8106a         # SY8106A Buck Regulator
250
251 # Clock and reset controllers
252 device          aw_ccu          # Allwinner clock controller
253
254 # Interrupt controllers
255 device          aw_nmi          # Allwinner NMI support
256 device          mv_cp110_icu    # Marvell CP110 ICU
257 device          mv_ap806_gicp   # Marvell AP806 GICP
258
259 # Real-time clock support
260 device          aw_rtc          # Allwinner Real-time Clock
261 device          mv_rtc          # Marvell Real-time Clock
262
263 # Watchdog controllers
264 device          aw_wdog         # Allwinner Watchdog
265
266 # Power management controllers
267 device          axp81x          # X-Powers AXP81x PMIC
268 device          rk805           # RockChip RK805 PMIC
269
270 # EFUSE
271 device          aw_sid          # Allwinner Secure ID EFUSE
272
273 # Thermal sensors
274 device          aw_thermal      # Allwinner Thermal Sensor Controller
275 device          mv_thermal      # Marvell Thermal Sensor Controller
276
277 # SPI
278 device          spibus
279 device          bcm2835_spi     # Broadcom BCM283x SPI bus
280
281 # PWM
282 device          pwm
283 device          aw_pwm
284
285 # Console
286 device          vt
287 device          kbdmux
288
289 device          vt_efifb
290
291 # EVDEV support
292 device          evdev                   # input event device support
293 options         EVDEV_SUPPORT           # evdev support in legacy drivers
294 device          uinput                  # install /dev/uinput cdev
295 device          aw_cir
296
297 # Pseudo devices.
298 device          crypto          # core crypto support
299 device          loop            # Network loopback
300 device          ether           # Ethernet support
301 device          vlan            # 802.1Q VLAN support
302 device          tuntap          # Packet tunnel.
303 device          md              # Memory "disks"
304 device          gif             # IPv6 and IPv4 tunneling
305 device          firmware        # firmware assist module
306 options         EFIRT           # EFI Runtime Services
307
308 # EXT_RESOURCES pseudo devices
309 options         EXT_RESOURCES
310 device          clk
311 device          phy
312 device          hwreset
313 device          nvmem
314 device          regulator
315 device          syscon
316 device          aw_syscon
317
318 # The `bpf' device enables the Berkeley Packet Filter.
319 # Be aware of the administrative consequences of enabling this!
320 # Note that 'bpf' is required for DHCP.
321 device          bpf             # Berkeley packet filter
322
323 # Chip-specific errata
324 options         THUNDERX_PASS_1_1_ERRATA
325
326 options         FDT
327 device          acpi
328
329 # DTBs
330 makeoptions     MODULES_EXTRA="dtb/allwinner dtb/mv dtb/rockchip dtb/rpi"