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