aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/conf/NOTES
blob: 031b5f9567b52dbf1d08d22c4a5be0b726713633 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
# This file contains machine dependent kernel configuration notes.  For
# machine independent notes, look in /sys/conf/NOTES.
#
#

#
# We want LINT to cover profiling as well.
# Except it's broken.
#profile         2

#
# Enable the kernel DTrace hooks which are required to load the DTrace
# kernel modules.
#
options 	KDTRACE_HOOKS

#
# Most of the following is copied from ARM64 GENERIC.
cpu		ARM64

makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
makeoptions	WITH_CTF=1		# Run ctfconvert(1) for DTrace support

options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
options 	KDTRACE_FRAME		# Ensure frames are compiled in
options 	VFP			# Floating-point support
options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default

# SoC support
options 	SOC_ALLWINNER_A64
options 	SOC_ALLWINNER_H5
options 	SOC_ALLWINNER_H6
options 	SOC_BRCM_BCM2837
options 	SOC_BRCM_BCM2838
options 	SOC_BRCM_NS2
options 	SOC_CAVM_THUNDERX
options 	SOC_FREESCALE_IMX8
options 	SOC_HISI_HI6220
options 	SOC_INTEL_STRATIX10
options 	SOC_MARVELL_8K
options 	SOC_NVIDIA_TEGRA210
options 	SOC_NXP_LS
options 	SOC_ROCKCHIP_RK3328
options 	SOC_ROCKCHIP_RK3399
options 	SOC_XILINX_ZYNQ

# Timer drivers
device		a10_timer

# Annapurna Alpine drivers
device		al_ccu			# Alpine Cache Coherency Unit
device		al_nb_service		# Alpine North Bridge Service
device		al_iofic		# I/O Fabric Interrupt Controller
device		al_serdes		# Serializer/Deserializer
device		al_udma			# Universal DMA

# Qualcomm Snapdragon drivers
device		qcom_gcc		# Global Clock Controller

# VirtIO support
device		virtio
device		virtio_pci
device		virtio_mmio
device		virtio_blk
device		vtnet

# Google Virtual NIC
device		gve		# Google Virtual NIC (gVNIC) driver

# Microsoft Hyper-V
device		hyperv

# CPU frequency control
device		cpufreq

# Accelerated software crypto
device		armv8crypto		# ARMv8 OpenCrypto module
device		ossl			# OpenSSL OpenCrypto module

# Bus drivers
device		al_pci		# Annapurna Alpine PCI-E
options 	PCI_HP			# PCI-Express native HotPlug
options 	PCI_IOV		# PCI SR-IOV support

# Ethernet NICs
device		mdio
device		awg		# Allwinner EMAC Gigabit Ethernet
device		axa		# AMD Opteron A1100 integrated NIC
device		neta		# Marvell Armada 370/38x/XP/3700 NIC
device  	smc		# SMSC LAN91C111
device		vnic		# Cavium ThunderX NIC
device		al_eth		# Annapurna Alpine Ethernet NIC
device		dwc_rk		# Rockchip Designware
device		dwc_socfpga	# Altera SOCFPGA Ethernet MAC
device		ice		# Intel 800 Series Physical Function
device		ice_ddp		# Intel 800 Series DDP Package

# Etherswitch devices
device		e6000sw		# Marvell mv88e6085 based switches

# NVM Express (NVMe) support
device		nvme		# base NVMe driver
options 	NVME_USE_NVD=0	# prefer the cam(4) based nda(4) driver
device		nvd		# expose NVMe namespaces as disks, depends on nvme

# MMC/SD/SDIO Card slot support
device		sdhci_xenon		# Marvell Xenon SD/MMC controller
device		aw_mmc			# Allwinner SD/MMC controller
device		dwmmc
device		dwmmc_altera
device		rk_emmcphy

# Serial (COM) ports
device		uart_msm	# Qualcomm MSM UART driver
device		uart_mu		# RPI3 aux port
device		uart_mvebu	# Armada 3700 UART driver
device		uart_ns8250	# ns8250-type UART driver
device		uart_snps
device		pl011

# USB support
device		aw_usbphy		# Allwinner USB PHY
device		dwcotg			# DWC OTG controller
device		ehci_mv			# Marvell EHCI USB interface

# USB ethernet support
device		muge
device		smsc

# Sound support
device a10_codec

# DMA controller
device		a31_dmac

# GPIO / PINCTRL
device		a37x0_gpio	# Marvell Armada 37x0 GPIO controller
device		aw_gpio		# Allwinner GPIO controller
device		fdt_pinctrl
device		mv_gpio		# Marvell GPIO controller
device		mvebu_pinctrl	# Marvell Pinmux Controller
device		rk_gpio		# RockChip GPIO Controller
device		rk_pinctrl	# RockChip Pinmux Controller

# I2C
device		aw_rsb		# Allwinner Reduced Serial Bus
device		bcm2835_bsc	# Broadcom BCM283x I2C bus
device		twsi		# Allwinner I2C controller
device		rk_i2c		# RockChip I2C controller

# Clock and reset controllers
device		aw_ccu		# Allwinner clock controller

# Interrupt controllers
device		aw_nmi		# Allwinner NMI support
device		mv_cp110_icu	# Marvell CP110 ICU
device		mv_ap806_gicp	# Marvell AP806 GICP

# Real-time clock support
device		aw_rtc		# Allwinner Real-time Clock
device		mv_rtc		# Marvell Real-time Clock

# Watchdog controllers
device		aw_wdog		# Allwinner Watchdog

# Power management controllers
device		axp81x		# X-Powers AXP81x PMIC
device		rk805		# RockChip RK805 PMIC

# EFUSE
device		aw_sid		# Allwinner Secure ID EFUSE

# Thermal sensors
device		aw_thermal	# Allwinner Thermal Sensor Controller
device		mv_thermal	# Marvell Thermal Sensor Controller

# SPI
device		bcm2835_spi	# Broadcom BCM283x SPI bus

# PWM
device		pwm
device		aw_pwm

device		vt_efifb
device		vt_simplefb

# EVDEV support
options 	EVDEV_SUPPORT		# evdev support in legacy drivers
device		aw_cir

# Pseudo devices.
options 	EFIRT		# EFI Runtime Services
device		clk
device		phy
device		hwreset
device		nvmem
device		regulator
device		syscon
device		aw_syscon

# Backlight subsystem
device		backlight

# Misc devices.
device		pl330		# ARM PL330 dma controller
device		xdma		# xDMA framework for SoC on-chip dma controllers

# Chip-specific errata
options 	THUNDERX_PASS_1_1_ERRATA

options 	FDT
device		acpi

# DTBs
makeoptions	MODULES_EXTRA="dtb/allwinner dtb/rockchip dtb/rpi"

# Add CAMDEBUG stuff
options 	CAMDEBUG
options 	CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)

# bring in camified MMC too
options 	MMCCAM

# arm64 doesn't support inb/outb, so disable chipset probing which needs it
nooptions 	PPC_PROBE_CHIPSET

# These cause weird issues, not sure why
nooptions 	DEBUG

# Makes assumptions about bus tags that aren't true on arm64
nodevice	snd_cmi

# arm64 didn't exist for these releases, so doesn't have the required compat
# support. Just disable them because they are meaningless.
nooptions 	COMPAT_FREEBSD4
nooptions 	COMPAT_FREEBSD5
nooptions 	COMPAT_FREEBSD6
nooptions 	COMPAT_FREEBSD7
nooptions 	COMPAT_FREEBSD9
nooptions 	COMPAT_FREEBSD10

# arm64 supports 32-bit FreeBSD/arm binaries (armv[67] ABIs)
options 	COMPAT_FREEBSD32	# Compatible with FreeBSD/arm

#####################################################################
# ZFS support

options 	ZFS

#
# HID-over-I2C support
#
device		iichid		# HID-over-I2C support
options 	IICHID_DEBUG	# Enable HID-over-I2C debug messages
options 	IICHID_SAMPLING	# Workaround missing GPIO INTR support