GENERIC64 revision 1.92
1#
2#	$NetBSD: GENERIC64,v 1.92 2019/05/01 10:41:54 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
11#
12# FDT files supported by this kernel - add to DTSSUBDIR and DTS as
13# appropriate
14#
15makeoptions 	DTSARCH="arm aarch64"
16makeoptions	DTSGNUARCH="arm arm64"
17makeoptions	DTSSUBDIR="allwinner amlogic broadcom nvidia rockchip"
18makeoptions	DTS="
19	bcm2837-rpi-3-b.dts
20	bcm2837-rpi-3-b-plus.dts
21	bcm2837-rpi-cm3-io3.dts
22
23	meson-gxbb-nanopi-k2.dts
24	meson-gxbb-nexbox-a95x.dts
25	meson-gxbb-odroidc2.dts
26	meson-gxbb-p200.dts
27	meson-gxbb-p201.dts
28	meson-gxbb-vega-s95-meta.dts
29	meson-gxbb-vega-s95-pro.dts
30	meson-gxbb-vega-s95-telos.dts
31	meson-gxbb-wetek-hub.dts
32	meson-gxbb-wetek-play2.dts
33
34	meson-gxl-s805x-p241.dts
35	meson-gxl-s905d-p230.dts
36	meson-gxl-s905d-p231.dts
37	meson-gxl-s905w-p281.dts
38	meson-gxl-s905w-tx3-mini.dts
39	meson-gxl-s905x-hwacom-amazetv.dts
40	meson-gxl-s905x-khadas-vim.dts
41	meson-gxl-s905x-libretech-cc.dts
42	meson-gxl-s905x-nexbox-a95x.dts
43	meson-gxl-s905x-p212.dts
44
45	rk3328-evb.dts
46	rk3328-roc-cc.dts
47	rk3328-rock64.dts
48
49	rk3399-evb.dts
50	rk3399-ficus.dts
51	rk3399-firefly.dts
52	rk3399-gru-bob.dts
53	rk3399-gru-kevin.dts
54	rk3399-puma-haikou.dts
55	rk3399-roc-pc.dts
56	rk3399-rock960.dts
57	rk3399-rockpro64.dts
58	rk3399-sapphire-excavator.dts
59	rk3399-sapphire.dts
60
61	sun50i-a64-bananapi-m64.dts
62	sun50i-a64-nanopi-a64.dts
63	sun50i-a64-olinuxino.dts
64	sun50i-a64-orangepi-win.dts
65	sun50i-a64-pine64-plus.dts
66	sun50i-a64-pine64.dts
67	sun50i-a64-pinebook.dts
68	sun50i-a64-sopine-baseboard.dts
69	sun50i-a64-teres-i.dts
70
71	sun50i-h5-bananapi-m2-plus-v1.2.dts
72	sun50i-h5-bananapi-m2-plus.dts
73	sun50i-h5-libretech-all-h3-cc.dts
74	sun50i-h5-nanopi-neo-plus2.dts
75	sun50i-h5-nanopi-neo2.dts
76	sun50i-h5-orangepi-pc2.dts
77	sun50i-h5-orangepi-prime.dts
78	sun50i-h5-orangepi-zero-plus.dts
79	sun50i-h5-orangepi-zero-plus2.dts
80
81	sun50i-h6-orangepi-one-plus.dts
82	sun50i-h6-pine-h64.dts
83
84	tegra210-p2371-0000.dts
85	tegra210-p2371-2180.dts
86	tegra210-p2571.dts
87	tegra210-smaug.dts
88"
89options 	CPU_CORTEXA53
90options 	CPU_CORTEXA57
91options 	CPU_THUNDERX
92options 	SOC_BCM2837
93options 	SOC_MESONGXBB
94options 	SOC_MESONGXL
95options 	SOC_RK3328
96options 	SOC_RK3399
97options 	SOC_SUN50I_A64
98options 	SOC_SUN50I_H5
99options 	SOC_SUN50I_H6
100options 	SOC_TEGRA210
101options 	SOC_VIRT
102options 	MULTIPROCESSOR
103
104pseudo-device 	openfirm	# /dev/openfirm
105
106#options 	DIAGNOSTIC	# internal consistency checks
107#options 	DEBUG
108#options 	LOCKDEBUG
109#options 	PMAP_DEBUG	# Enable pmap_debug_level code
110options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
111options 	INCLUDE_CONFIG_FILE
112# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.
113#options 	EARLYCONS=bcm2837
114#options 	EARLYCONS=meson, CONSADDR=0xc81004c0
115#options 	EARLYCONS=rk3328, CONSADDR=0xff130000
116#options 	EARLYCONS=rk3399, CONSADDR=0xff1a0000
117#options 	EARLYCONS=sunxi, CONSADDR=0x01c28000
118#options 	EARLYCONS=tegra, CONSADDR=0x70006000
119#options 	EARLYCONS=thunderx, CONSADDR=0x87e024000000
120#options 	EARLYCONS=virt
121
122# Kernel Address Sanitizer (kASan).
123#makeoptions 	KASAN=1		# Kernel Address Sanitizer
124#options 	KASAN
125
126makeoptions	DEBUG="-g"	# compile full symbol table
127makeoptions	COPY_SYMTAB=1
128
129config		netbsd		root on ? type ?
130
131options 	COMPAT_NETBSD32
132options 	EXEC_ELF32
133
134# EFI runtime support
135options 	EFI_RUNTIME
136
137# Device tree support
138armfdt0		at root
139simplebus*	at fdt? pass 0
140
141# ACPI support
142acpifdt*	at fdt? pass 1
143acpi*		at acpifdt?
144acpibut*	at acpi?
145acpiged*	at acpi?
146acpilid*	at acpi?
147
148# CPUs
149cpus*		at fdt? pass 0
150cpu*		at fdt? pass 0
151cpu*		at acpi?
152
153# Performance monitors
154armpmu*		at fdt?
155pseudo-device	tprof
156
157# CPU frequency scaling
158cpufreqdt*	at cpu?
159
160# Power State Coordination Interface (PSCI)
161psci*		at fdt?
162
163fclock*		at fdt? pass 1
164ffclock*	at fdt? pass 1
165fregulator*	at fdt? pass 4
166gregulator*	at fdt? pass 4
167gpiokeys*	at fdt?
168wskbd*		at gpiokeys? console ? mux 1
169gpioleds*	at fdt?
170
171# System Controller
172syscon*		at fdt? pass 1		# Generic System Controller
173sunxisramc*	at fdt? pass 1		# Allwinner System Control
174
175# Timer
176gtmr*		at fdt? pass 1		# ARM Generic Timer
177gtmr*		at acpi?
178armgtmr0	at gtmr?
179tegratimer*	at fdt?			# Timers
180
181# Watchdog
182mesongxwdt*	at fdt?			# Amlogic Meson GX watchdog
183sbsawdt*	at acpi?		# ARM SBSA-compliant watchdog
184sunxiwdt*	at fdt?			# Allwinner watchdog
185watchdog*	at fdt?			# Broadcom BCM283x watchdog
186
187# Interrupt controller
188bcmicu*		at fdt? pass 1		# Broadcom BCM283x ICU
189tegralic*	at fdt? pass 1		# NVIDIA Tegra LIC
190gic*		at fdt? pass 1		# ARM GICv2
191gic*		at acpi?
192armgic0		at gic?
193gicvthree*	at fdt? pass 1		# ARM GICv3
194gicvthree*	at acpi?
195sunxinmi*	at fdt? pass 2		# Allwinner NMI / R_INTC
196
197# Memory controller
198tegramc*	at fdt?	pass 4		# NVIDIA Tegra MC
199
200# Firmware devices
201bcmmbox*	at fdt?			# Broadcom VideoCore IV mailbox
202vcmbox*		at bcmmbox?
203qemufwcfg*	at fdt?			# QEMU Firmware Configuration device
204qemufwcfg*	at acpi?
205
206# DMA controller
207bcmdmac*	at fdt?			# Broadcom BCM283x DMA controller
208sun6idma*	at fdt?			# Allwinner DMA controller (sun6i)
209tegraapbdma*	at fdt? pass 4		# NVIDIA Tegra APB DMA
210
211# FUSE controller
212sunxisid*	at fdt? pass 4		# Allwinner SID
213tegrafuse*	at fdt? pass 4		# NVIDIA Tegra FUSE
214
215# Power management controller
216tegrapmc*	at fdt? pass 4		# NVIDIA Tegra PMC
217
218# Clock and Reset controller
219bcmcprman*	at fdt? pass 1		# Broadcom BCM283x Clock Manager
220bcmaux*		at fdt? pass 1		# Broadcom BCM283x Aux Periph Clocks
221gxbbaoclkc*	at fdt? pass 2		# Amlogic Meson GXBB AO clock controller
222gxbbclkc*	at fdt? pass 2		# Amlogic Meson GXBB/GXL EE clock controller
223mesonresets*	at fdt? pass 2		# Amlogic Meson misc. clock resets
224rkcru*		at fdt? pass 2		# Rockchip RK3328 CRU
225sun8ih3ccu*	at fdt? pass 2		# Allwinner H3/H5 CCU
226sun8ih3rccu*	at fdt? pass 2		# Allwinner H3/H5 CCU (PRCM)
227sun50ia64ccu*	at fdt? pass 2		# Allwinner A64 CCU
228sun50ia64rccu*	at fdt? pass 2		# Allwinner A64 CCU (PRCM)
229sun50ih6ccu*	at fdt? pass 2		# Allwinner H6 CCU
230sun50ih6rccu*	at fdt? pass 2		# Allwinner H6 CCU (PRCM)
231sunxide2ccu*	at fdt? pass 3		# Allwinner DE2 clock controller
232sunxiresets*	at fdt? pass 1		# Allwinner misc. resets
233sunxigates*	at fdt? pass 1		# Allwinner misc. gates
234sunxigmacclk*	at fdt? pass 2		# Allwinner GMAC MII/RGMII clock mux
235tegra210car*	at fdt? pass 3		# NVIDIA Tegra CAR (T210)
236
237# GPIO controller
238bcmgpio*	at fdt?			# Broadcom BCM283x GPIO
239mesonpinctrl*	at fdt? pass 2		# Amlogic Meson GPIO
240plgpio*		at fdt?			# ARM PrimeCell PL061 GPIO
241plgpio*		at acpi?
242sunxigpio*	at fdt? pass 3		# Allwinner GPIO
243tegragpio*	at fdt? pass 2		# NVIDIA Tegra GPIO
244rkgpio*		at rkiomux?		# Rockchip GPIO
245gpio*		at gpiobus?
246
247# PWM controller
248rkpwm*		at fdt? pass 3		# Rockchip PWM
249sunxipwm*	at fdt? pass 3		# Allwinner PWM
250
251# MPIO / Pinmux
252rkiomux*	at fdt?	pass 3		# Rockchip IOMUX
253tegrapinmux*	at fdt?			# NVIDIA Tegra MPIO
254
255# XUSB PADCTL
256tegra210xpad*	at fdt?			# NVIDIA Tegra XUSB PADCTL (T210)
257tegra210xphy*	at tegra210xpad?
258
259# PCIE
260pcihost*	at fdt?			# Generic PCI host controller
261acpipchb*	at acpi?		# ACPI PCIe host bridge
262tegrapcie0	at fdt?			# NVIDIA Tegra PCIE
263pci*		at pcibus?
264ppb*		at pci? dev ? function ?
265pci*		at ppb?
266
267# Ethernet
268awge*		at fdt?				# DesignWare Gigabit Ethernet
269emac*		at fdt?				# Allwinner Gigabit Ethernet (EMAC)
270ena*		at pci? dev ? function ?	# Amazon.com Elastic Network Adapter
271mskc*		at pci? dev ? function ?	# Marvell Yukon 2 Gigabit Ethernet
272msk*		at mskc?
273re*		at pci? dev ? function ?	# Realtek RTL8111GS
274
275# MII/PHY support
276exphy* 		at mii? phy ?		# 3Com internal PHYs
277gentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
278glxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
279gphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
280gxlphy*		at mii? phy ?		# Amlogic Meson GX internal PHY
281icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
282igphy*		at mii? phy ?		# Intel IGP01E1000
283ihphy*		at mii? phy ?		# Intel 82577 PHYs
284ikphy*		at mii? phy ?		# Intel 82563 PHYs
285inphy*		at mii? phy ?		# Intel 82555 PHYs
286iophy*		at mii? phy ?		# Intel 82553 PHYs
287lxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
288makphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
289nsphy*		at mii? phy ?		# NS83840 PHYs
290nsphyter*	at mii? phy ? 		# NS83843 PHYs
291pnaphy*		at mii? phy ?		# generic HomePNA PHYs
292rdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
293rgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
294rlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
295sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
296tlphy*		at mii? phy ?		# ThunderLAN PHYs
297tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
298urlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
299ukphy*		at mii? phy ?		# generic unknown PHYs
300
301# Mini-PCIe Wireless
302#options 	ATHHAL_AR5212,ATHHAL_RF2425	# AR5BHB63
303#ath*		at pci? dev ? function ?	# Atheros IEEE 802.11
304#athn*		at pci? dev ? function ?	# Atheros IEEE 802.11
305
306# UART
307com*		at fdt?	pass 4			# UART
308com*		at acpi?
309mesonuart*	at fdt? pass 4			# Amlogic Meson UART
310plcom*		at fdt?	pass 4			# ARM PL011 UART
311plcom*		at acpi?
312puc*		at pci? dev ? function ?	# PCI "universal" comm. cards
313com*		at puc? port ?
314
315# I2C controllers
316bsciic*		at fdt?			# Broadcom BCM283x Serial Control
317dwiic*		at fdt?			# Designware I2C
318dwiic*		at acpi?
319rkiic*		at fdt?			# Rockchip I2C
320sunxirsb*	at fdt?	pass 4		# Allwinner RSB
321sunxitwi*	at fdt?			# Allwinner TWI
322tegrai2c*	at fdt? pass 4		# NVIDIA Tegra I2C
323iic*		at i2cbus?
324
325# I2C devices
326titemp*		at iic?
327seeprom*	at iic?
328spdmem*		at iic?			# memory module SPD EEPROM decoder
329as3722pmic*	at iic?
330as3722reg*	at as3722pmic?
331axppmic*	at iic?			# X-Powers AXP Power Management IC
332axpreg*		at axppmic?
333fan53555reg*	at iic?			# FAN53555 / SY82x regulator
334max77620pmic*	at iic?
335pcf8563rtc*	at iic?			# PCF8563 RTC
336rkpmic*		at iic?			# Rockchip Power Management IC
337rkreg*		at rkpmic?
338tcagpio*	at iic?
339
340# Random number generators
341amdccp*		at fdt?			# AMD Cryptograhic Coprocessor RNG
342amdccp*		at acpi?
343bcmrng*		at fdt?			# Broadcom BCM283x RNG
344mesonrng*	at fdt?			# Amlogic Meson RNG
345
346# RTC
347plrtc*		at fdt?			# ARM PrimeCell RTC
348sunxirtc*	at fdt?			# Allwinner RTC
349tegrartc*	at fdt?			# NVIDIA Tegra RTC
350
351# SDMMC
352dwcmmc*		at fdt?			# Designware SD/MMC
353mesongxmmc*	at fdt?			# Amlogic Meson GX eMMC/SD/SDIO controller
354mmcpwrseq*	at fdt?			# Simple MMC power sequence provider
355rkemmcphy*	at fdt?			# Rockchip eMMC PHY
356sdhc*		at fdt?			# SD Host Controller Interface
357sdhost*		at fdt?			# Broadcom BCM283x SD Host Interface
358sunximmc*	at fdt?			# Allwinner SD/MMC
359sdmmc*		at sdmmcbus?
360ld0		at sdmmc0
361ld1		at sdmmc1
362ld2		at sdmmc2
363ld3		at sdmmc3
364ld*		at sdmmc?
365
366# SATA
367ahcisata*	at fdt?			# AHCI SATA
368ahcisata*	at acpi?
369atabus*		at ata?
370atapibus*	at atapi?
371wd*		at atabus? drive ?
372cd*		at atapibus? drive ?
373
374# NVMe
375nvme*		at pci? dev ? function ?
376ld*		at nvme? nsid ?
377
378# SPI controllers
379bcmspi*		at fdt?			# Broadcom BCM283x SPI
380spi*		at spibus?
381
382# Audio support
383hdaudio*	at fdt?			# Intel HDA
384hdafg*		at hdaudiobus?
385options 	HDAUDIOVERBOSE
386options 	HDAUDIO_32BIT_ACCESS
387options 	HDAUDIO_ENABLE_HDMI
388options 	HDAUDIO_ENABLE_DISPLAYPORT
389ausoc*		at fdt?			# Simple SoC audio card
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
404anxedp*		at iic?			# Analogix eDP TX
405dispcon*	at fdt?			# Display connector devices
406dwhdmi* 	at fdt?			# Designware HDMI TX
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
437
438# Backlight
439pwmbacklight*	at fdt?			# PWM Backlight controls
440
441# Fan
442pwmfan*		at fdt?			# PWM Fan controls
443
444# Thermal throttling controller
445sunxithermal*	at fdt?			# Allwinner thermal sensor controller
446tegrasoctherm*	at fdt?			# NVIDIA Tegra SOC_THERM
447rktsadc*	at fdt?			# RockChip TSASC
448
449# USB
450mesonusbphy*	at fdt? pass 9		# Amlogic Meson USB2 PHY
451mesongxlu2phy*	at fdt? pass 9		# Amlogic Meson GXL USB2 PHY
452mesongxlu3phy*	at fdt? pass 9		# Amlogic Meson GXL USB3 PHY
453rkusb*		at fdt? pass 9		# Rockchip USB PHY
454rkusbphy*	at rkusb?
455sunxiusbphy*	at fdt? pass 9		# Allwinner USB PHY
456sunxiusb3phy*	at fdt? pass 9		# Allwinner USB3 PHY
457tegrausbphy*	at fdt?			# NVIDIA Tegra USB PHY
458dwctwo*		at fdt?			# Designware USB DRD
459ehci*		at fdt?			# EHCI
460ehci*		at pci?			# EHCI
461ehci*		at acpi?		# EHCI
462motg*		at fdt?			# Mentor Graphics USB OTG
463ohci*		at fdt?			# OHCI
464ohci*		at pci?			# OHCI
465xhci*		at fdt?			# XHCI
466xhci*		at pci?			# XHCI
467xhci*		at acpi?		# XHCI
468usb*		at usbus?
469
470include "dev/usb/usbdevices.config"
471midi*		at midibus?
472
473# Virtio devices
474virtio*		at fdt?			# Virtio MMIO device
475virtio*		at acpi?
476virtio*		at pci? dev ? function ?
477#viomb*		at virtio?		# Virtio memory balloon device
478ld*		at virtio?		# Virtio disk device
479vioif*		at virtio?		# Virtio network device
480viornd*		at virtio?		# Virtio entropy device
481vioscsi*	at virtio?		# Virtio SCSI device
482
483# SCSI bus support
484scsibus*	at scsi?
485sd*		at scsibus? target ? lun ?	# SCSI disk drives
486
487cinclude "arch/evbarm/conf/GENERIC64.local"
488