GENERIC64 revision 1.168
1#
2#	$NetBSD: GENERIC64,v 1.168 2020/12/23 04:09:32 thorpej 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?
305iicmux*		at fdt? pass 5		# I2C mux virtual controllers
306iic*		at i2cbus?
307
308# I2C devices
309titemp*		at iic?
310seeprom*	at iic?
311spdmem*		at iic?			# memory module SPD EEPROM decoder
312as3722pmic*	at iic?
313as3722reg*	at as3722pmic?
314axppmic*	at iic?			# X-Powers AXP Power Management IC
315axpreg*		at axppmic?
316cwfg*		at iic?			# CellWise CW2015 Fuel Gauge IC
317es8316ac*	at iic?			# Everest Semi ES8316 Audio CODEC
318fan53555reg*	at iic?			# FAN53555 / SY82x regulator
319max77620pmic*	at iic?
320pcf8563rtc*	at iic?			# PCF8563 RTC
321rkpmic*		at iic?			# Rockchip Power Management IC
322rkreg*		at rkpmic?
323tcagpio*	at iic?
324
325# Random number generators
326amdccp*		at fdt?			# AMD Cryptograhic Coprocessor RNG
327amdccp*		at acpi?
328bcmrng*		at fdt?			# Broadcom BCM283x RNG
329mesonrng*	at fdt?			# Amlogic Meson RNG
330sun8icrypto* 	at fdt?			# Allwinner Crypto Engine
331rkv1crypto* 	at fdt?			# Rockchip Crypto v1
332
333# RTC
334plrtc*		at fdt?			# ARM PrimeCell RTC
335sunxirtc*	at fdt? pass 4		# Allwinner RTC
336tegrartc*	at fdt?			# NVIDIA Tegra RTC
337
338# SDMMC
339bcmsdhost*	at fdt?			# Broadcom BCM283x SD Host Interface
340dwcmmc*		at fdt?			# Designware SD/MMC
341mesongxmmc*	at fdt?			# Amlogic Meson GX eMMC/SD/SDIO controller
342mmcpwrseq*	at fdt? pass 5		# Simple MMC power sequence provider
343rkemmcphy*	at fdt?			# Rockchip eMMC PHY
344sdhc*		at fdt?			# SD Host Controller Interface
345sdhc*		at acpi?
346sunximmc*	at fdt?			# Allwinner SD/MMC
347#sniemmc*	at fdt?			# Socionext SC2A11 eMMC
348#sniemmc*	at acpi?
349sdmmc*		at sdmmcbus?
350ld0		at sdmmc0
351ld1		at sdmmc1
352ld2		at sdmmc2
353ld3		at sdmmc3
354ld*		at sdmmc?
355bwfm*		at sdmmc?		# Broadcom BCM43xxx WiFi Interface
356
357# SATA
358ahcisata*	at fdt?			# AHCI SATA
359ahcisata*	at acpi?
360ahcisata*	at pci? dev ? function ?
361atabus*		at ata?
362atapibus*	at atapi?
363wd*		at atabus? drive ?
364cd*		at atapibus? drive ?
365
366# NVMe
367nvme*		at pci? dev ? function ?
368ld*		at nvme? nsid ?
369
370# SPI controllers
371bcmspi*		at fdt?			# Broadcom BCM283x SPI
372rkspi*		at fdt?			# Rockchip SPI
373sun6ispi*	at fdt?			# Allwinner SPI
374spi*		at spibus?
375m25p*		at spi?
376spiflash*	at spiflashbus?
377
378# Audio support
379hdaudio*	at fdt?			# Intel HDA
380hdaudio*	at pci? dev ? function ?
381hdafg*		at hdaudiobus?
382options 	HDAUDIOVERBOSE
383options 	HDAUDIO_ENABLE_HDMI
384options 	HDAUDIO_ENABLE_DISPLAYPORT
385ausoc*		at fdt?			# Simple SoC audio card
386simpleamp*	at fdt?			# Simple amplifier
387spdiftx*	at fdt?			# SPDIF transmitter
388rki2s*		at fdt?			# Rockchip I2S/PCM
389sunxicodec*	at fdt?			# Allwinner audio codec
390sun8icodec*	at fdt?			# Allwinner audio codec (sun8i/sun50i)
391h3codec*	at fdt?			# Allwinner H3 audio codec (analog part)
392a64acodec*	at fdt?			# Allwinner A64 audio codec (analog part)
393sunxii2s*	at fdt?			# Allwinner I2S/PCM
394audio*		at audiobus?
395
396spkr*		at audio?		# PC speaker (synthesized)
397
398# HDMI CEC
399tegracec0	at fdt?			# NVIDIA Tegra HDMI CEC
400hdmicec*	at hdmicecbus?
401
402# Display
403anxdp*		at fdt?			# Analogix-based (e)DP
404anxedp*		at iic?			# Analogix eDP TX
405dispcon*	at fdt?			# Display connector devices
406panel*		at fdt?			# Display panels
407dwhdmi* 	at fdt?			# Designware HDMI TX
408rkdrm*		at fdt? pass 5		# Rockchip DRM master
409rkfb*		at rkdrm?		# Rockchip DRM framebuffer
410rkvop*		at fdt?			# Rockchip Visual Output Processor
411sunxide2bus*	at fdt? pass 4		# Allwinner DE2 bus
412sunxidrm*	at fdt?	pass 5		# Allwinner Display Pipeline
413sunxifb*	at sunxidrm?		# Allwinner DRM framebuffer
414sunxihdmiphy*	at fdt? pass 9		# Allwinner HDMI TX PHY
415sunxilcdc*	at fdt?			# Allwinner DE2 timing controller
416sunximixer*	at fdt?			# Allwinner DE2 mixer
417#tegradrm*	at fdt?			# NVIDIA Tegra Display
418#tegrafb*	at tegrafbbus?
419genfb*		at fdt?			# Simple Framebuffer
420wsdisplay*	at wsemuldisplaydev?
421options 	VCONS_DRAW_INTR
422options 	WSEMUL_VT100
423options 	WS_DEFAULT_FG=WSCOL_WHITE
424options 	WS_DEFAULT_BG=WSCOL_BLACK
425options 	WS_KERNEL_FG=WSCOL_GREEN
426options 	WS_KERNEL_BG=WSCOL_BLACK
427options 	WSDISPLAY_COMPAT_PCVT
428options 	WSDISPLAY_COMPAT_SYSCONS
429options 	WSDISPLAY_COMPAT_USL
430options 	WSDISPLAY_COMPAT_RAWKBD
431options 	WSDISPLAY_DEFAULTSCREENS=4
432options 	WSDISPLAY_MULTICONS
433options 	WSDISPLAY_SCROLLSUPPORT
434pseudo-device	wsmux
435pseudo-device	wsfont
436options 	FONT_BOLD8x16
437options 	FONT_BOLD16x32
438
439# GPU
440#nouveau*	at fdt?			# NVIDIA GPU
441nouveau*	at pci? dev ? function ?
442nouveaufb*	at nouveaufbbus?
443radeon*		at pci? dev ? function ? # AMD Radeon
444radeondrmkmsfb*	at radeonfbbus?
445
446# Backlight
447pwmbacklight*	at fdt?			# PWM Backlight controls
448
449# Fan
450pwmfan*		at fdt?			# PWM Fan controls
451
452# Thermal throttling controller
453sunxithermal*	at fdt?			# Allwinner thermal sensor controller
454tegrasoctherm*	at fdt?			# NVIDIA Tegra SOC_THERM
455rktsadc*	at fdt?			# RockChip TSASC
456
457# USB
458imx8mqusbphy*	at fdt? pass 9		# IMX USB PHY
459mesonusbphy*	at fdt? pass 9		# Amlogic Meson USB2 PHY
460mesongxlu2phy*	at fdt? pass 9		# Amlogic Meson GXL USB2 PHY
461mesongxlu3phy*	at fdt? pass 9		# Amlogic Meson GXL USB3 PHY
462rkusb*		at fdt? pass 9		# Rockchip USB PHY
463rkusbphy*	at rkusb?
464sunxiusbphy*	at fdt? pass 9		# Allwinner USB PHY
465sunxiusb3phy*	at fdt? pass 9		# Allwinner USB3 PHY
466tegrausbphy*	at fdt?			# NVIDIA Tegra USB PHY
467dwctwo*		at fdt?			# Designware USB DRD
468ehci*		at fdt?			# EHCI
469ehci*		at pci?			# EHCI
470ehci*		at acpi?		# EHCI
471motg*		at fdt?			# Mentor Graphics USB OTG
472ohci*		at fdt?			# OHCI
473ohci*		at pci?			# OHCI
474xhci*		at fdt?			# XHCI
475xhci*		at pci?			# XHCI
476xhci*		at acpi?		# XHCI
477usb*		at usbus?
478
479include "dev/usb/usbdevices.config"
480midi*		at midibus?
481pseudo-device	sequencer			# MIDI sequencer
482
483# Virtio devices
484virtio*		at fdt?			# Virtio MMIO device
485virtio*		at acpi?
486virtio*		at pci? dev ? function ?
487#viomb*		at virtio?		# Virtio memory balloon device
488ld*		at virtio?		# Virtio disk device
489vioif*		at virtio?		# Virtio network device
490viornd*		at virtio?		# Virtio entropy device
491vioscsi*	at virtio?		# Virtio SCSI device
492
493# SCSI controllers
494mpt*		at pci? dev ? function ?
495
496# SCSI bus support
497scsibus*	at scsi?
498sd*		at scsibus? target ? lun ?	# SCSI disk drives
499
500cinclude "arch/evbarm/conf/GENERIC64.local"
501