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