RPI revision 1.61
11.1Sskrll#
21.61Sjmcneill#	$NetBSD: RPI,v 1.61 2015/03/14 14:59:43 jmcneill Exp $
31.1Sskrll#
41.1Sskrll#	RPi -- Raspberry Pi
51.1Sskrll#
61.1Sskrll
71.1Sskrllinclude	"arch/evbarm/conf/std.rpi"
81.1Sskrll
91.1Sskrll# estimated number of users
101.1Sskrll
111.1Sskrllmaxusers	32
121.1Sskrll
131.1Sskrll# Standard system options
141.1Sskrll
151.1Sskrlloptions 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
161.1Sskrll#options 	NTP		# NTP phase/frequency locked loop
171.1Sskrll
181.1Sskrll# CPU options
191.1Sskrll
201.60Sskrlloptions 	CPU_ARM1176
211.1Sskrlloptions 	PMAPCOUNTERS
221.60Sskrlloptions 	TPIDRPRW_IS_CURLWP
231.61Sjmcneilloptions 	ARM11_COMPAT_MMU
241.60Sskrlloptions 	__HAVE_MM_MD_CACHE_ALIASING
251.60Sskrllmakeoptions 	CPUFLAGS="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp"
261.1Sskrll
271.1Sskrll# Architecture options
281.1Sskrll
291.1Sskrll# File systems
301.1Sskrll
311.1Sskrllfile-system	FFS		# UFS
321.1Sskrll#file-system	LFS		# log-structured file system
331.1Sskrllfile-system	MFS		# memory file system
341.1Sskrllfile-system	NFS		# Network file system
351.1Sskrll#file-system 	ADOSFS		# AmigaDOS-compatible file system
361.1Sskrllfile-system 	EXT2FS		# second extended file system (linux)
371.1Sskrll#file-system	CD9660		# ISO 9660 + Rock Ridge file system
381.1Sskrllfile-system	MSDOSFS		# MS-DOS file system
391.1Sskrll#file-system	FDESC		# /dev/fd
401.1Sskrllfile-system	KERNFS		# /kern
411.1Sskrllfile-system	NULLFS		# loopback file system
421.1Sskrllfile-system	PROCFS		# /proc
431.37Sskrllfile-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
441.1Sskrll#file-system	UMAPFS		# NULLFS + uid and gid remapping
451.1Sskrll#file-system	UNION		# union file system
461.1Sskrllfile-system	TMPFS		# memory file system
471.33Sreinoud#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
481.33Sreinoud#file-system	HFS		# experimental - Apple HFS+ (read-only)
491.33Sreinoud#file-system	NILFS		# experimental - NTT's NiLFS(2)
501.1Sskrllfile-system	PTYFS		# /dev/pts/N support
511.1Sskrll
521.1Sskrll# File system options
531.1Sskrlloptions 	QUOTA		# legacy UFS quotas
541.1Sskrlloptions 	QUOTA2		# new, in-filesystem UFS quotas
551.1Sskrll#options 	FFS_EI		# FFS Endian Independent support
561.1Sskrll#options 	NFSSERVER
571.1Sskrlloptions 	WAPBL		# File system journaling support
581.1Sskrll#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
591.1Sskrll
601.1Sskrll# Networking options
611.1Sskrll
621.1Sskrll#options 	GATEWAY		# packet forwarding
631.1Sskrlloptions 	INET		# IP + ICMP + TCP + UDP
641.1Sskrlloptions 	INET6		# IPV6
651.1Sskrll#options 	IPSEC		# IP security
661.1Sskrll#options 	IPSEC_DEBUG	# debug for IP security
671.1Sskrll#options 	MROUTING	# IP multicast routing
681.1Sskrll#options 	PIM		# Protocol Independent Multicast
691.1Sskrll#options 	NETATALK	# AppleTalk networking
701.1Sskrll#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
711.1Sskrll#options 	PPP_DEFLATE	# Deflate compression support for PPP
721.1Sskrll#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
731.1Sskrll#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
741.1Sskrll
751.55Sjakllschoptions 	NFS_BOOT_BOOTP
761.55Sjakllschoptions 	NFS_BOOT_DHCP
771.1Sskrll#options		NFS_BOOT_BOOTSTATIC
781.1Sskrll#options		NFS_BOOTSTATIC_MYIP="\"192.168.1.4\""
791.1Sskrll#options		NFS_BOOTSTATIC_GWIP="\"192.168.1.1\""
801.1Sskrll#options		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
811.1Sskrll#options		NFS_BOOTSTATIC_SERVADDR="\"192.168.1.1\""
821.1Sskrll#options		NFS_BOOTSTATIC_SERVER="\"192.168.1.1:/nfs/sdp2430\""
831.1Sskrll
841.1Sskrlloptions		NFS_BOOT_RWSIZE=1024
851.1Sskrll
861.1Sskrll# Compatibility options
871.1Sskrll
881.46Smartinoptions		COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
891.1Sskrll#options 	COMPAT_43	# 4.3BSD compatibility.
901.49Sdholland#options 	COMPAT_09	# NetBSD 0.9,
911.49Sdholland#options 	COMPAT_10	# NetBSD 1.0,
921.49Sdholland#options 	COMPAT_11	# NetBSD 1.1,
931.49Sdholland#options 	COMPAT_12	# NetBSD 1.2,
941.49Sdholland#options 	COMPAT_13	# NetBSD 1.3,
951.49Sdholland#options 	COMPAT_14	# NetBSD 1.4,
961.49Sdholland#options 	COMPAT_15	# NetBSD 1.5,
971.49Sdholland#options 	COMPAT_16	# NetBSD 1.6,
981.49Sdholland#options 	COMPAT_20	# NetBSD 2.0,
991.49Sdholland#options 	COMPAT_30	# NetBSD 3.0,
1001.49Sdholland#options 	COMPAT_40	# NetBSD 4.0,
1011.49Sdholland#options 	COMPAT_50	# NetBSD 5.0,
1021.49Sdhollandoptions 	COMPAT_60	# NetBSD 6.0, and
1031.49Sdhollandoptions 	COMPAT_70	# NetBSD 7.0 binary compatibility.
1041.1Sskrll#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
1051.1Sskrll#options		COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
1061.1Sskrll
1071.1Sskrll# Shared memory options
1081.1Sskrll
1091.1Sskrlloptions 	SYSVMSG		# System V-like message queues
1101.1Sskrlloptions 	SYSVSEM		# System V-like semaphores
1111.1Sskrll#options 	SEMMNI=10	# number of semaphore identifiers
1121.1Sskrll#options 	SEMMNS=60	# number of semaphores in system
1131.1Sskrll#options 	SEMUME=10	# max number of undo entries per process
1141.1Sskrll#options 	SEMMNU=30	# number of undo structures in system
1151.1Sskrlloptions 	SYSVSHM		# System V-like memory sharing
1161.1Sskrll
1171.1Sskrll# Device options
1181.1Sskrll
1191.1Sskrll#options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
1201.1Sskrll#options 	MEMORY_DISK_ROOT_SIZE=8192	# Size in blocks
1211.1Sskrll#options 	MEMORY_DISK_DYNAMIC
1221.1Sskrll#options 	MINIROOTSIZE=1000	# Size in blocks
1231.1Sskrll#options 	MEMORY_DISK_IS_ROOT	# use memory disk as root
1241.1Sskrll
1251.1Sskrll# Miscellaneous kernel options
1261.1Sskrlloptions 	KTRACE		# system call tracing, a la ktrace(1)
1271.1Sskrll#options 	KMEMSTATS	# kernel memory statistics
1281.1Sskrll#options 	SCSIVERBOSE	# Verbose SCSI errors
1291.1Sskrll#options 	MIIVERBOSE	# Verbose MII autoconfuration messages
1301.1Sskrll#options 	DDB_KEYCODE=0x40
1311.1Sskrll#options 	USERCONF	# userconf(4) support
1321.1Sskrll#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
1331.1Sskrll
1341.1Sskrll# Development and Debugging options
1351.1Sskrll#options 	PERFCTRS	# performance counters
1361.45Sdhollandoptions 	DIAGNOSTIC	# internal consistency checks
1371.1Sskrlloptions 	DEBUG
1381.9Sskrll#options 	LOCKDEBUG
1391.1Sskrll#options 	IPKDB		# remote kernel debugging
1401.11Sskrll#options 	VERBOSE_INIT_ARM # verbose bootstraping messages
1411.1Sskrlloptions 	DDB		# in-kernel debugger
1421.1Sskrlloptions		DDB_ONPANIC=1
1431.1Sskrlloptions 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
1441.33Sreinoud#options 	KGDB,KGDB_PLCOMUNIT=0,KGDB_DEVRATE=115200,KGDB_CONMODE=0xB00
1451.1Sskrllmakeoptions	DEBUG="-g"	# compile full symbol table
1461.48Sjoergmakeoptions	COPY_SYMTAB=1
1471.1Sskrlloptions 	PLCONSOLE
1481.1Sskrll#options 	PLCONSOLE,PLCOMCNUNIT=0,PLCONSPEED=115200,PLCONMODE=0xB00
1491.1Sskrll
1501.1Sskrll## USB Debugging options
1511.1Sskrlloptions USB_DEBUG
1521.1Sskrll#options EHCI_DEBUG
1531.1Sskrll#options OHCI_DEBUG
1541.1Sskrll#options UHUB_DEBUG
1551.1Sskrll
1561.1Sskrll
1571.1Sskrll# Valid options for BOOT_ARGS:
1581.1Sskrll#  single		Boot to single user only
1591.1Sskrll#  kdb			Give control to kernel debugger
1601.1Sskrll#  ask			Ask for file name to reboot from
1611.1Sskrll#  pmapdebug=<n>	If PMAP_DEBUG, set pmap_debug_level to <n>
1621.1Sskrll#  memorydisk=<n>	Set memorydisk size to <n> KB
1631.1Sskrll#  quiet		Show aprint_naive output
1641.1Sskrll#  verbose		Show aprint_normal and aprint_verbose output
1651.1Sskrll#options		BOOT_ARGS="\"\""
1661.1Sskrll
1671.22Sjakllschconfig		netbsd		root on ? type ?
1681.1Sskrll
1691.1Sskrll# The main bus device
1701.1Sskrllmainbus0	at root
1711.1Sskrll
1721.60Sskrll# The CPU(s)
1731.60Sskrllcpu*		at mainbus?
1741.1Sskrll
1751.1Sskrll# OBIO
1761.1Sskrllobio0		at mainbus?
1771.1Sskrll
1781.1Sskrll# Interrupt Controller
1791.1Sskrllbcmicu0		at obio?
1801.1Sskrll
1811.4Sskrll# VC Mailbox
1821.4Sskrllbcmmbox0	at obio?
1831.13Sjmcneillvcmbox0 	at bcmmbox0
1841.4Sskrll
1851.51Sjmcneill# DMA Controller
1861.54Sskrllbcmdmac0	at obio?
1871.51Sjmcneill
1881.27Sjmcneill# VCHIQ
1891.30Sjmcneillvchiq0		at obio?
1901.30Sjmcneill
1911.30Sjmcneill# AUDS
1921.30Sjmcneillvcaudio0	at vchiq0
1931.30Sjmcneillaudio0		at vcaudio0
1941.27Sjmcneill
1951.1Sskrll# PL011 uart
1961.1Sskrllplcom0		at obio?
1971.1Sskrll
1981.15Sjmcneill# Framebuffer console
1991.20Sjmcneillgenfb0		at obio?
2001.20Sjmcneillwsdisplay*	at genfb?
2011.31Sreinoudoptions		VCONS_DRAW_INTR
2021.56Sskrll#options 	RPI_HWCURSOR
2031.15Sjmcneill
2041.1Sskrll# System timer
2051.1Sskrllbcmtmr0		at obio?
2061.1Sskrll
2071.1Sskrll# Power management, Reset controller and Watchdog registers
2081.1Sskrllbcmpm0		at obio?
2091.1Sskrll
2101.23Sjmcneill# Random number generator
2111.23Sjmcneillbcmrng0 	at obio?
2121.23Sjmcneill
2131.44Skardel# GPIO
2141.44Skardelbcmgpio0	at obio?	# pins  0 ... 31
2151.44Skardelbcmgpio1	at obio?	# pins 32 ... 53
2161.44Skardel
2171.1Sskrll# Arasan SD/MMC Interface
2181.1Sskrllsdhc* at obio?
2191.1Sskrllsdmmc*  at sdhc?
2201.1Sskrll
2211.1Sskrllld*     at sdmmc?
2221.1Sskrll
2231.17Sskrll# On-board USB
2241.41Sskrlldwctwo* 	at obio?
2251.41Sskrllusb* 		at dwctwo?
2261.7Sjakllsch
2271.38Sskrll# USB device drivers
2281.17Sskrllinclude "dev/usb/usbdevices.config"
2291.7Sjakllsch
2301.57Suebayasimidi*		at midibus?
2311.57Suebayasi
2321.50Sskrll# MII/PHY support
2331.50Sskrllexphy* 		at mii? phy ?		# 3Com internal PHYs
2341.50Sskrllgentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
2351.50Sskrllglxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
2361.50Sskrllgphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
2371.50Sskrllicsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
2381.50Sskrlligphy*		at mii? phy ?		# Intel IGP01E1000
2391.50Sskrllihphy*		at mii? phy ?		# Intel 82577 PHYs
2401.50Sskrllikphy*		at mii? phy ?		# Intel 82563 PHYs
2411.50Sskrllinphy*		at mii? phy ?		# Intel 82555 PHYs
2421.50Sskrlliophy*		at mii? phy ?		# Intel 82553 PHYs
2431.50Sskrlllxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
2441.50Sskrllmakphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
2451.50Sskrllnsphy*		at mii? phy ?		# NS83840 PHYs
2461.50Sskrllnsphyter*	at mii? phy ? 		# NS83843 PHYs
2471.50Sskrllpnaphy*		at mii? phy ?		# generic HomePNA PHYs
2481.50Sskrllqsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
2491.50Sskrllrdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
2501.50Sskrllrgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
2511.50Sskrllrlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
2521.50Sskrllsqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
2531.50Sskrlltlphy*		at mii? phy ?		# ThunderLAN PHYs
2541.50Sskrlltqphy*		at mii? phy ?		# TDK Semiconductor PHYs
2551.50Sskrllurlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
2561.50Sskrllukphy*		at mii? phy ?		# generic unknown PHYs
2571.18Sskrll
2581.14Sjakllsch# Broadcom Serial Control (I2C)
2591.14Sjakllschbsciic* at obio?
2601.14Sjakllschiic* at i2cbus?
2611.14Sjakllsch
2621.58Smacallan# 'DS3231 Raspberry Pi RTC Board Real Time Clock Module for Arduino'
2631.58Smacallan# sold by linksprite.com
2641.58Smacallan#dsrtc* at iic1 addr 0x68 flags 3231
2651.58Smacallan
2661.14Sjakllsch# SPI controller
2671.14Sjakllschbcmspi* at obio?
2681.14Sjakllschspi* at spibus?
2691.14Sjakllsch
2701.43Skardel# PIFace or other boards using that chip (needs gpio)
2711.43Skardel#mcp23s17gpio0 at spi? slave 0 flags 0
2721.55Sjakllsch#mcp23s17gpio1 at spi? slave 0 flags 1
2731.43Skardel#mcp23s17gpio2 at spi? slave 0 flags 2
2741.43Skardel#mcp23s17gpio3 at spi? slave 0 flags 3
2751.43Skardel
2761.44Skardel# gpio support (e. g. mcp23s17gpio, bcmgpio)
2771.44Skardelgpio*		at gpiobus?
2781.43Skardel
2791.1Sskrll# various options for wscons - we try to look as much like a standard
2801.1Sskrll# sun console as possible
2811.1Sskrlloptions 	WSEMUL_VT100		# sun terminal emulation
2821.5Sskrlloptions 	WS_DEFAULT_FG=WSCOL_WHITE
2831.5Sskrlloptions 	WS_DEFAULT_BG=WSCOL_BLACK
2841.5Sskrlloptions 	WS_KERNEL_FG=WSCOL_GREEN
2851.5Sskrlloptions 	WS_KERNEL_BG=WSCOL_BLACK
2861.24Sskrlloptions 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
2871.24Sskrlloptions 	WSDISPLAY_COMPAT_SYSCONS	# emulate some more ioctls
2881.3Sabsoptions 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
2891.1Sskrlloptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
2901.1Sskrlloptions 	WSDISPLAY_DEFAULTSCREENS=4
2911.24Sskrll
2921.15Sjmcneill#options 	FONT_QVSS8x15
2931.1Sskrll#options 	FONT_GALLANT12x22	# the console font
2941.1Sskrll
2951.1Sskrll# Pseudo-Devices
2961.1Sskrll
2971.1Sskrll# disk/mass storage pseudo-devices
2981.9Sskrll#pseudo-device	fss			# file system snapshot device
2991.9Sskrll
3001.35Smatt#pseudo-device	md			# memory disk device (ramdisk)
3011.1Sskrllpseudo-device	vnd			# disk-like interface to files
3021.32Sskrllpseudo-device	putter			# for puffs and pud
3031.1Sskrll
3041.1Sskrll# network pseudo-devices
3051.1Sskrllpseudo-device	bpfilter		# Berkeley packet filter
3061.9Sskrll#pseudo-device	carp			# Common Address Redundancy Protocol
3071.9Sskrll#pseudo-device	ipfilter		# IP filter (firewall) and NAT
3081.1Sskrllpseudo-device	loop			# network loopback
3091.1Sskrll#pseudo-device	kttcp			# network loopback
3101.9Sskrll#pseudo-device	ppp			# Point-to-Point Protocol
3111.9Sskrll#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
3121.9Sskrll#options 	PPPOE_SERVER		# Enable PPPoE server via link0
3131.9Sskrll#pseudo-device	sl			# Serial Line IP
3141.9Sskrll#pseudo-device	strip			# Starmode Radio IP (Metricom)
3151.9Sskrll#pseudo-device	irframetty		# IrDA frame line discipline
3161.9Sskrll#pseudo-device	tap			# virtual Ethernet
3171.9Sskrll#pseudo-device	tun			# network tunneling over tty
3181.9Sskrll#pseudo-device	gre			# generic L3 over IP tunnel
3191.9Sskrll#pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC 1933)
3201.9Sskrll#pseudo-device	faith			# IPv[46] TCP relay translation i/f
3211.9Sskrll#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
3221.9Sskrll#pseudo-device	vlan			# IEEE 802.1q encapsulation
3231.9Sskrll#pseudo-device	bridge			# simple inter-network bridging
3241.9Sskrll#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
3251.9Sskrll#pseudo-device	agr			# IEEE 802.3ad link aggregation
3261.9Sskrll#pseudo-device	pf			# PF packet filter
3271.9Sskrll#pseudo-device	pflog			# PF log if
3281.1Sskrll
3291.1Sskrll# miscellaneous pseudo-devices
3301.1Sskrllpseudo-device	pty			# pseudo-terminals
3311.1Sskrll#options	RND_COM
3321.1Sskrll#pseudo-device	clockctl		# user control of clock subsystem
3331.1Sskrllpseudo-device	ksyms			# /dev/ksyms
3341.12Sskrllpseudo-device	lockstat		# lock profiling
3351.9Sskrll
3361.9Sskrll# wscons pseudo-devices
3371.9Sskrllpseudo-device	wsmux			# mouse & keyboard multiplexor
3381.9Sskrllpseudo-device	wsfont
3391.9Sskrll
3401.9Sskrll# data mover pseudo-devices
3411.9Sskrll#pseudo-device	swdmover		# software dmover(9) back-end
3421.9Sskrll#pseudo-device	dmoverio		# /dev/dmover dmover(9) interface
3431.16Sjmcneill
3441.29Sjmcneill# userland interface to drivers, including autoconf and properties retrieval
3451.29Sjmcneillpseudo-device 	drvctl
3461.29Sjmcneill
3471.16Sjmcneill# local configuration
3481.16Sjmcneillcinclude "arch/evbarm/conf/RPI.local"
349