GENERIC64 revision 1.45
11.1Sryo#
21.45Sjmcneill#	$NetBSD: GENERIC64,v 1.45 2018/10/12 22:22:21 jmcneill Exp $
31.1Sryo#
41.1Sryo#	GENERIC ARM (aarch64) kernel
51.1Sryo#
61.1Sryo
71.1Sryoinclude	"arch/evbarm/conf/std.generic64"
81.1Sryoinclude "arch/evbarm/conf/files.generic64"
91.1Sryoinclude	"arch/evbarm/conf/GENERIC.common"
101.1Sryo
111.1Sryo#
121.1Sryo# FDT files supported by this kernel - add to DTSSUBDIR and DTS as
131.1Sryo# appropriate
141.1Sryo#
151.1Sryomakeoptions 	DTSARCH="arm aarch64"
161.1Sryomakeoptions	DTSGNUARCH="arm arm64"
171.17Sjmcneillmakeoptions	DTSSUBDIR="allwinner broadcom nvidia rockchip"
181.1Sryomakeoptions	DTS="
191.1Sryo	bcm2837-rpi-3-b.dts
201.24Sskrll	bcm2837-rpi-3-b-plus.dts
211.1Sryo
221.17Sjmcneill	rk3328-evb.dts
231.17Sjmcneill	rk3328-roc-cc.dts
241.17Sjmcneill	rk3328-rock64.dts
251.17Sjmcneill
261.30Sjmcneill	rk3399-evb.dts
271.30Sjmcneill	rk3399-firefly.dts
281.30Sjmcneill	rk3399-gru-kevin.dts
291.30Sjmcneill	rk3399-puma-haikou.dts
301.31Sjmcneill	rk3399-rockpro64.dts
311.30Sjmcneill	rk3399-sapphire-excavator.dts
321.30Sjmcneill	rk3399-sapphire.dts
331.30Sjmcneill
341.1Sryo	sun50i-a64-bananapi-m64.dts
351.1Sryo	sun50i-a64-nanopi-a64.dts
361.1Sryo	sun50i-a64-olinuxino.dts
371.1Sryo	sun50i-a64-orangepi-win.dts
381.1Sryo	sun50i-a64-pine64-plus.dts
391.1Sryo	sun50i-a64-pine64.dts
401.1Sryo	sun50i-a64-pinebook.dts
411.1Sryo	sun50i-a64-sopine-baseboard.dts
421.2Sjmcneill	sun50i-a64-teres-i.dts
431.1Sryo
441.19Sjmcneill	sun50i-h5-libretech-all-h3-cc.dts
451.1Sryo	sun50i-h5-nanopi-neo-plus2.dts
461.1Sryo	sun50i-h5-nanopi-neo2.dts
471.1Sryo	sun50i-h5-orangepi-pc2.dts
481.1Sryo	sun50i-h5-orangepi-prime.dts
491.2Sjmcneill	sun50i-h5-orangepi-zero-plus.dts
501.1Sryo	sun50i-h5-orangepi-zero-plus2.dts
511.1Sryo
521.5Sjmcneill	sun50i-h6-pine-h64.dts
531.5Sjmcneill
541.1Sryo	tegra210-p2371-0000.dts
551.1Sryo	tegra210-p2371-2180.dts
561.1Sryo	tegra210-p2571.dts
571.1Sryo	tegra210-smaug.dts
581.1Sryo"
591.1Sryooptions 	CPU_CORTEXA53
601.1Sryooptions 	CPU_CORTEXA57
611.1Sryooptions 	SOC_BCM2837
621.17Sjmcneilloptions 	SOC_RK3328
631.30Sjmcneilloptions 	SOC_RK3399
641.1Sryooptions 	SOC_SUN50I_A64
651.1Sryooptions 	SOC_SUN50I_H5
661.5Sjmcneilloptions 	SOC_SUN50I_H6
671.43Sskrlloptions 	SOC_TEGRA210
681.16Sjmcneilloptions 	SOC_VIRT
691.26Sjmcneilloptions 	MULTIPROCESSOR
701.1Sryo
711.1Sryopseudo-device 	openfirm	# /dev/openfirm
721.1Sryo
731.1Sryooptions 	DIAGNOSTIC	# internal consistency checks
741.1Sryooptions 	DEBUG
751.1Sryo#options 	LOCKDEBUG
761.1Sryo#options 	PMAP_DEBUG	# Enable pmap_debug_level code
771.1Sryooptions 	VERBOSE_INIT_ARM # verbose bootstrapping messages
781.1Sryo# EARLYCONS is required for early init messages from VERBOSE_INIT_ARM.
791.1Sryo#options 	EARLYCONS=bcm2837
801.18Sjmcneill#options 	EARLYCONS=rk3328, CONSADDR=0xff130000
811.33Sjmcneill#options 	EARLYCONS=rk3399, CONSADDR=0xff1a0000
821.1Sryo#options 	EARLYCONS=sunxi, CONSADDR=0x01c28000
831.1Sryo#options 	EARLYCONS=tegra, CONSADDR=0x70006000
841.42Sskrll#options 	EARLYCONS=thunderx, CONSADDR=0x87e024000000
851.16Sjmcneill#options 	EARLYCONS=virt
861.1Sryo
871.1Sryomakeoptions	DEBUG="-g"	# compile full symbol table
881.1Sryomakeoptions	COPY_SYMTAB=1
891.1Sryo
901.1Sryoconfig		netbsd		root on ? type ?
911.1Sryo
921.44Sryooptions 	COMPAT_NETBSD32
931.44Sryooptions 	EXEC_ELF32
941.44Sryo
951.1Sryo# Device tree support
961.1Sryoarmfdt0		at root
971.23Sjmcneillsimplebus*	at fdt? pass 0
981.1Sryo
991.45Sjmcneill# ACPI support
1001.45Sjmcneillacpifdt*	at fdt? pass 1
1011.45Sjmcneillacpi*		at acpifdt?
1021.45Sjmcneill
1031.1Sryo# CPUs
1041.1Sryocpus*		at fdt? pass 0
1051.22Sjmcneillcpu*		at fdt? pass 0
1061.45Sjmcneillcpu*		at acpi?
1071.1Sryo
1081.28Sjmcneill# Performance monitors
1091.28Sjmcneillarmpmu*		at fdt?
1101.29Sjmcneillpseudo-device	tprof
1111.28Sjmcneill
1121.1Sryo# CPU frequency scaling
1131.1Sryocpufreqdt*	at cpu?
1141.1Sryo
1151.1Sryo# Power State Coordination Interface (PSCI)
1161.1Sryopsci*		at fdt?
1171.1Sryo
1181.1Sryofclock*		at fdt? pass 1
1191.1Sryoffclock*	at fdt? pass 1
1201.1Sryofregulator*	at fdt? pass 4
1211.1Sryogregulator*	at fdt? pass 4
1221.1Sryogpiokeys*	at fdt?
1231.1Sryowskbd*		at gpiokeys? console ? mux 1
1241.1Sryogpioleds*	at fdt?
1251.1Sryo
1261.20Sjmcneill# System Controller
1271.20Sjmcneillsyscon*		at fdt? pass 1		# Generic System Controller
1281.20Sjmcneill
1291.1Sryo# Timer
1301.1Sryogtmr*		at fdt? pass 1		# ARM Generic Timer
1311.45Sjmcneillgtmr*		at acpi?
1321.1Sryoarmgtmr0	at gtmr?
1331.1Sryotegratimer*	at fdt?			# Timers
1341.1Sryo
1351.1Sryo# Watchdog
1361.1Sryosunxiwdt*	at fdt?			# Allwinner watchdog
1371.1Sryowatchdog*	at fdt?			# Broadcom BCM283x watchdog
1381.1Sryo
1391.1Sryo# Interrupt controller
1401.1Sryobcmicu*		at fdt? pass 1		# Broadcom BCM283x ICU
1411.1Sryotegralic*	at fdt? pass 1		# NVIDIA Tegra LIC
1421.30Sjmcneillgic*		at fdt? pass 1		# ARM GICv2
1431.45Sjmcneillgic*		at acpi?
1441.1Sryoarmgic0		at gic?
1451.30Sjmcneillgicvthree*	at fdt? pass 1		# ARM GICv3
1461.9Sjmcneillsunxinmi*	at fdt? pass 2		# Allwinner NMI / R_INTC
1471.1Sryo
1481.1Sryo# Memory controller
1491.1Sryotegramc*	at fdt?	pass 4		# NVIDIA Tegra MC
1501.1Sryo
1511.1Sryo# Firmware devices
1521.1Sryobcmmbox*	at fdt?			# Broadcom VideoCore IV mailbox
1531.1Sryovcmbox*		at bcmmbox?
1541.41Sjmcneillqemufwcfg*	at fdt?			# QEMU Firmware Configuration device
1551.1Sryo
1561.1Sryo# DMA controller
1571.1Sryobcmdmac*	at fdt?			# Broadcom BCM283x DMA controller
1581.1Sryosun6idma*	at fdt?			# Allwinner DMA controller (sun6i)
1591.1Sryotegraapbdma*	at fdt? pass 4		# NVIDIA Tegra APB DMA
1601.1Sryo
1611.1Sryo# FUSE controller
1621.3Sjmcneillsunxisid*	at fdt? pass 4		# Allwinner SID
1631.1Sryotegrafuse*	at fdt? pass 4		# NVIDIA Tegra FUSE
1641.1Sryo
1651.1Sryo# Power management controller
1661.1Sryotegrapmc*	at fdt? pass 4		# NVIDIA Tegra PMC
1671.1Sryo
1681.1Sryo# Clock and Reset controller
1691.1Sryobcmcprman*	at fdt? pass 1		# Broadcom BCM283x Clock Manager
1701.1Sryobcmaux*		at fdt? pass 1		# Broadcom BCM283x Aux Periph Clocks
1711.17Sjmcneillrkcru*		at fdt? pass 2		# Rockchip RK3328 CRU
1721.1Sryosun8ih3ccu*	at fdt? pass 2		# Allwinner H3/H5 CCU
1731.1Sryosun8ih3rccu*	at fdt? pass 2		# Allwinner H3/H5 CCU (PRCM)
1741.1Sryosun50ia64ccu*	at fdt? pass 2		# Allwinner A64 CCU
1751.12Sjmcneillsun50ia64rccu*	at fdt? pass 2		# Allwinner A64 CCU (PRCM)
1761.5Sjmcneillsun50ih6ccu*	at fdt? pass 2		# Allwinner H6 CCU
1771.8Sjmcneillsun50ih6rccu*	at fdt? pass 2		# Allwinner H6 CCU (PRCM)
1781.1Sryosunxiresets*	at fdt? pass 1		# Allwinner misc. resets
1791.1Sryosunxigates*	at fdt? pass 1		# Allwinner misc. gates
1801.1Sryosunxigmacclk*	at fdt? pass 2		# Allwinner GMAC MII/RGMII clock mux
1811.1Sryotegra210car*	at fdt? pass 3		# NVIDIA Tegra CAR (T210)
1821.1Sryo
1831.1Sryo# GPIO controller
1841.1Sryobcmgpio*	at fdt?			# Broadcom BCM283x GPIO
1851.35Sjmcneillpl061gpio*	at fdt?			# ARM PrimeCell PL061 GPIO
1861.1Sryosunxigpio*	at fdt? pass 3		# Allwinner GPIO
1871.1Sryotegragpio*	at fdt? pass 2		# NVIDIA Tegra GPIO
1881.17Sjmcneillrkgpio*		at rkiomux?		# Rockchip GPIO
1891.1Sryogpio*		at gpiobus?
1901.1Sryo
1911.13Sjmcneill# PWM controller
1921.13Sjmcneillsunxipwm*	at fdt? pass 3		# Allwinner PWM
1931.13Sjmcneill
1941.1Sryo# MPIO / Pinmux
1951.30Sjmcneillrkiomux*	at fdt?	pass 3		# Rockchip IOMUX
1961.1Sryotegrapinmux*	at fdt?			# NVIDIA Tegra MPIO
1971.1Sryo
1981.1Sryo# XUSB PADCTL
1991.1Sryotegra210xpad*	at fdt?			# NVIDIA Tegra XUSB PADCTL (T210)
2001.1Sryotegra210xphy*	at tegra210xpad?
2011.1Sryo
2021.1Sryo# PCIE
2031.35Sjmcneillpcihost*	at fdt?			# Generic PCI host controller
2041.1Sryotegrapcie0	at fdt?			# NVIDIA Tegra PCIE
2051.35Sjmcneillpci*		at pcibus? 
2061.1Sryoppb*		at pci? dev ? function ?
2071.1Sryopci*		at ppb?
2081.1Sryo
2091.1Sryo# Ethernet
2101.17Sjmcneillawge*		at fdt?				# DesignWare Gigabit Ethernet
2111.1Sryoemac*		at fdt?				# Allwinner Gigabit Ethernet (EMAC)
2121.37Sjmcneillmskc*		at pci? dev ? function ?	# Marvell Yukon 2 Gigabit Ethernet
2131.37Sjmcneillmsk*		at mskc?
2141.1Sryore*		at pci? dev ? function ?	# Realtek RTL8111GS
2151.1Sryo
2161.1Sryo# MII/PHY support
2171.1Sryoexphy* 		at mii? phy ?		# 3Com internal PHYs
2181.1Sryogentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
2191.1Sryoglxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
2201.1Sryogphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
2211.1Sryoicsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
2221.1Sryoigphy*		at mii? phy ?		# Intel IGP01E1000
2231.1Sryoihphy*		at mii? phy ?		# Intel 82577 PHYs
2241.1Sryoikphy*		at mii? phy ?		# Intel 82563 PHYs
2251.1Sryoinphy*		at mii? phy ?		# Intel 82555 PHYs
2261.1Sryoiophy*		at mii? phy ?		# Intel 82553 PHYs
2271.1Sryolxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
2281.1Sryomakphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
2291.1Sryonsphy*		at mii? phy ?		# NS83840 PHYs
2301.1Sryonsphyter*	at mii? phy ? 		# NS83843 PHYs
2311.1Sryopnaphy*		at mii? phy ?		# generic HomePNA PHYs
2321.1Sryoqsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
2331.1Sryordcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
2341.1Sryorgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
2351.1Sryorlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
2361.1Sryosqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
2371.1Sryotlphy*		at mii? phy ?		# ThunderLAN PHYs
2381.1Sryotqphy*		at mii? phy ?		# TDK Semiconductor PHYs
2391.1Sryourlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
2401.1Sryoukphy*		at mii? phy ?		# generic unknown PHYs
2411.1Sryo
2421.1Sryo# Mini-PCIe Wireless
2431.1Sryo#options 	ATHHAL_AR5212,ATHHAL_RF2425	# AR5BHB63
2441.1Sryo#ath*		at pci? dev ? function ?	# Atheros IEEE 802.11
2451.1Sryo#athn*		at pci? dev ? function ?	# Atheros IEEE 802.11
2461.1Sryo
2471.1Sryo# UART
2481.36Sjmcneillcom*		at fdt?	pass 4		# UART
2491.36Sjmcneillplcom*		at fdt?	pass 4		# ARM PL011 UART
2501.45Sjmcneillplcom*		at acpi?
2511.1Sryo
2521.1Sryo# I2C controllers
2531.1Sryobsciic*		at fdt?			# Broadcom BCM283x Serial Control
2541.38Sjakllschdwiic*		at fdt?			# Designware I2C
2551.25Sjmcneillrkiic*		at fdt?			# Rockchip I2C
2561.1Sryosunxirsb*	at fdt?			# Allwinner RSB
2571.1Sryosunxitwi*	at fdt?			# Allwinner TWI
2581.1Sryotegrai2c*	at fdt? pass 4		# NVIDIA Tegra I2C
2591.1Sryoiic*		at i2cbus?
2601.1Sryo
2611.1Sryo# I2C devices
2621.1Sryotitemp*		at iic?
2631.1Sryoseeprom*	at iic?
2641.38Sjakllschspdmem*		at iic?			# memory module SPD EEPROM decoder
2651.1Sryoas3722pmic*	at iic?
2661.1Sryoas3722reg*	at as3722pmic?
2671.11Sjmcneillaxppmic*	at iic?			# X-Powers AXP Power Management IC
2681.14Sjmcneillaxpreg*		at axppmic?
2691.32Sjmcneillfan53555reg*	at iic?			# FAN53555 / SY82x regulator
2701.1Sryomax77620pmic*	at iic?
2711.7Sjmcneillpcf8563rtc*	at iic?			# PCF8563 RTC
2721.34Sjmcneillrkpmic*		at iic?			# Rockchip Power Management IC
2731.34Sjmcneillrkreg*		at rkpmic?
2741.1Sryotcagpio*	at iic?
2751.1Sryo
2761.1Sryo# Random number generators
2771.1Sryobcmrng*		at fdt?			# Broadcom BCM283x RNG
2781.1Sryo
2791.1Sryo# RTC
2801.40Sjmcneillplrtc*		at fdt?			# ARM PrimeCell RTC
2811.1Sryosunxirtc*	at fdt?			# Allwinner RTC
2821.1Sryotegrartc*	at fdt?			# NVIDIA Tegra RTC
2831.1Sryo
2841.1Sryo# SDMMC
2851.17Sjmcneilldwcmmc*		at fdt?			# Designware SD/MMC
2861.1Sryommcpwrseq*	at fdt?			# Simple MMC power sequence provider
2871.1Sryosdhc*		at fdt?			# SD Host Controller Interface
2881.1Sryosdhost*		at fdt?			# Broadcom BCM283x SD Host Interface
2891.1Sryosunximmc*	at fdt?			# Allwinner SD/MMC
2901.1Sryosdmmc*		at sdmmcbus?
2911.1Sryold0		at sdmmc0
2921.1Sryold1		at sdmmc1
2931.1Sryold2		at sdmmc2
2941.1Sryold3		at sdmmc3
2951.1Sryold*		at sdmmc?
2961.1Sryo
2971.1Sryo# SATA
2981.1Sryoahcisata*	at fdt?			# AHCI SATA
2991.1Sryoatabus*		at ata?
3001.1Sryoatapibus*	at atapi?
3011.1Sryowd*		at atabus? drive ?
3021.1Sryocd*		at atapibus? drive ?
3031.1Sryo
3041.1Sryo# SPI controllers
3051.1Sryobcmspi*		at fdt?			# Broadcom BCM283x SPI
3061.1Sryospi*		at spibus?
3071.1Sryo
3081.1Sryo# Audio support
3091.1Sryohdaudio*	at fdt?			# Intel HDA
3101.1Sryohdafg*		at hdaudiobus?
3111.1Sryooptions 	HDAUDIOVERBOSE
3121.1Sryooptions 	HDAUDIO_32BIT_ACCESS
3131.1Sryooptions 	HDAUDIO_ENABLE_HDMI
3141.1Sryooptions 	HDAUDIO_ENABLE_DISPLAYPORT
3151.15Sjmcneillausoc*		at fdt?			# Simple SoC audio card
3161.1Sryosunxicodec*	at fdt?			# Allwinner audio codec
3171.15Sjmcneillsun8icodec*	at fdt?			# Allwinner audio codec (sun8i/sun50i)
3181.1Sryoh3codec*	at fdt?			# Allwinner H3 audio codec (analog part)
3191.15Sjmcneilla64acodec*	at fdt?			# Allwinner A64 audio codec (analog part)
3201.15Sjmcneillsunxii2s*	at fdt?			# Allwinner I2S/PCM
3211.1Sryoaudio*		at audiobus?
3221.1Sryo
3231.1Sryospkr*		at audio?		# PC speaker (synthesized)
3241.1Sryo
3251.1Sryo# HDMI CEC
3261.1Sryotegracec0	at fdt?			# NVIDIA Tegra HDMI CEC
3271.1Sryohdmicec*	at hdmicecbus?
3281.1Sryo
3291.1Sryo# Display
3301.1Sryo#tegradrm*	at fdt?			# NVIDIA Tegra Display
3311.1Sryo#tegrafb*	at tegrafbbus?
3321.1Sryogenfb*		at fdt?			# Simple Framebuffer
3331.1Sryowsdisplay*	at wsemuldisplaydev?
3341.1Sryooptions 	VCONS_DRAW_INTR
3351.1Sryooptions 	WSEMUL_VT100
3361.1Sryooptions 	WS_DEFAULT_FG=WSCOL_WHITE
3371.1Sryooptions 	WS_DEFAULT_BG=WSCOL_BLACK
3381.1Sryooptions 	WS_KERNEL_FG=WSCOL_GREEN
3391.1Sryooptions 	WS_KERNEL_BG=WSCOL_BLACK
3401.1Sryooptions 	WSDISPLAY_COMPAT_PCVT
3411.1Sryooptions 	WSDISPLAY_COMPAT_SYSCONS
3421.1Sryooptions 	WSDISPLAY_COMPAT_USL
3431.1Sryooptions 	WSDISPLAY_COMPAT_RAWKBD
3441.1Sryooptions 	WSDISPLAY_DEFAULTSCREENS=4
3451.36Sjmcneilloptions 	WSDISPLAY_MULTICONS
3461.1Sryopseudo-device	wsmux
3471.1Sryopseudo-device	wsfont
3481.1Sryo
3491.1Sryo# GPU
3501.1Sryo#nouveau*	at fdt?			# NVIDIA GPU
3511.1Sryo
3521.13Sjmcneill# Backlight
3531.13Sjmcneillpwmbacklight*	at fdt?			# PWM Backlight controls
3541.13Sjmcneill
3551.1Sryo# Thermal throttling controller
3561.3Sjmcneillsunxithermal*	at fdt?			# Allwinner thermal sensor controller
3571.1Sryotegrasoctherm*	at fdt?			# NVIDIA Tegra SOC_THERM
3581.1Sryo
3591.1Sryo# USB
3601.17Sjmcneillrkusb*		at fdt? pass 9		# Rockchip USB PHY
3611.17Sjmcneillrkusbphy*	at rkusb?
3621.1Sryosunxiusbphy*	at fdt? pass 9		# Allwinner USB PHY
3631.6Sjmcneillsunxiusb3phy*	at fdt? pass 9		# Allwinner USB3 PHY
3641.1Sryotegrausbphy*	at fdt?			# NVIDIA Tegra USB PHY
3651.1Sryodwctwo*		at fdt?			# Designware USB DRD
3661.1Sryoehci*		at fdt?			# EHCI
3671.35Sjmcneillehci*		at pci?			# EHCI
3681.4Sjmcneillmotg*		at fdt?			# Mentor Graphics USB OTG
3691.1Sryoohci*		at fdt?			# OHCI
3701.35Sjmcneillohci*		at pci?			# OHCI
3711.1Sryoxhci*		at fdt?			# XHCI
3721.35Sjmcneillxhci*		at pci?			# XHCI
3731.1Sryousb*		at usbus?
3741.1Sryo
3751.1Sryoinclude "dev/usb/usbdevices.config"
3761.1Sryomidi*		at midibus?
3771.1Sryo
3781.39Sjmcneill# Virtio devices
3791.39Sjmcneillvirtio*		at fdt?			# Virtio MMIO device
3801.39Sjmcneill#viomb*		at virtio?		# Virtio memory balloon device
3811.39Sjmcneillld*		at virtio?		# Virtio disk device
3821.39Sjmcneillvioif*		at virtio?		# Virtio network device
3831.39Sjmcneillviornd*		at virtio?		# Virtio entropy device
3841.39Sjmcneillvioscsi*	at virtio?		# Virtio SCSI device
3851.39Sjmcneill
3861.1Sryocinclude "arch/evbarm/conf/GENERIC64.local"
387