RPI revision 1.73
11.1Sskrll#
21.73Sjmcneill#	$NetBSD: RPI,v 1.73 2017/07/30 17:01:27 jmcneill Exp $
31.1Sskrll#
41.1Sskrll#	RPi -- Raspberry Pi
51.1Sskrll#
61.1Sskrll
71.1Sskrllinclude	"arch/evbarm/conf/std.rpi"
81.62Sskrllinclude "arch/evbarm/conf/GENERIC.common"
91.1Sskrll
101.1Sskrll# CPU options
111.1Sskrll
121.60Sskrlloptions 	CPU_ARM1176
131.60Sskrlloptions 	TPIDRPRW_IS_CURLWP
141.61Sjmcneilloptions 	ARM11_COMPAT_MMU
151.60Sskrlloptions 	__HAVE_MM_MD_CACHE_ALIASING
161.60Sskrllmakeoptions 	CPUFLAGS="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp"
171.1Sskrll
181.1Sskrll# Architecture options
191.1Sskrll
201.1Sskrll# Development and Debugging options
211.33Sreinoud#options 	KGDB,KGDB_PLCOMUNIT=0,KGDB_DEVRATE=115200,KGDB_CONMODE=0xB00
221.1Sskrllmakeoptions	DEBUG="-g"	# compile full symbol table
231.48Sjoergmakeoptions	COPY_SYMTAB=1
241.1Sskrlloptions 	PLCONSOLE
251.1Sskrll#options 	PLCONSOLE,PLCOMCNUNIT=0,PLCONSPEED=115200,PLCONMODE=0xB00
261.1Sskrll
271.1Sskrll## USB Debugging options
281.1Sskrlloptions USB_DEBUG
291.65Sskrll#options DWC2_DEBUG
301.1Sskrll#options UHUB_DEBUG
311.1Sskrll
321.1Sskrll
331.1Sskrll# Valid options for BOOT_ARGS:
341.1Sskrll#  single		Boot to single user only
351.1Sskrll#  kdb			Give control to kernel debugger
361.1Sskrll#  ask			Ask for file name to reboot from
371.1Sskrll#  pmapdebug=<n>	If PMAP_DEBUG, set pmap_debug_level to <n>
381.1Sskrll#  memorydisk=<n>	Set memorydisk size to <n> KB
391.1Sskrll#  quiet		Show aprint_naive output
401.1Sskrll#  verbose		Show aprint_normal and aprint_verbose output
411.1Sskrll#options		BOOT_ARGS="\"\""
421.1Sskrll
431.22Sjakllschconfig		netbsd		root on ? type ?
441.1Sskrll
451.1Sskrll# The main bus device
461.1Sskrllmainbus0	at root
471.1Sskrll
481.60Sskrll# The CPU(s)
491.60Sskrllcpu*		at mainbus?
501.1Sskrll
511.1Sskrll# OBIO
521.1Sskrllobio0		at mainbus?
531.1Sskrll
541.1Sskrll# Interrupt Controller
551.1Sskrllbcmicu0		at obio?
561.1Sskrll
571.4Sskrll# VC Mailbox
581.4Sskrllbcmmbox0	at obio?
591.13Sjmcneillvcmbox0 	at bcmmbox0
601.4Sskrll
611.51Sjmcneill# DMA Controller
621.54Sskrllbcmdmac0	at obio?
631.51Sjmcneill
641.27Sjmcneill# VCHIQ
651.30Sjmcneillvchiq0		at obio?
661.30Sjmcneill
671.30Sjmcneill# AUDS
681.30Sjmcneillvcaudio0	at vchiq0
691.30Sjmcneillaudio0		at vcaudio0
701.27Sjmcneill
711.71Schristosspkr*		at audio?		# PC speaker (synthesized)
721.69Snat
731.1Sskrll# PL011 uart
741.1Sskrllplcom0		at obio?
751.1Sskrll
761.15Sjmcneill# Framebuffer console
771.20Sjmcneillgenfb0		at obio?
781.20Sjmcneillwsdisplay*	at genfb?
791.31Sreinoudoptions		VCONS_DRAW_INTR
801.56Sskrll#options 	RPI_HWCURSOR
811.15Sjmcneill
821.1Sskrll# System timer
831.1Sskrllbcmtmr0		at obio?
841.1Sskrll
851.1Sskrll# Power management, Reset controller and Watchdog registers
861.1Sskrllbcmpm0		at obio?
871.1Sskrll
881.23Sjmcneill# Random number generator
891.23Sjmcneillbcmrng0 	at obio?
901.23Sjmcneill
911.44Skardel# GPIO
921.44Skardelbcmgpio0	at obio?	# pins  0 ... 31
931.44Skardelbcmgpio1	at obio?	# pins 32 ... 53
941.44Skardel
951.1Sskrll# Arasan SD/MMC Interface
961.1Sskrllsdhc* at obio?
971.1Sskrllsdmmc*  at sdhc?
981.1Sskrll
991.72Sjmcneill# SD host controller
1001.73Sjmcneillsdhost* at obio?
1011.73Sjmcneillsdmmc* at sdhost?
1021.72Sjmcneill
1031.1Sskrllld*     at sdmmc?
1041.1Sskrll
1051.17Sskrll# On-board USB
1061.41Sskrlldwctwo* 	at obio?
1071.41Sskrllusb* 		at dwctwo?
1081.7Sjakllsch
1091.38Sskrll# USB device drivers
1101.17Sskrllinclude "dev/usb/usbdevices.config"
1111.7Sjakllsch
1121.57Suebayasimidi*		at midibus?
1131.57Suebayasi
1141.50Sskrll# MII/PHY support
1151.50Sskrllexphy* 		at mii? phy ?		# 3Com internal PHYs
1161.50Sskrllgentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
1171.50Sskrllglxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
1181.50Sskrllgphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
1191.50Sskrllicsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
1201.50Sskrlligphy*		at mii? phy ?		# Intel IGP01E1000
1211.50Sskrllihphy*		at mii? phy ?		# Intel 82577 PHYs
1221.50Sskrllikphy*		at mii? phy ?		# Intel 82563 PHYs
1231.50Sskrllinphy*		at mii? phy ?		# Intel 82555 PHYs
1241.50Sskrlliophy*		at mii? phy ?		# Intel 82553 PHYs
1251.50Sskrlllxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
1261.50Sskrllmakphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
1271.50Sskrllnsphy*		at mii? phy ?		# NS83840 PHYs
1281.50Sskrllnsphyter*	at mii? phy ? 		# NS83843 PHYs
1291.50Sskrllpnaphy*		at mii? phy ?		# generic HomePNA PHYs
1301.50Sskrllqsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
1311.50Sskrllrdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
1321.50Sskrllrgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
1331.50Sskrllrlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
1341.50Sskrllsqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
1351.50Sskrlltlphy*		at mii? phy ?		# ThunderLAN PHYs
1361.50Sskrlltqphy*		at mii? phy ?		# TDK Semiconductor PHYs
1371.50Sskrllurlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
1381.50Sskrllukphy*		at mii? phy ?		# generic unknown PHYs
1391.18Sskrll
1401.14Sjakllsch# Broadcom Serial Control (I2C)
1411.14Sjakllschbsciic* at obio?
1421.14Sjakllschiic* at i2cbus?
1431.14Sjakllsch
1441.58Smacallan# 'DS3231 Raspberry Pi RTC Board Real Time Clock Module for Arduino'
1451.58Smacallan# sold by linksprite.com
1461.58Smacallan#dsrtc* at iic1 addr 0x68 flags 3231
1471.58Smacallan
1481.68Saymeric# MCP7940 based PiFace Real Time Clock
1491.68Saymeric#dsrtc* at iic1 addr 0x6f flags 7940
1501.68Saymeric
1511.14Sjakllsch# SPI controller
1521.14Sjakllschbcmspi* at obio?
1531.14Sjakllschspi* at spibus?
1541.14Sjakllsch
1551.64Sphx# MCP3x0x ADC
1561.64Sphx# flags selects the actual chip, refer to mcp3kadc(4)
1571.64Sphx#mcp3kadc0 at spi? slave 0 flags 0
1581.64Sphx
1591.43Skardel# PIFace or other boards using that chip (needs gpio)
1601.43Skardel#mcp23s17gpio0 at spi? slave 0 flags 0
1611.55Sjakllsch#mcp23s17gpio1 at spi? slave 0 flags 1
1621.43Skardel#mcp23s17gpio2 at spi? slave 0 flags 2
1631.43Skardel#mcp23s17gpio3 at spi? slave 0 flags 3
1641.43Skardel
1651.44Skardel# gpio support (e. g. mcp23s17gpio, bcmgpio)
1661.44Skardelgpio*		at gpiobus?
1671.43Skardel
1681.1Sskrll# various options for wscons - we try to look as much like a standard
1691.1Sskrll# sun console as possible
1701.1Sskrlloptions 	WSEMUL_VT100		# sun terminal emulation
1711.5Sskrlloptions 	WS_DEFAULT_FG=WSCOL_WHITE
1721.5Sskrlloptions 	WS_DEFAULT_BG=WSCOL_BLACK
1731.5Sskrlloptions 	WS_KERNEL_FG=WSCOL_GREEN
1741.5Sskrlloptions 	WS_KERNEL_BG=WSCOL_BLACK
1751.24Sskrlloptions 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
1761.24Sskrlloptions 	WSDISPLAY_COMPAT_SYSCONS	# emulate some more ioctls
1771.3Sabsoptions 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
1781.1Sskrlloptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
1791.1Sskrlloptions 	WSDISPLAY_DEFAULTSCREENS=4
1801.24Sskrll
1811.15Sjmcneill#options 	FONT_QVSS8x15
1821.1Sskrll#options 	FONT_GALLANT12x22	# the console font
1831.1Sskrll
1841.1Sskrll# Pseudo-Devices
1851.1Sskrll
1861.1Sskrll# network pseudo-devices
1871.9Sskrll#pseudo-device	carp			# Common Address Redundancy Protocol
1881.9Sskrll#pseudo-device	ipfilter		# IP filter (firewall) and NAT
1891.1Sskrll#pseudo-device	kttcp			# network loopback
1901.9Sskrll#pseudo-device	ppp			# Point-to-Point Protocol
1911.9Sskrll#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
1921.9Sskrll#options 	PPPOE_SERVER		# Enable PPPoE server via link0
1931.9Sskrll#pseudo-device	sl			# Serial Line IP
1941.9Sskrll#pseudo-device	strip			# Starmode Radio IP (Metricom)
1951.9Sskrll#pseudo-device	irframetty		# IrDA frame line discipline
1961.9Sskrll#pseudo-device	tap			# virtual Ethernet
1971.9Sskrll#pseudo-device	tun			# network tunneling over tty
1981.9Sskrll#pseudo-device	gre			# generic L3 over IP tunnel
1991.9Sskrll#pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC 1933)
2001.9Sskrll#pseudo-device	faith			# IPv[46] TCP relay translation i/f
2011.9Sskrll#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
2021.9Sskrll#pseudo-device	vlan			# IEEE 802.1q encapsulation
2031.9Sskrll#pseudo-device	bridge			# simple inter-network bridging
2041.9Sskrll#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
2051.9Sskrll#pseudo-device	agr			# IEEE 802.3ad link aggregation
2061.9Sskrll#pseudo-device	pf			# PF packet filter
2071.9Sskrll#pseudo-device	pflog			# PF log if
2081.1Sskrll
2091.1Sskrll# miscellaneous pseudo-devices
2101.9Sskrll
2111.9Sskrll# wscons pseudo-devices
2121.9Sskrllpseudo-device	wsmux			# mouse & keyboard multiplexor
2131.9Sskrllpseudo-device	wsfont
2141.9Sskrll
2151.29Sjmcneill# userland interface to drivers, including autoconf and properties retrieval
2161.29Sjmcneill
2171.16Sjmcneill# local configuration
2181.16Sjmcneillcinclude "arch/evbarm/conf/RPI.local"
219