GENERIC64 revision 1.49
1#
2#	$NetBSD: GENERIC64,v 1.49 2018/10/15 23:59:36 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 	SOC_BCM2837
62options 	SOC_RK3328
63options 	SOC_RK3399
64options 	SOC_SUN50I_A64
65options 	SOC_SUN50I_H5
66options 	SOC_SUN50I_H6
67options 	SOC_TEGRA210
68options 	SOC_VIRT
69options 	MULTIPROCESSOR
70
71pseudo-device 	openfirm	# /dev/openfirm
72
73options 	DIAGNOSTIC	# internal consistency checks
74options 	DEBUG
75#options 	LOCKDEBUG
76#options 	PMAP_DEBUG	# Enable pmap_debug_level code
77options 	VERBOSE_INIT_ARM # verbose bootstrapping messages
78# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.
79#options 	EARLYCONS=bcm2837
80#options 	EARLYCONS=rk3328, CONSADDR=0xff130000
81#options 	EARLYCONS=rk3399, CONSADDR=0xff1a0000
82#options 	EARLYCONS=sunxi, CONSADDR=0x01c28000
83#options 	EARLYCONS=tegra, CONSADDR=0x70006000
84#options 	EARLYCONS=thunderx, CONSADDR=0x87e024000000
85#options 	EARLYCONS=virt
86
87makeoptions	DEBUG="-g"	# compile full symbol table
88makeoptions	COPY_SYMTAB=1
89
90config		netbsd		root on ? type ?
91
92options 	COMPAT_NETBSD32
93options 	EXEC_ELF32
94
95# Device tree support
96armfdt0		at root
97simplebus*	at fdt? pass 0
98
99# ACPI support
100acpifdt*	at fdt? pass 1
101acpi*		at acpifdt?
102
103# CPUs
104cpus*		at fdt? pass 0
105cpu*		at fdt? pass 0
106cpu*		at acpi?
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?
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
128
129# Timer
130gtmr*		at fdt? pass 1		# ARM Generic Timer
131gtmr*		at acpi?
132armgtmr0	at gtmr?
133tegratimer*	at fdt?			# Timers
134
135# Watchdog
136sunxiwdt*	at fdt?			# Allwinner watchdog
137watchdog*	at fdt?			# Broadcom BCM283x watchdog
138
139# Interrupt controller
140bcmicu*		at fdt? pass 1		# Broadcom BCM283x ICU
141tegralic*	at fdt? pass 1		# NVIDIA Tegra LIC
142gic*		at fdt? pass 1		# ARM GICv2
143gic*		at acpi?
144armgic0		at gic?
145gicvthree*	at fdt? pass 1		# ARM GICv3
146sunxinmi*	at fdt? pass 2		# Allwinner NMI / R_INTC
147
148# Memory controller
149tegramc*	at fdt?	pass 4		# NVIDIA Tegra MC
150
151# Firmware devices
152bcmmbox*	at fdt?			# Broadcom VideoCore IV mailbox
153vcmbox*		at bcmmbox?
154qemufwcfg*	at fdt?			# QEMU Firmware Configuration device
155
156# DMA controller
157bcmdmac*	at fdt?			# Broadcom BCM283x DMA controller
158sun6idma*	at fdt?			# Allwinner DMA controller (sun6i)
159tegraapbdma*	at fdt? pass 4		# NVIDIA Tegra APB DMA
160
161# FUSE controller
162sunxisid*	at fdt? pass 4		# Allwinner SID
163tegrafuse*	at fdt? pass 4		# NVIDIA Tegra FUSE
164
165# Power management controller
166tegrapmc*	at fdt? pass 4		# NVIDIA Tegra PMC
167
168# Clock and Reset controller
169bcmcprman*	at fdt? pass 1		# Broadcom BCM283x Clock Manager
170bcmaux*		at fdt? pass 1		# Broadcom BCM283x Aux Periph Clocks
171rkcru*		at fdt? pass 2		# Rockchip RK3328 CRU
172sun8ih3ccu*	at fdt? pass 2		# Allwinner H3/H5 CCU
173sun8ih3rccu*	at fdt? pass 2		# Allwinner H3/H5 CCU (PRCM)
174sun50ia64ccu*	at fdt? pass 2		# Allwinner A64 CCU
175sun50ia64rccu*	at fdt? pass 2		# Allwinner A64 CCU (PRCM)
176sun50ih6ccu*	at fdt? pass 2		# Allwinner H6 CCU
177sun50ih6rccu*	at fdt? pass 2		# Allwinner H6 CCU (PRCM)
178sunxiresets*	at fdt? pass 1		# Allwinner misc. resets
179sunxigates*	at fdt? pass 1		# Allwinner misc. gates
180sunxigmacclk*	at fdt? pass 2		# Allwinner GMAC MII/RGMII clock mux
181tegra210car*	at fdt? pass 3		# NVIDIA Tegra CAR (T210)
182
183# GPIO controller
184bcmgpio*	at fdt?			# Broadcom BCM283x GPIO
185plgpio*		at fdt?			# ARM PrimeCell PL061 GPIO
186plgpio*		at acpi?
187sunxigpio*	at fdt? pass 3		# Allwinner GPIO
188tegragpio*	at fdt? pass 2		# NVIDIA Tegra GPIO
189rkgpio*		at rkiomux?		# Rockchip GPIO
190gpio*		at gpiobus?
191
192# PWM controller
193sunxipwm*	at fdt? pass 3		# Allwinner PWM
194
195# MPIO / Pinmux
196rkiomux*	at fdt?	pass 3		# Rockchip IOMUX
197tegrapinmux*	at fdt?			# NVIDIA Tegra MPIO
198
199# XUSB PADCTL
200tegra210xpad*	at fdt?			# NVIDIA Tegra XUSB PADCTL (T210)
201tegra210xphy*	at tegra210xpad?
202
203# PCIE
204pcihost*	at fdt?			# Generic PCI host controller
205acpipchb*	at acpi?		# ACPI PCIe host bridge
206tegrapcie0	at fdt?			# NVIDIA Tegra PCIE
207pci*		at pcibus? 
208ppb*		at pci? dev ? function ?
209pci*		at ppb?
210
211# Ethernet
212awge*		at fdt?				# DesignWare Gigabit Ethernet
213emac*		at fdt?				# Allwinner Gigabit Ethernet (EMAC)
214mskc*		at pci? dev ? function ?	# Marvell Yukon 2 Gigabit Ethernet
215msk*		at mskc?
216re*		at pci? dev ? function ?	# Realtek RTL8111GS
217
218# MII/PHY support
219exphy* 		at mii? phy ?		# 3Com internal PHYs
220gentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
221glxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
222gphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
223icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
224igphy*		at mii? phy ?		# Intel IGP01E1000
225ihphy*		at mii? phy ?		# Intel 82577 PHYs
226ikphy*		at mii? phy ?		# Intel 82563 PHYs
227inphy*		at mii? phy ?		# Intel 82555 PHYs
228iophy*		at mii? phy ?		# Intel 82553 PHYs
229lxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
230makphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
231nsphy*		at mii? phy ?		# NS83840 PHYs
232nsphyter*	at mii? phy ? 		# NS83843 PHYs
233pnaphy*		at mii? phy ?		# generic HomePNA PHYs
234qsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
235rdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
236rgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
237rlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
238sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
239tlphy*		at mii? phy ?		# ThunderLAN PHYs
240tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
241urlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
242ukphy*		at mii? phy ?		# generic unknown PHYs
243
244# Mini-PCIe Wireless
245#options 	ATHHAL_AR5212,ATHHAL_RF2425	# AR5BHB63
246#ath*		at pci? dev ? function ?	# Atheros IEEE 802.11
247#athn*		at pci? dev ? function ?	# Atheros IEEE 802.11
248
249# UART
250com*		at fdt?	pass 4		# UART
251plcom*		at fdt?	pass 4		# ARM PL011 UART
252plcom*		at acpi?
253
254# I2C controllers
255bsciic*		at fdt?			# Broadcom BCM283x Serial Control
256dwiic*		at fdt?			# Designware I2C
257rkiic*		at fdt?			# Rockchip I2C
258sunxirsb*	at fdt?			# Allwinner RSB
259sunxitwi*	at fdt?			# Allwinner TWI
260tegrai2c*	at fdt? pass 4		# NVIDIA Tegra I2C
261iic*		at i2cbus?
262
263# I2C devices
264titemp*		at iic?
265seeprom*	at iic?
266spdmem*		at iic?			# memory module SPD EEPROM decoder
267as3722pmic*	at iic?
268as3722reg*	at as3722pmic?
269axppmic*	at iic?			# X-Powers AXP Power Management IC
270axpreg*		at axppmic?
271fan53555reg*	at iic?			# FAN53555 / SY82x regulator
272max77620pmic*	at iic?
273pcf8563rtc*	at iic?			# PCF8563 RTC
274rkpmic*		at iic?			# Rockchip Power Management IC
275rkreg*		at rkpmic?
276tcagpio*	at iic?
277
278# Random number generators
279bcmrng*		at fdt?			# Broadcom BCM283x RNG
280
281# RTC
282plrtc*		at fdt?			# ARM PrimeCell RTC
283sunxirtc*	at fdt?			# Allwinner RTC
284tegrartc*	at fdt?			# NVIDIA Tegra RTC
285
286# SDMMC
287dwcmmc*		at fdt?			# Designware SD/MMC
288mmcpwrseq*	at fdt?			# Simple MMC power sequence provider
289sdhc*		at fdt?			# SD Host Controller Interface
290sdhost*		at fdt?			# Broadcom BCM283x SD Host Interface
291sunximmc*	at fdt?			# Allwinner SD/MMC
292sdmmc*		at sdmmcbus?
293ld0		at sdmmc0
294ld1		at sdmmc1
295ld2		at sdmmc2
296ld3		at sdmmc3
297ld*		at sdmmc?
298
299# SATA
300ahcisata*	at fdt?			# AHCI SATA
301ahcisata*	at acpi?
302atabus*		at ata?
303atapibus*	at atapi?
304wd*		at atabus? drive ?
305cd*		at atapibus? drive ?
306
307# SPI controllers
308bcmspi*		at fdt?			# Broadcom BCM283x SPI
309spi*		at spibus?
310
311# Audio support
312hdaudio*	at fdt?			# Intel HDA
313hdafg*		at hdaudiobus?
314options 	HDAUDIOVERBOSE
315options 	HDAUDIO_32BIT_ACCESS
316options 	HDAUDIO_ENABLE_HDMI
317options 	HDAUDIO_ENABLE_DISPLAYPORT
318ausoc*		at fdt?			# Simple SoC audio card
319sunxicodec*	at fdt?			# Allwinner audio codec
320sun8icodec*	at fdt?			# Allwinner audio codec (sun8i/sun50i)
321h3codec*	at fdt?			# Allwinner H3 audio codec (analog part)
322a64acodec*	at fdt?			# Allwinner A64 audio codec (analog part)
323sunxii2s*	at fdt?			# Allwinner I2S/PCM
324audio*		at audiobus?
325
326spkr*		at audio?		# PC speaker (synthesized)
327
328# HDMI CEC
329tegracec0	at fdt?			# NVIDIA Tegra HDMI CEC
330hdmicec*	at hdmicecbus?
331
332# Display
333#tegradrm*	at fdt?			# NVIDIA Tegra Display
334#tegrafb*	at tegrafbbus?
335genfb*		at fdt?			# Simple Framebuffer
336wsdisplay*	at wsemuldisplaydev?
337options 	VCONS_DRAW_INTR
338options 	WSEMUL_VT100
339options 	WS_DEFAULT_FG=WSCOL_WHITE
340options 	WS_DEFAULT_BG=WSCOL_BLACK
341options 	WS_KERNEL_FG=WSCOL_GREEN
342options 	WS_KERNEL_BG=WSCOL_BLACK
343options 	WSDISPLAY_COMPAT_PCVT
344options 	WSDISPLAY_COMPAT_SYSCONS
345options 	WSDISPLAY_COMPAT_USL
346options 	WSDISPLAY_COMPAT_RAWKBD
347options 	WSDISPLAY_DEFAULTSCREENS=4
348options 	WSDISPLAY_MULTICONS
349pseudo-device	wsmux
350pseudo-device	wsfont
351
352# GPU
353#nouveau*	at fdt?			# NVIDIA GPU
354
355# Backlight
356pwmbacklight*	at fdt?			# PWM Backlight controls
357
358# Thermal throttling controller
359sunxithermal*	at fdt?			# Allwinner thermal sensor controller
360tegrasoctherm*	at fdt?			# NVIDIA Tegra SOC_THERM
361
362# USB
363rkusb*		at fdt? pass 9		# Rockchip USB PHY
364rkusbphy*	at rkusb?
365sunxiusbphy*	at fdt? pass 9		# Allwinner USB PHY
366sunxiusb3phy*	at fdt? pass 9		# Allwinner USB3 PHY
367tegrausbphy*	at fdt?			# NVIDIA Tegra USB PHY
368dwctwo*		at fdt?			# Designware USB DRD
369ehci*		at fdt?			# EHCI
370ehci*		at pci?			# EHCI
371motg*		at fdt?			# Mentor Graphics USB OTG
372ohci*		at fdt?			# OHCI
373ohci*		at pci?			# OHCI
374xhci*		at fdt?			# XHCI
375xhci*		at pci?			# XHCI
376usb*		at usbus?
377
378include "dev/usb/usbdevices.config"
379midi*		at midibus?
380
381# Virtio devices
382virtio*		at fdt?			# Virtio MMIO device
383#viomb*		at virtio?		# Virtio memory balloon device
384ld*		at virtio?		# Virtio disk device
385vioif*		at virtio?		# Virtio network device
386viornd*		at virtio?		# Virtio entropy device
387vioscsi*	at virtio?		# Virtio SCSI device
388
389cinclude "arch/evbarm/conf/GENERIC64.local"
390