GENERIC64 revision 1.70
1#
2#	$NetBSD: GENERIC64,v 1.70 2018/12/21 14:52:12 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 broadcom nvidia rockchip"
18makeoptions	DTS="
19	bcm2837-rpi-3-b.dts
20	bcm2837-rpi-3-b-plus.dts
21
22	rk3328-evb.dts
23	rk3328-roc-cc.dts
24	rk3328-rock64.dts
25
26	rk3399-evb.dts
27	rk3399-firefly.dts
28	rk3399-gru-kevin.dts
29	rk3399-puma-haikou.dts
30	rk3399-rockpro64.dts
31	rk3399-sapphire-excavator.dts
32	rk3399-sapphire.dts
33
34	sun50i-a64-bananapi-m64.dts
35	sun50i-a64-nanopi-a64.dts
36	sun50i-a64-olinuxino.dts
37	sun50i-a64-orangepi-win.dts
38	sun50i-a64-pine64-plus.dts
39	sun50i-a64-pine64.dts
40	sun50i-a64-pinebook.dts
41	sun50i-a64-sopine-baseboard.dts
42	sun50i-a64-teres-i.dts
43
44	sun50i-h5-libretech-all-h3-cc.dts
45	sun50i-h5-nanopi-neo-plus2.dts
46	sun50i-h5-nanopi-neo2.dts
47	sun50i-h5-orangepi-pc2.dts
48	sun50i-h5-orangepi-prime.dts
49	sun50i-h5-orangepi-zero-plus.dts
50	sun50i-h5-orangepi-zero-plus2.dts
51
52	sun50i-h6-pine-h64.dts
53
54	tegra210-p2371-0000.dts
55	tegra210-p2371-2180.dts
56	tegra210-p2571.dts
57	tegra210-smaug.dts
58"
59options 	CPU_CORTEXA53
60options 	CPU_CORTEXA57
61options 	CPU_THUNDERX
62options 	SOC_BCM2837
63options 	SOC_RK3328
64options 	SOC_RK3399
65options 	SOC_SUN50I_A64
66options 	SOC_SUN50I_H5
67options 	SOC_SUN50I_H6
68options 	SOC_TEGRA210
69#options 	SOC_THUNDERX
70options 	SOC_VIRT
71options 	MULTIPROCESSOR
72
73pseudo-device 	openfirm	# /dev/openfirm
74
75options 	DIAGNOSTIC	# internal consistency checks
76options 	DEBUG
77#options 	LOCKDEBUG
78#options 	PMAP_DEBUG	# Enable pmap_debug_level code
79options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
80# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.
81#options 	EARLYCONS=bcm2837
82#options 	EARLYCONS=rk3328, CONSADDR=0xff130000
83#options 	EARLYCONS=rk3399, CONSADDR=0xff1a0000
84#options 	EARLYCONS=sunxi, CONSADDR=0x01c28000
85#options 	EARLYCONS=tegra, CONSADDR=0x70006000
86#options 	EARLYCONS=thunderx, CONSADDR=0x87e024000000
87#options 	EARLYCONS=virt
88
89# Kernel Address Sanitizer (kASan).
90#makeoptions 	KASAN=1		# Kernel Address Sanitizer
91#options 	KASAN
92
93makeoptions	DEBUG="-g"	# compile full symbol table
94makeoptions	COPY_SYMTAB=1
95
96config		netbsd		root on ? type ?
97
98options 	COMPAT_NETBSD32
99options 	EXEC_ELF32
100
101# EFI runtime support
102options 	EFI_RUNTIME
103
104# Device tree support
105armfdt0		at root
106simplebus*	at fdt? pass 0
107
108# ACPI support
109acpifdt*	at fdt? pass 1
110acpi*		at acpifdt?
111acpibut*	at acpi?
112acpiged*	at acpi?
113acpilid*	at acpi?
114
115# CPUs
116cpus*		at fdt? pass 0
117cpu*		at fdt? pass 0
118cpu*		at acpi?
119
120# Performance monitors
121armpmu*		at fdt?
122pseudo-device	tprof
123
124# CPU frequency scaling
125cpufreqdt*	at cpu?
126
127# Power State Coordination Interface (PSCI)
128psci*		at fdt?
129
130fclock*		at fdt? pass 1
131ffclock*	at fdt? pass 1
132fregulator*	at fdt? pass 4
133gregulator*	at fdt? pass 4
134gpiokeys*	at fdt?
135wskbd*		at gpiokeys? console ? mux 1
136gpioleds*	at fdt?
137
138# System Controller
139syscon*		at fdt? pass 1		# Generic System Controller
140
141# Timer
142gtmr*		at fdt? pass 1		# ARM Generic Timer
143gtmr*		at acpi?
144armgtmr0	at gtmr?
145tegratimer*	at fdt?			# Timers
146
147# Watchdog
148sbsawdt*	at acpi?		# ARM SBSA-compliant watchdog
149sunxiwdt*	at fdt?			# Allwinner watchdog
150watchdog*	at fdt?			# Broadcom BCM283x watchdog
151
152# Interrupt controller
153bcmicu*		at fdt? pass 1		# Broadcom BCM283x ICU
154tegralic*	at fdt? pass 1		# NVIDIA Tegra LIC
155gic*		at fdt? pass 1		# ARM GICv2
156gic*		at acpi?
157armgic0		at gic?
158gicvthree*	at fdt? pass 1		# ARM GICv3
159gicvthree*	at acpi?
160sunxinmi*	at fdt? pass 2		# Allwinner NMI / R_INTC
161
162# Memory controller
163tegramc*	at fdt?	pass 4		# NVIDIA Tegra MC
164
165# Firmware devices
166bcmmbox*	at fdt?			# Broadcom VideoCore IV mailbox
167vcmbox*		at bcmmbox?
168qemufwcfg*	at fdt?			# QEMU Firmware Configuration device
169qemufwcfg*	at acpi?
170
171# DMA controller
172bcmdmac*	at fdt?			# Broadcom BCM283x DMA controller
173sun6idma*	at fdt?			# Allwinner DMA controller (sun6i)
174tegraapbdma*	at fdt? pass 4		# NVIDIA Tegra APB DMA
175
176# FUSE controller
177sunxisid*	at fdt? pass 4		# Allwinner SID
178tegrafuse*	at fdt? pass 4		# NVIDIA Tegra FUSE
179
180# Power management controller
181tegrapmc*	at fdt? pass 4		# NVIDIA Tegra PMC
182
183# Clock and Reset controller
184bcmcprman*	at fdt? pass 1		# Broadcom BCM283x Clock Manager
185bcmaux*		at fdt? pass 1		# Broadcom BCM283x Aux Periph Clocks
186rkcru*		at fdt? pass 2		# Rockchip RK3328 CRU
187sun8ih3ccu*	at fdt? pass 2		# Allwinner H3/H5 CCU
188sun8ih3rccu*	at fdt? pass 2		# Allwinner H3/H5 CCU (PRCM)
189sun50ia64ccu*	at fdt? pass 2		# Allwinner A64 CCU
190sun50ia64rccu*	at fdt? pass 2		# Allwinner A64 CCU (PRCM)
191sun50ih6ccu*	at fdt? pass 2		# Allwinner H6 CCU
192sun50ih6rccu*	at fdt? pass 2		# Allwinner H6 CCU (PRCM)
193sunxiresets*	at fdt? pass 1		# Allwinner misc. resets
194sunxigates*	at fdt? pass 1		# Allwinner misc. gates
195sunxigmacclk*	at fdt? pass 2		# Allwinner GMAC MII/RGMII clock mux
196tegra210car*	at fdt? pass 3		# NVIDIA Tegra CAR (T210)
197
198# GPIO controller
199bcmgpio*	at fdt?			# Broadcom BCM283x 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
208sunxipwm*	at fdt? pass 3		# Allwinner PWM
209
210# MPIO / Pinmux
211rkiomux*	at fdt?	pass 3		# Rockchip IOMUX
212tegrapinmux*	at fdt?			# NVIDIA Tegra MPIO
213
214# XUSB PADCTL
215tegra210xpad*	at fdt?			# NVIDIA Tegra XUSB PADCTL (T210)
216tegra210xphy*	at tegra210xpad?
217
218# PCIE
219pcihost*	at fdt?			# Generic PCI host controller
220acpipchb*	at acpi?		# ACPI PCIe host bridge
221tegrapcie0	at fdt?			# NVIDIA Tegra PCIE
222pci*		at pcibus?
223ppb*		at pci? dev ? function ?
224pci*		at ppb?
225
226# Ethernet
227awge*		at fdt?				# DesignWare Gigabit Ethernet
228emac*		at fdt?				# Allwinner Gigabit Ethernet (EMAC)
229ena*		at pci? dev ? function ?	# Amazon.com Elastic Network Adapter
230mskc*		at pci? dev ? function ?	# Marvell Yukon 2 Gigabit Ethernet
231msk*		at mskc?
232re*		at pci? dev ? function ?	# Realtek RTL8111GS
233
234# MII/PHY support
235exphy* 		at mii? phy ?		# 3Com internal PHYs
236gentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
237glxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
238gphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
239icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
240igphy*		at mii? phy ?		# Intel IGP01E1000
241ihphy*		at mii? phy ?		# Intel 82577 PHYs
242ikphy*		at mii? phy ?		# Intel 82563 PHYs
243inphy*		at mii? phy ?		# Intel 82555 PHYs
244iophy*		at mii? phy ?		# Intel 82553 PHYs
245lxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
246makphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
247nsphy*		at mii? phy ?		# NS83840 PHYs
248nsphyter*	at mii? phy ? 		# NS83843 PHYs
249pnaphy*		at mii? phy ?		# generic HomePNA PHYs
250qsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
251rdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
252rgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
253rlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
254sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
255tlphy*		at mii? phy ?		# ThunderLAN PHYs
256tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
257urlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
258ukphy*		at mii? phy ?		# generic unknown PHYs
259
260# Mini-PCIe Wireless
261#options 	ATHHAL_AR5212,ATHHAL_RF2425	# AR5BHB63
262#ath*		at pci? dev ? function ?	# Atheros IEEE 802.11
263#athn*		at pci? dev ? function ?	# Atheros IEEE 802.11
264
265# UART
266com*		at fdt?	pass 4			# UART
267com*		at acpi?
268plcom*		at fdt?	pass 4			# ARM PL011 UART
269plcom*		at acpi?
270puc*		at pci? dev ? function ?	# PCI "universal" comm. cards
271com*		at puc? port ?
272
273# I2C controllers
274bsciic*		at fdt?			# Broadcom BCM283x Serial Control
275dwiic*		at fdt?			# Designware I2C
276dwiic*		at acpi?
277rkiic*		at fdt?			# Rockchip I2C
278sunxirsb*	at fdt?			# Allwinner RSB
279sunxitwi*	at fdt?			# Allwinner TWI
280tegrai2c*	at fdt? pass 4		# NVIDIA Tegra I2C
281iic*		at i2cbus?
282
283# I2C devices
284titemp*		at iic?
285seeprom*	at iic?
286spdmem*		at iic?			# memory module SPD EEPROM decoder
287as3722pmic*	at iic?
288as3722reg*	at as3722pmic?
289axppmic*	at iic?			# X-Powers AXP Power Management IC
290axpreg*		at axppmic?
291fan53555reg*	at iic?			# FAN53555 / SY82x regulator
292max77620pmic*	at iic?
293pcf8563rtc*	at iic?			# PCF8563 RTC
294rkpmic*		at iic?			# Rockchip Power Management IC
295rkreg*		at rkpmic?
296tcagpio*	at iic?
297
298# Random number generators
299bcmrng*		at fdt?			# Broadcom BCM283x RNG
300amdccp*		at fdt?			# AMD Cryptograhic Coprocessor RNG
301amdccp*		at acpi?
302
303# RTC
304plrtc*		at fdt?			# ARM PrimeCell RTC
305sunxirtc*	at fdt?			# Allwinner RTC
306tegrartc*	at fdt?			# NVIDIA Tegra RTC
307
308# SDMMC
309dwcmmc*		at fdt?			# Designware SD/MMC
310mmcpwrseq*	at fdt?			# Simple MMC power sequence provider
311sdhc*		at fdt?			# SD Host Controller Interface
312sdhost*		at fdt?			# Broadcom BCM283x SD Host Interface
313sunximmc*	at fdt?			# Allwinner SD/MMC
314sdmmc*		at sdmmcbus?
315ld0		at sdmmc0
316ld1		at sdmmc1
317ld2		at sdmmc2
318ld3		at sdmmc3
319ld*		at sdmmc?
320
321# SATA
322ahcisata*	at fdt?			# AHCI SATA
323ahcisata*	at acpi?
324atabus*		at ata?
325atapibus*	at atapi?
326wd*		at atabus? drive ?
327cd*		at atapibus? drive ?
328
329# NVMe
330nvme*		at pci? dev ? function ?
331ld*		at nvme? nsid ?
332
333# SPI controllers
334bcmspi*		at fdt?			# Broadcom BCM283x SPI
335spi*		at spibus?
336
337# Audio support
338hdaudio*	at fdt?			# Intel HDA
339hdafg*		at hdaudiobus?
340options 	HDAUDIOVERBOSE
341options 	HDAUDIO_32BIT_ACCESS
342options 	HDAUDIO_ENABLE_HDMI
343options 	HDAUDIO_ENABLE_DISPLAYPORT
344ausoc*		at fdt?			# Simple SoC audio card
345sunxicodec*	at fdt?			# Allwinner audio codec
346sun8icodec*	at fdt?			# Allwinner audio codec (sun8i/sun50i)
347h3codec*	at fdt?			# Allwinner H3 audio codec (analog part)
348a64acodec*	at fdt?			# Allwinner A64 audio codec (analog part)
349sunxii2s*	at fdt?			# Allwinner I2S/PCM
350audio*		at audiobus?
351
352spkr*		at audio?		# PC speaker (synthesized)
353
354# HDMI CEC
355tegracec0	at fdt?			# NVIDIA Tegra HDMI CEC
356hdmicec*	at hdmicecbus?
357
358# Display
359#tegradrm*	at fdt?			# NVIDIA Tegra Display
360#tegrafb*	at tegrafbbus?
361genfb*		at fdt?			# Simple Framebuffer
362wsdisplay*	at wsemuldisplaydev?
363options 	VCONS_DRAW_INTR
364options 	WSEMUL_VT100
365options 	WS_DEFAULT_FG=WSCOL_WHITE
366options 	WS_DEFAULT_BG=WSCOL_BLACK
367options 	WS_KERNEL_FG=WSCOL_GREEN
368options 	WS_KERNEL_BG=WSCOL_BLACK
369options 	WSDISPLAY_COMPAT_PCVT
370options 	WSDISPLAY_COMPAT_SYSCONS
371options 	WSDISPLAY_COMPAT_USL
372options 	WSDISPLAY_COMPAT_RAWKBD
373options 	WSDISPLAY_DEFAULTSCREENS=4
374options 	WSDISPLAY_MULTICONS
375pseudo-device	wsmux
376pseudo-device	wsfont
377
378# GPU
379#nouveau*	at fdt?			# NVIDIA GPU
380
381# Backlight
382pwmbacklight*	at fdt?			# PWM Backlight controls
383
384# Thermal throttling controller
385sunxithermal*	at fdt?			# Allwinner thermal sensor controller
386tegrasoctherm*	at fdt?			# NVIDIA Tegra SOC_THERM
387
388# USB
389rkusb*		at fdt? pass 9		# Rockchip USB PHY
390rkusbphy*	at rkusb?
391sunxiusbphy*	at fdt? pass 9		# Allwinner USB PHY
392sunxiusb3phy*	at fdt? pass 9		# Allwinner USB3 PHY
393tegrausbphy*	at fdt?			# NVIDIA Tegra USB PHY
394dwctwo*		at fdt?			# Designware USB DRD
395ehci*		at fdt?			# EHCI
396ehci*		at pci?			# EHCI
397ehci*		at acpi?		# EHCI
398motg*		at fdt?			# Mentor Graphics USB OTG
399ohci*		at fdt?			# OHCI
400ohci*		at pci?			# OHCI
401xhci*		at fdt?			# XHCI
402xhci*		at pci?			# XHCI
403xhci*		at acpi?		# XHCI
404usb*		at usbus?
405
406include "dev/usb/usbdevices.config"
407midi*		at midibus?
408
409# Virtio devices
410virtio*		at fdt?			# Virtio MMIO device
411virtio*		at acpi?
412virtio*		at pci? dev ? function ?
413#viomb*		at virtio?		# Virtio memory balloon device
414ld*		at virtio?		# Virtio disk device
415vioif*		at virtio?		# Virtio network device
416viornd*		at virtio?		# Virtio entropy device
417vioscsi*	at virtio?		# Virtio SCSI device
418
419# SCSI bus support
420scsibus*	at scsi?
421sd*		at scsibus? target ? lun ?	# SCSI disk drives
422
423cinclude "arch/evbarm/conf/GENERIC64.local"
424