xref: /f-stack/freebsd/arm64/conf/NOTES (revision 22ce4aff)
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