GENERIC64 revision 1.167
1#
2#	$NetBSD: GENERIC64,v 1.167 2020/12/13 20:40:38 jmcneill Exp $
3#
4#	GENERIC ARM (aarch64) kernel
5#
6
7include	"arch/evbarm/conf/std.generic64"
8include "arch/evbarm/conf/files.generic64"
9include	"arch/evbarm/conf/GENERIC.common"
10
11maxusers	64
12
13options 	CPU_CORTEX
14options 	CPU_THUNDERX
15options 	SOC_BCM2837
16options 	SOC_MESONGXBB
17options 	SOC_MESONGXL
18options 	SOC_RK3328
19options 	SOC_RK3399
20options 	SOC_SUN50I_A64
21options 	SOC_SUN50I_H5
22options 	SOC_SUN50I_H6
23options 	SOC_TEGRA210
24options 	SOC_VIRT
25options 	MULTIPROCESSOR
26
27pseudo-device 	openfirm	# /dev/openfirm
28
29#options 	DIAGNOSTIC	# internal consistency checks
30#options 	DEBUG
31#options 	LOCKDEBUG
32#options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
33options 	INCLUDE_CONFIG_FILE
34#options 	UVMHIST		# kernhist for uvm/pmap subsystems
35#options 	UVMHIST_PRINT,KERNHIST_DELAY=0
36
37# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.
38#options 	EARLYCONS=bcm2837, CONSADDR=0x3f215040
39#options 	EARLYCONS=bcm2711, CONSADDR=0xfe215040
40#options 	EARLYCONS=meson, CONSADDR=0xc81004c0
41#options 	EARLYCONS=rk3328, CONSADDR=0xff130000
42#options 	EARLYCONS=rk3399, CONSADDR=0xff1a0000
43#options 	EARLYCONS=sunxi, CONSADDR=0x01c28000
44#options 	EARLYCONS=tegra, CONSADDR=0x70006000
45#options 	EARLYCONS=thunderx, CONSADDR=0x87e024000000
46#options 	EARLYCONS=virt, CONSADDR=0x09000000
47
48# Privileged Access Never (PAN).
49options 	ARMV81_PAN
50
51# Pointer Authentication (PAC).
52#makeoptions 	ARMV83_PAC=1
53#options 	ARMV83_PAC
54
55# Branch Target Identification (BTI).
56#makeoptions 	ARMV85_BTI=1
57#options 	ARMV85_BTI
58
59# Kernel Undefined Behavior Sanitizer (kUBSan). Use UBSAN_ALWAYS_FATAL
60# if you want panics instead of warnings.
61#options 	KUBSAN			# mandatory
62#options 	UBSAN_ALWAYS_FATAL	# optional
63
64# Kernel Address Sanitizer (kASan). The quarantine is optional and can
65# help KASAN find more use-after-frees. Use KASAN_PANIC if you want panics
66# instead of warnings.
67#makeoptions 	KASAN=1		# mandatory
68#options 	KASAN		# mandatory
69#options 	POOL_QUARANTINE	# optional
70#options 	KASAN_PANIC	# optional
71
72makeoptions	DEBUG="-g"	# compile full symbol table
73makeoptions	COPY_SYMTAB=1
74
75config		netbsd		root on ? type ?
76
77options 	COMPAT_NETBSD32
78options 	EXEC_ELF32
79
80# EFI runtime support
81options 	EFI_RUNTIME
82
83# Device tree support
84armfdt0		at root
85simplebus*	at fdt? pass 0
86
87# ACPI support
88acpifdt*	at fdt? pass 1
89acpi*		at acpifdt?
90acpiacad*	at acpi?
91acpibat*	at acpi?
92acpibut*	at acpi?
93acpicppc*	at acpi?
94acpipcd*	at acpi?
95acpipcc*	at acpi?
96acpifan*	at acpi?
97acpiged*	at acpi?
98acpilid*	at acpi?
99acpitz*		at acpi?
100
101# CPUs
102cpus*		at fdt? pass 0
103cpu*		at fdt? pass 0
104cpu*		at acpi?
105
106vmt*		at fdt?			# VMware Tools
107
108# Performance monitors
109armpmu*		at fdt?
110pseudo-device	tprof
111
112# CPU frequency scaling
113cpufreqdt*	at cpu?
114
115# Power State Coordination Interface (PSCI)
116psci*		at fdt? pass 0
117
118fclock*		at fdt? pass 1
119ffclock*	at fdt? pass 1
120fregulator*	at fdt? pass 4
121gregulator*	at fdt? pass 4
122gpiokeys*	at fdt?
123wskbd*		at gpiokeys? console ? mux 1
124gpioleds*	at fdt?
125
126# System Controller
127syscon*		at fdt? pass 1		# Generic System Controller
128sunxisramc*	at fdt? pass 1		# Allwinner System Control
129
130# Timer
131gtmr*		at fdt? pass 1		# ARM Generic Timer
132gtmr*		at acpi?
133armgtmr0	at gtmr?
134tegratimer*	at fdt?			# Timers
135
136# Watchdog
137bcmpmwdog*	at fdt?			# Broadcom BCM283x watchdog
138dwcwdt* 	at fdt?			# DesignWare watchdog
139mesongxwdt*	at fdt?			# Amlogic Meson GX watchdog
140sbsawdt*	at acpi?		# ARM SBSA-compliant watchdog
141sunxiwdt*	at fdt?			# Allwinner watchdog
142
143# Interrupt controller
144bcmicu*		at fdt? pass 1		# Broadcom BCM283x ICU
145tegralic*	at fdt? pass 1		# NVIDIA Tegra LIC
146gic*		at fdt? pass 1		# ARM GICv2
147gic*		at acpi?
148armgic0		at gic?
149gicvthree*	at fdt? pass 1		# ARM GICv3
150gicvthree*	at acpi?
151imx7gpc*	at fdt? pass 2		# IMX GPCv2
152sunxinmi*	at fdt? pass 2		# Allwinner NMI / R_INTC
153
154# Memory controller
155tegramc*	at fdt?	pass 4		# NVIDIA Tegra MC
156
157# Firmware devices
158bcmmbox*	at fdt?			# Broadcom VideoCore IV mailbox
159bcmmbox*	at acpi?
160vcmbox*		at bcmmbox?
161qemufwcfg*	at fdt?			# QEMU Firmware Configuration device
162qemufwcfg*	at acpi?
163
164# DMA controller
165bcmdmac*	at fdt?			# Broadcom BCM283x DMA controller
166sun6idma*	at fdt?	pass 4		# Allwinner DMA controller (sun6i)
167tegraapbdma*	at fdt? pass 4		# NVIDIA Tegra APB DMA
168
169# FUSE controller
170sunxisid*	at fdt? pass 4		# Allwinner SID
171tegrafuse*	at fdt? pass 4		# NVIDIA Tegra FUSE
172
173# Power management controller
174tegrapmc*	at fdt? pass 4		# NVIDIA Tegra PMC
175
176# Clock and Reset controller
177bcmcprman*	at fdt? pass 1		# Broadcom BCM283x Clock Manager
178bcmaux*		at fdt? pass 1		# Broadcom BCM283x Aux Periph Clocks
179gxbbaoclkc*	at fdt? pass 2		# Amlogic Meson GXBB AO clock controller
180gxbbclkc*	at fdt? pass 2		# Amlogic Meson GXBB/GXL EE clock controller
181imx8mqccm*	at fdt? pass 2		# NXP iMX8MQ CCM
182mesonresets*	at fdt? pass 2		# Amlogic Meson misc. clock resets
183rkcru*		at fdt? pass 2		# Rockchip RK3328 CRU
184sun8ih3ccu*	at fdt? pass 2		# Allwinner H3/H5 CCU
185sun8ih3rccu*	at fdt? pass 2		# Allwinner H3/H5 CCU (PRCM)
186sun50ia64ccu*	at fdt? pass 2		# Allwinner A64 CCU
187sun50ia64rccu*	at fdt? pass 2		# Allwinner A64 CCU (PRCM)
188sun50ih6ccu*	at fdt? pass 2		# Allwinner H6 CCU
189sun50ih6rccu*	at fdt? pass 2		# Allwinner H6 CCU (PRCM)
190sunxide2ccu*	at fdt? pass 3		# Allwinner DE2 clock controller
191sunxiresets*	at fdt? pass 1		# Allwinner misc. resets
192sunxigates*	at fdt? pass 1		# Allwinner misc. gates
193sunxigmacclk*	at fdt? pass 2		# Allwinner GMAC MII/RGMII clock mux
194tegra210car*	at fdt? pass 3		# NVIDIA Tegra CAR (T210)
195
196# GPIO controller
197bcmgpio*	at fdt? pass 3		# Broadcom BCM283x GPIO
198imxgpio*	at fdt? pass 3		# IMX GPIO
199mesonpinctrl*	at fdt? pass 2		# Amlogic Meson GPIO
200plgpio*		at fdt?			# ARM PrimeCell PL061 GPIO
201plgpio*		at acpi?
202sunxigpio*	at fdt? pass 3		# Allwinner GPIO
203tegragpio*	at fdt? pass 2		# NVIDIA Tegra GPIO
204rkgpio*		at rkiomux?		# Rockchip GPIO
205gpio*		at gpiobus?
206
207# PWM controller
208rkpwm*		at fdt? pass 3		# Rockchip PWM
209sunxipwm*	at fdt? pass 3		# Allwinner PWM
210
211# MPIO / Pinmux
212imxiomux*	at fdt? pass 2		# IMX IOMUX
213rkiomux*	at fdt?	pass 3		# Rockchip IOMUX
214tegrapinmux*	at fdt?			# NVIDIA Tegra MPIO
215
216# XUSB PADCTL
217tegra210xpad*	at fdt?			# NVIDIA Tegra XUSB PADCTL (T210)
218tegra210xphy*	at tegra210xpad?
219
220# PCIE
221pcihost*	at fdt?			# Generic PCI host controller
222acpipchb*	at acpi?		# ACPI PCIe host bridge
223rkpcie*		at fdt?			# Rockchip AXI PCIE
224rkpciephy*	at fdt? pass 9		# Rockchip AXI PCIE PHY
225tegrapcie0	at fdt?			# NVIDIA Tegra PCIE
226pci*		at pcibus?
227ppb*		at pci? dev ? function ?
228pci*		at ppb?
229
230# Ethernet
231awge*		at fdt?				# DesignWare Gigabit Ethernet
232emac*		at fdt?				# Allwinner Gigabit Ethernet (EMAC)
233enet*		at fdt?				# IMX FEC
234genet*		at acpi?			# Broadcom GENET v5
235genet*		at fdt?
236#scx*		at acpi?			# Socionext Gigabit Ethernet
237#scx*		at fdt?
238aq*		at pci? dev ? function ?	# Aquantia AQC 10 gigabit
239ena*		at pci? dev ? function ?	# Amazon.com Elastic Network Adapter
240mcx*		at pci? dev ? function ?	# Mellanox 5th generation Ethernet
241mskc*		at pci? dev ? function ?	# Marvell Yukon 2 Gigabit Ethernet
242msk*		at mskc?
243re*		at pci? dev ? function ?	# Realtek RTL8111GS
244vmx*		at pci? dev ? function ?	# VMware VMXNET3
245wm*		at pci? dev ? function ?	# Intel Gigabit Ethernet
246
247# MII/PHY support
248atphy*		at mii? phy ?		# Attansic/Atheros PHYs
249brgphy*		at mii? phy ?		# Broadcom BCM5400-family PHYs
250exphy* 		at mii? phy ?		# 3Com internal PHYs
251gentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
252glxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
253gphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
254gxlphy*		at mii? phy ?		# Amlogic Meson GX internal PHY
255icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
256igphy*		at mii? phy ?		# Intel IGP01E1000
257ihphy*		at mii? phy ?		# Intel 82577 PHYs
258ikphy*		at mii? phy ?		# Intel 82563 PHYs
259inphy*		at mii? phy ?		# Intel 82555 PHYs
260iophy*		at mii? phy ?		# Intel 82553 PHYs
261lxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
262makphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
263nsphy*		at mii? phy ?		# NS83840 PHYs
264nsphyter*	at mii? phy ? 		# NS83843 PHYs
265pnaphy*		at mii? phy ?		# generic HomePNA PHYs
266rdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
267rgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
268rlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
269smscphy*	at mii? phy ?		# SMSC LAN87xx PHYs
270sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
271tlphy*		at mii? phy ?		# ThunderLAN PHYs
272tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
273urlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
274ukphy*		at mii? phy ?		# generic unknown PHYs
275
276# Mini-PCIe Wireless
277#options 	ATHHAL_AR5212,ATHHAL_RF2425	# AR5BHB63
278#ath*		at pci? dev ? function ?	# Atheros IEEE 802.11
279#athn*		at pci? dev ? function ?	# Atheros IEEE 802.11
280
281# UART
282com*		at fdt?	pass 4			# UART
283com*		at acpi?
284imxuart*	at fdt? pass 4			# IMX UART
285options 	IMXUARTCONSOLE
286mesonuart*	at fdt? pass 4			# Amlogic Meson UART
287plcom*		at fdt?	pass 4			# ARM PL011 UART
288plcom*		at acpi?
289puc*		at pci? dev ? function ?	# PCI "universal" comm. cards
290com*		at puc? port ?
291
292# I2C controllers
293options 	I2C_MAX_ADDR=0xfff
294bsciic*		at fdt?			# Broadcom BCM283x Serial Control
295bsciic*		at acpi?
296dwiic*		at fdt?			# Designware I2C
297dwiic*		at acpi?
298imxi2c*		at fdt? pass 4		# IMX I2C
299rkiic*		at fdt? pass 4		# Rockchip I2C
300sunxirsb*	at fdt?	pass 4		# Allwinner RSB
301sunxitwi*	at fdt?			# Allwinner TWI
302tegrai2c*	at fdt? pass 4		# NVIDIA Tegra I2C
303#sniiic*	at fdt?			# Socionext SC2A11 I2C
304#sniiic*	at acpi?
305iic*		at i2cbus?
306
307# I2C devices
308titemp*		at iic?
309seeprom*	at iic?
310spdmem*		at iic?			# memory module SPD EEPROM decoder
311as3722pmic*	at iic?
312as3722reg*	at as3722pmic?
313axppmic*	at iic?			# X-Powers AXP Power Management IC
314axpreg*		at axppmic?
315cwfg*		at iic?			# CellWise CW2015 Fuel Gauge IC
316es8316ac*	at iic?			# Everest Semi ES8316 Audio CODEC
317fan53555reg*	at iic?			# FAN53555 / SY82x regulator
318max77620pmic*	at iic?
319pcf8563rtc*	at iic?			# PCF8563 RTC
320rkpmic*		at iic?			# Rockchip Power Management IC
321rkreg*		at rkpmic?
322tcagpio*	at iic?
323
324# Random number generators
325amdccp*		at fdt?			# AMD Cryptograhic Coprocessor RNG
326amdccp*		at acpi?
327bcmrng*		at fdt?			# Broadcom BCM283x RNG
328mesonrng*	at fdt?			# Amlogic Meson RNG
329sun8icrypto* 	at fdt?			# Allwinner Crypto Engine
330rkv1crypto* 	at fdt?			# Rockchip Crypto v1
331
332# RTC
333plrtc*		at fdt?			# ARM PrimeCell RTC
334sunxirtc*	at fdt? pass 4		# Allwinner RTC
335tegrartc*	at fdt?			# NVIDIA Tegra RTC
336
337# SDMMC
338bcmsdhost*	at fdt?			# Broadcom BCM283x SD Host Interface
339dwcmmc*		at fdt?			# Designware SD/MMC
340mesongxmmc*	at fdt?			# Amlogic Meson GX eMMC/SD/SDIO controller
341mmcpwrseq*	at fdt? pass 5		# Simple MMC power sequence provider
342rkemmcphy*	at fdt?			# Rockchip eMMC PHY
343sdhc*		at fdt?			# SD Host Controller Interface
344sdhc*		at acpi?
345sunximmc*	at fdt?			# Allwinner SD/MMC
346#sniemmc*	at fdt?			# Socionext SC2A11 eMMC
347#sniemmc*	at acpi?
348sdmmc*		at sdmmcbus?
349ld0		at sdmmc0
350ld1		at sdmmc1
351ld2		at sdmmc2
352ld3		at sdmmc3
353ld*		at sdmmc?
354bwfm*		at sdmmc?		# Broadcom BCM43xxx WiFi Interface
355
356# SATA
357ahcisata*	at fdt?			# AHCI SATA
358ahcisata*	at acpi?
359ahcisata*	at pci? dev ? function ?
360atabus*		at ata?
361atapibus*	at atapi?
362wd*		at atabus? drive ?
363cd*		at atapibus? drive ?
364
365# NVMe
366nvme*		at pci? dev ? function ?
367ld*		at nvme? nsid ?
368
369# SPI controllers
370bcmspi*		at fdt?			# Broadcom BCM283x SPI
371rkspi*		at fdt?			# Rockchip SPI
372sun6ispi*	at fdt?			# Allwinner SPI
373spi*		at spibus?
374m25p*		at spi?
375spiflash*	at spiflashbus?
376
377# Audio support
378hdaudio*	at fdt?			# Intel HDA
379hdaudio*	at pci? dev ? function ?
380hdafg*		at hdaudiobus?
381options 	HDAUDIOVERBOSE
382options 	HDAUDIO_ENABLE_HDMI
383options 	HDAUDIO_ENABLE_DISPLAYPORT
384ausoc*		at fdt?			# Simple SoC audio card
385simpleamp*	at fdt?			# Simple amplifier
386spdiftx*	at fdt?			# SPDIF transmitter
387rki2s*		at fdt?			# Rockchip I2S/PCM
388sunxicodec*	at fdt?			# Allwinner audio codec
389sun8icodec*	at fdt?			# Allwinner audio codec (sun8i/sun50i)
390h3codec*	at fdt?			# Allwinner H3 audio codec (analog part)
391a64acodec*	at fdt?			# Allwinner A64 audio codec (analog part)
392sunxii2s*	at fdt?			# Allwinner I2S/PCM
393audio*		at audiobus?
394
395spkr*		at audio?		# PC speaker (synthesized)
396
397# HDMI CEC
398tegracec0	at fdt?			# NVIDIA Tegra HDMI CEC
399hdmicec*	at hdmicecbus?
400
401# Display
402anxdp*		at fdt?			# Analogix-based (e)DP
403anxedp*		at iic?			# Analogix eDP TX
404dispcon*	at fdt?			# Display connector devices
405panel*		at fdt?			# Display panels
406dwhdmi* 	at fdt?			# Designware HDMI TX
407rkdrm*		at fdt? pass 5		# Rockchip DRM master
408rkfb*		at rkdrm?		# Rockchip DRM framebuffer
409rkvop*		at fdt?			# Rockchip Visual Output Processor
410sunxide2bus*	at fdt? pass 4		# Allwinner DE2 bus
411sunxidrm*	at fdt?	pass 5		# Allwinner Display Pipeline
412sunxifb*	at sunxidrm?		# Allwinner DRM framebuffer
413sunxihdmiphy*	at fdt? pass 9		# Allwinner HDMI TX PHY
414sunxilcdc*	at fdt?			# Allwinner DE2 timing controller
415sunximixer*	at fdt?			# Allwinner DE2 mixer
416#tegradrm*	at fdt?			# NVIDIA Tegra Display
417#tegrafb*	at tegrafbbus?
418genfb*		at fdt?			# Simple Framebuffer
419wsdisplay*	at wsemuldisplaydev?
420options 	VCONS_DRAW_INTR
421options 	WSEMUL_VT100
422options 	WS_DEFAULT_FG=WSCOL_WHITE
423options 	WS_DEFAULT_BG=WSCOL_BLACK
424options 	WS_KERNEL_FG=WSCOL_GREEN
425options 	WS_KERNEL_BG=WSCOL_BLACK
426options 	WSDISPLAY_COMPAT_PCVT
427options 	WSDISPLAY_COMPAT_SYSCONS
428options 	WSDISPLAY_COMPAT_USL
429options 	WSDISPLAY_COMPAT_RAWKBD
430options 	WSDISPLAY_DEFAULTSCREENS=4
431options 	WSDISPLAY_MULTICONS
432options 	WSDISPLAY_SCROLLSUPPORT
433pseudo-device	wsmux
434pseudo-device	wsfont
435options 	FONT_BOLD8x16
436options 	FONT_BOLD16x32
437
438# GPU
439#nouveau*	at fdt?			# NVIDIA GPU
440nouveau*	at pci? dev ? function ?
441nouveaufb*	at nouveaufbbus?
442radeon*		at pci? dev ? function ? # AMD Radeon
443radeondrmkmsfb*	at radeonfbbus?
444
445# Backlight
446pwmbacklight*	at fdt?			# PWM Backlight controls
447
448# Fan
449pwmfan*		at fdt?			# PWM Fan controls
450
451# Thermal throttling controller
452sunxithermal*	at fdt?			# Allwinner thermal sensor controller
453tegrasoctherm*	at fdt?			# NVIDIA Tegra SOC_THERM
454rktsadc*	at fdt?			# RockChip TSASC
455
456# USB
457imx8mqusbphy*	at fdt? pass 9		# IMX USB PHY
458mesonusbphy*	at fdt? pass 9		# Amlogic Meson USB2 PHY
459mesongxlu2phy*	at fdt? pass 9		# Amlogic Meson GXL USB2 PHY
460mesongxlu3phy*	at fdt? pass 9		# Amlogic Meson GXL USB3 PHY
461rkusb*		at fdt? pass 9		# Rockchip USB PHY
462rkusbphy*	at rkusb?
463sunxiusbphy*	at fdt? pass 9		# Allwinner USB PHY
464sunxiusb3phy*	at fdt? pass 9		# Allwinner USB3 PHY
465tegrausbphy*	at fdt?			# NVIDIA Tegra USB PHY
466dwctwo*		at fdt?			# Designware USB DRD
467ehci*		at fdt?			# EHCI
468ehci*		at pci?			# EHCI
469ehci*		at acpi?		# EHCI
470motg*		at fdt?			# Mentor Graphics USB OTG
471ohci*		at fdt?			# OHCI
472ohci*		at pci?			# OHCI
473xhci*		at fdt?			# XHCI
474xhci*		at pci?			# XHCI
475xhci*		at acpi?		# XHCI
476usb*		at usbus?
477
478include "dev/usb/usbdevices.config"
479midi*		at midibus?
480pseudo-device	sequencer			# MIDI sequencer
481
482# Virtio devices
483virtio*		at fdt?			# Virtio MMIO device
484virtio*		at acpi?
485virtio*		at pci? dev ? function ?
486#viomb*		at virtio?		# Virtio memory balloon device
487ld*		at virtio?		# Virtio disk device
488vioif*		at virtio?		# Virtio network device
489viornd*		at virtio?		# Virtio entropy device
490vioscsi*	at virtio?		# Virtio SCSI device
491
492# SCSI controllers
493mpt*		at pci? dev ? function ?
494
495# SCSI bus support
496scsibus*	at scsi?
497sd*		at scsibus? target ? lun ?	# SCSI disk drives
498
499cinclude "arch/evbarm/conf/GENERIC64.local"
500