GENERIC64 revision 1.45
1#
2#	$NetBSD: GENERIC64,v 1.45 2018/10/12 22:22:21 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
185pl061gpio*	at fdt?			# ARM PrimeCell PL061 GPIO
186sunxigpio*	at fdt? pass 3		# Allwinner GPIO
187tegragpio*	at fdt? pass 2		# NVIDIA Tegra GPIO
188rkgpio*		at rkiomux?		# Rockchip GPIO
189gpio*		at gpiobus?
190
191# PWM controller
192sunxipwm*	at fdt? pass 3		# Allwinner PWM
193
194# MPIO / Pinmux
195rkiomux*	at fdt?	pass 3		# Rockchip IOMUX
196tegrapinmux*	at fdt?			# NVIDIA Tegra MPIO
197
198# XUSB PADCTL
199tegra210xpad*	at fdt?			# NVIDIA Tegra XUSB PADCTL (T210)
200tegra210xphy*	at tegra210xpad?
201
202# PCIE
203pcihost*	at fdt?			# Generic PCI host controller
204tegrapcie0	at fdt?			# NVIDIA Tegra PCIE
205pci*		at pcibus? 
206ppb*		at pci? dev ? function ?
207pci*		at ppb?
208
209# Ethernet
210awge*		at fdt?				# DesignWare Gigabit Ethernet
211emac*		at fdt?				# Allwinner Gigabit Ethernet (EMAC)
212mskc*		at pci? dev ? function ?	# Marvell Yukon 2 Gigabit Ethernet
213msk*		at mskc?
214re*		at pci? dev ? function ?	# Realtek RTL8111GS
215
216# MII/PHY support
217exphy* 		at mii? phy ?		# 3Com internal PHYs
218gentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
219glxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
220gphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
221icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
222igphy*		at mii? phy ?		# Intel IGP01E1000
223ihphy*		at mii? phy ?		# Intel 82577 PHYs
224ikphy*		at mii? phy ?		# Intel 82563 PHYs
225inphy*		at mii? phy ?		# Intel 82555 PHYs
226iophy*		at mii? phy ?		# Intel 82553 PHYs
227lxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
228makphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
229nsphy*		at mii? phy ?		# NS83840 PHYs
230nsphyter*	at mii? phy ? 		# NS83843 PHYs
231pnaphy*		at mii? phy ?		# generic HomePNA PHYs
232qsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
233rdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
234rgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
235rlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
236sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
237tlphy*		at mii? phy ?		# ThunderLAN PHYs
238tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
239urlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
240ukphy*		at mii? phy ?		# generic unknown PHYs
241
242# Mini-PCIe Wireless
243#options 	ATHHAL_AR5212,ATHHAL_RF2425	# AR5BHB63
244#ath*		at pci? dev ? function ?	# Atheros IEEE 802.11
245#athn*		at pci? dev ? function ?	# Atheros IEEE 802.11
246
247# UART
248com*		at fdt?	pass 4		# UART
249plcom*		at fdt?	pass 4		# ARM PL011 UART
250plcom*		at acpi?
251
252# I2C controllers
253bsciic*		at fdt?			# Broadcom BCM283x Serial Control
254dwiic*		at fdt?			# Designware I2C
255rkiic*		at fdt?			# Rockchip I2C
256sunxirsb*	at fdt?			# Allwinner RSB
257sunxitwi*	at fdt?			# Allwinner TWI
258tegrai2c*	at fdt? pass 4		# NVIDIA Tegra I2C
259iic*		at i2cbus?
260
261# I2C devices
262titemp*		at iic?
263seeprom*	at iic?
264spdmem*		at iic?			# memory module SPD EEPROM decoder
265as3722pmic*	at iic?
266as3722reg*	at as3722pmic?
267axppmic*	at iic?			# X-Powers AXP Power Management IC
268axpreg*		at axppmic?
269fan53555reg*	at iic?			# FAN53555 / SY82x regulator
270max77620pmic*	at iic?
271pcf8563rtc*	at iic?			# PCF8563 RTC
272rkpmic*		at iic?			# Rockchip Power Management IC
273rkreg*		at rkpmic?
274tcagpio*	at iic?
275
276# Random number generators
277bcmrng*		at fdt?			# Broadcom BCM283x RNG
278
279# RTC
280plrtc*		at fdt?			# ARM PrimeCell RTC
281sunxirtc*	at fdt?			# Allwinner RTC
282tegrartc*	at fdt?			# NVIDIA Tegra RTC
283
284# SDMMC
285dwcmmc*		at fdt?			# Designware SD/MMC
286mmcpwrseq*	at fdt?			# Simple MMC power sequence provider
287sdhc*		at fdt?			# SD Host Controller Interface
288sdhost*		at fdt?			# Broadcom BCM283x SD Host Interface
289sunximmc*	at fdt?			# Allwinner SD/MMC
290sdmmc*		at sdmmcbus?
291ld0		at sdmmc0
292ld1		at sdmmc1
293ld2		at sdmmc2
294ld3		at sdmmc3
295ld*		at sdmmc?
296
297# SATA
298ahcisata*	at fdt?			# AHCI SATA
299atabus*		at ata?
300atapibus*	at atapi?
301wd*		at atabus? drive ?
302cd*		at atapibus? drive ?
303
304# SPI controllers
305bcmspi*		at fdt?			# Broadcom BCM283x SPI
306spi*		at spibus?
307
308# Audio support
309hdaudio*	at fdt?			# Intel HDA
310hdafg*		at hdaudiobus?
311options 	HDAUDIOVERBOSE
312options 	HDAUDIO_32BIT_ACCESS
313options 	HDAUDIO_ENABLE_HDMI
314options 	HDAUDIO_ENABLE_DISPLAYPORT
315ausoc*		at fdt?			# Simple SoC audio card
316sunxicodec*	at fdt?			# Allwinner audio codec
317sun8icodec*	at fdt?			# Allwinner audio codec (sun8i/sun50i)
318h3codec*	at fdt?			# Allwinner H3 audio codec (analog part)
319a64acodec*	at fdt?			# Allwinner A64 audio codec (analog part)
320sunxii2s*	at fdt?			# Allwinner I2S/PCM
321audio*		at audiobus?
322
323spkr*		at audio?		# PC speaker (synthesized)
324
325# HDMI CEC
326tegracec0	at fdt?			# NVIDIA Tegra HDMI CEC
327hdmicec*	at hdmicecbus?
328
329# Display
330#tegradrm*	at fdt?			# NVIDIA Tegra Display
331#tegrafb*	at tegrafbbus?
332genfb*		at fdt?			# Simple Framebuffer
333wsdisplay*	at wsemuldisplaydev?
334options 	VCONS_DRAW_INTR
335options 	WSEMUL_VT100
336options 	WS_DEFAULT_FG=WSCOL_WHITE
337options 	WS_DEFAULT_BG=WSCOL_BLACK
338options 	WS_KERNEL_FG=WSCOL_GREEN
339options 	WS_KERNEL_BG=WSCOL_BLACK
340options 	WSDISPLAY_COMPAT_PCVT
341options 	WSDISPLAY_COMPAT_SYSCONS
342options 	WSDISPLAY_COMPAT_USL
343options 	WSDISPLAY_COMPAT_RAWKBD
344options 	WSDISPLAY_DEFAULTSCREENS=4
345options 	WSDISPLAY_MULTICONS
346pseudo-device	wsmux
347pseudo-device	wsfont
348
349# GPU
350#nouveau*	at fdt?			# NVIDIA GPU
351
352# Backlight
353pwmbacklight*	at fdt?			# PWM Backlight controls
354
355# Thermal throttling controller
356sunxithermal*	at fdt?			# Allwinner thermal sensor controller
357tegrasoctherm*	at fdt?			# NVIDIA Tegra SOC_THERM
358
359# USB
360rkusb*		at fdt? pass 9		# Rockchip USB PHY
361rkusbphy*	at rkusb?
362sunxiusbphy*	at fdt? pass 9		# Allwinner USB PHY
363sunxiusb3phy*	at fdt? pass 9		# Allwinner USB3 PHY
364tegrausbphy*	at fdt?			# NVIDIA Tegra USB PHY
365dwctwo*		at fdt?			# Designware USB DRD
366ehci*		at fdt?			# EHCI
367ehci*		at pci?			# EHCI
368motg*		at fdt?			# Mentor Graphics USB OTG
369ohci*		at fdt?			# OHCI
370ohci*		at pci?			# OHCI
371xhci*		at fdt?			# XHCI
372xhci*		at pci?			# XHCI
373usb*		at usbus?
374
375include "dev/usb/usbdevices.config"
376midi*		at midibus?
377
378# Virtio devices
379virtio*		at fdt?			# Virtio MMIO device
380#viomb*		at virtio?		# Virtio memory balloon device
381ld*		at virtio?		# Virtio disk device
382vioif*		at virtio?		# Virtio network device
383viornd*		at virtio?		# Virtio entropy device
384vioscsi*	at virtio?		# Virtio SCSI device
385
386cinclude "arch/evbarm/conf/GENERIC64.local"
387