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