RPI revision 1.8
11.1Sskrll#
21.8Smsaitoh#	$NetBSD: RPI,v 1.8 2012/09/11 19:43:10 msaitoh 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.1Sskrlloptions 	CPU_ARM1176
211.1Sskrlloptions 	BCM2835
221.1Sskrlloptions 	PMAPCOUNTERS
231.1Sskrlloptions 	FPU_VFP
241.1Sskrll
251.1Sskrll# Architecture options
261.1Sskrll
271.1Sskrll# File systems
281.1Sskrll
291.1Sskrllfile-system	FFS		# UFS
301.1Sskrll#file-system	LFS		# log-structured file system
311.1Sskrllfile-system	MFS		# memory file system
321.1Sskrllfile-system	NFS		# Network file system
331.1Sskrll#file-system 	ADOSFS		# AmigaDOS-compatible file system
341.1Sskrllfile-system 	EXT2FS		# second extended file system (linux)
351.1Sskrll#file-system	CD9660		# ISO 9660 + Rock Ridge file system
361.1Sskrllfile-system	MSDOSFS		# MS-DOS file system
371.1Sskrll#file-system	FDESC		# /dev/fd
381.1Sskrllfile-system	KERNFS		# /kern
391.1Sskrllfile-system	NULLFS		# loopback file system
401.1Sskrllfile-system	PROCFS		# /proc
411.8Smsaitoh#file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
421.1Sskrll#file-system	UMAPFS		# NULLFS + uid and gid remapping
431.1Sskrll#file-system	UNION		# union file system
441.1Sskrllfile-system	TMPFS		# memory file system
451.1Sskrllfile-system	PTYFS		# /dev/pts/N support
461.1Sskrll
471.1Sskrll# File system options
481.1Sskrlloptions 	QUOTA		# legacy UFS quotas
491.1Sskrlloptions 	QUOTA2		# new, in-filesystem UFS quotas
501.1Sskrll#options 	FFS_EI		# FFS Endian Independent support
511.1Sskrll#options 	NFSSERVER
521.1Sskrlloptions 	WAPBL		# File system journaling support
531.1Sskrll#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
541.1Sskrll
551.1Sskrll# Networking options
561.1Sskrll
571.1Sskrll#options 	GATEWAY		# packet forwarding
581.1Sskrlloptions 	INET		# IP + ICMP + TCP + UDP
591.1Sskrlloptions 	INET6		# IPV6
601.1Sskrll#options 	IPSEC		# IP security
611.1Sskrll#options 	IPSEC_ESP	# IP security (encryption part; define w/ IPSEC)
621.1Sskrll#options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
631.1Sskrll#options 	IPSEC_DEBUG	# debug for IP security
641.1Sskrll#options 	MROUTING	# IP multicast routing
651.1Sskrll#options 	PIM		# Protocol Independent Multicast
661.1Sskrll#options 	NS		# XNS
671.1Sskrll#options 	NSIP		# XNS tunneling over IP
681.1Sskrll#options 	ISO,TPIP	# OSI
691.1Sskrll#options 	EON		# OSI tunneling over IP
701.1Sskrll#options 	CCITT,LLC,HDLC	# X.25
711.1Sskrll#options 	NETATALK	# AppleTalk networking
721.1Sskrll#options 	PFIL_HOOKS	# pfil(9) packet filter hooks
731.1Sskrll#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
741.1Sskrll#options 	PPP_DEFLATE	# Deflate compression support for PPP
751.1Sskrll#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
761.1Sskrll#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
771.1Sskrll
781.1Sskrll#options 	NFS_BOOT_BOOTP
791.1Sskrll#options 	NFS_BOOT_DHCP
801.1Sskrll#options		NFS_BOOT_BOOTSTATIC
811.1Sskrll#options		NFS_BOOTSTATIC_MYIP="\"192.168.1.4\""
821.1Sskrll#options		NFS_BOOTSTATIC_GWIP="\"192.168.1.1\""
831.1Sskrll#options		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
841.1Sskrll#options		NFS_BOOTSTATIC_SERVADDR="\"192.168.1.1\""
851.1Sskrll#options		NFS_BOOTSTATIC_SERVER="\"192.168.1.1:/nfs/sdp2430\""
861.1Sskrll
871.1Sskrlloptions		NFS_BOOT_RWSIZE=1024
881.1Sskrll
891.1Sskrll# Compatibility options
901.1Sskrll
911.1Sskrll#options 	COMPAT_43	# 4.3BSD compatibility.
921.1Sskrll#options 	COMPAT_50	# NetBSD 5.0 compatibility.
931.1Sskrll#options 	COMPAT_40	# NetBSD 4.0 compatibility.
941.1Sskrll#options 	COMPAT_30	# NetBSD 3.0 compatibility.
951.1Sskrll#options 	COMPAT_20	# NetBSD 2.0 compatibility.
961.1Sskrll#options 	COMPAT_16	# NetBSD 1.6 compatibility.
971.1Sskrll#options 	COMPAT_15	# NetBSD 1.5 compatibility.
981.1Sskrll#options 	COMPAT_14	# NetBSD 1.4 compatibility.
991.1Sskrll#options 	COMPAT_13	# NetBSD 1.3 compatibility.
1001.1Sskrll#options 	COMPAT_12	# NetBSD 1.2 compatibility.
1011.1Sskrll#options 	COMPAT_11	# NetBSD 1.1 compatibility.
1021.1Sskrll#options 	COMPAT_10	# NetBSD 1.0 compatibility.
1031.1Sskrll#options 	COMPAT_09	# NetBSD 0.9 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.1Sskrlloptions 	DIAGNOSTIC	# internally consistency checks
1371.1Sskrlloptions 	DEBUG
1381.1Sskrll#options 	IPKDB		# remote kernel debugging
1391.1Sskrlloptions 	VERBOSE_INIT_ARM # verbose bootstraping messages
1401.1Sskrlloptions 	DDB		# in-kernel debugger
1411.1Sskrlloptions		DDB_ONPANIC=1
1421.1Sskrlloptions 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
1431.1Sskrll#options 	KGDB
1441.1Sskrllmakeoptions	DEBUG="-g"	# compile full symbol table
1451.6Smattoptions 	SYMTAB_SPACE=510000
1461.1Sskrlloptions 	PLCONSOLE
1471.1Sskrll#options 	PLCONSOLE,PLCOMCNUNIT=0,PLCONSPEED=115200,PLCONMODE=0xB00
1481.1Sskrll
1491.1Sskrll## USB Debugging options
1501.1Sskrlloptions USB_DEBUG
1511.1Sskrll#options EHCI_DEBUG
1521.1Sskrll#options OHCI_DEBUG
1531.1Sskrll#options UHUB_DEBUG
1541.1Sskrll
1551.1Sskrll
1561.1Sskrll# Valid options for BOOT_ARGS:
1571.1Sskrll#  single		Boot to single user only
1581.1Sskrll#  kdb			Give control to kernel debugger
1591.1Sskrll#  ask			Ask for file name to reboot from
1601.1Sskrll#  pmapdebug=<n>	If PMAP_DEBUG, set pmap_debug_level to <n>
1611.1Sskrll#  memorydisk=<n>	Set memorydisk size to <n> KB
1621.1Sskrll#  quiet		Show aprint_naive output
1631.1Sskrll#  verbose		Show aprint_normal and aprint_verbose output
1641.1Sskrll#options		BOOT_ARGS="\"\""
1651.1Sskrll
1661.1Sskrllconfig		netbsd		root on ld0a type ?
1671.1Sskrll
1681.1Sskrll# The main bus device
1691.1Sskrllmainbus0	at root
1701.1Sskrll
1711.1Sskrll# The cpu
1721.1Sskrllcpu0		at mainbus?
1731.1Sskrll
1741.1Sskrll# OBIO
1751.1Sskrllobio0		at mainbus?
1761.1Sskrll
1771.1Sskrll# Interrupt Controller
1781.1Sskrllbcmicu0		at obio?
1791.1Sskrll
1801.4Sskrll# VC Mailbox
1811.4Sskrllbcmmbox0	at obio?
1821.4Sskrll
1831.1Sskrll# PL011 uart
1841.1Sskrllplcom0		at obio?
1851.1Sskrll
1861.1Sskrll# System timer
1871.1Sskrllbcmtmr0		at obio?
1881.1Sskrll
1891.1Sskrll# Power management, Reset controller and Watchdog registers
1901.1Sskrllbcmpm0		at obio?
1911.1Sskrll
1921.1Sskrll# Arasan SD/MMC Interface
1931.1Sskrllsdhc* at obio?
1941.1Sskrllsdmmc*  at sdhc?
1951.1Sskrll
1961.1Sskrllld*     at sdmmc?
1971.1Sskrll
1981.7Sjakllsch# On-SoC USB 2.0 OTG Controller (as USB host) - some day soon(tm)
1991.7Sjakllsch#unimplementedusbhcd* at obio?
2001.7Sjakllsch#usb* at unimplementedusbhcd?
2011.7Sjakllsch
2021.7Sjakllsch# USB device drivers, just as soon as we have something to attach them to
2031.7Sjakllsch#include "dev/usb/usbdevices.config"
2041.7Sjakllsch
2051.1Sskrll# various options for wscons - we try to look as much like a standard
2061.1Sskrll# sun console as possible
2071.1Sskrlloptions 	WSEMUL_VT100		# sun terminal emulation
2081.5Sskrlloptions 	WS_DEFAULT_FG=WSCOL_WHITE
2091.5Sskrlloptions 	WS_DEFAULT_BG=WSCOL_BLACK
2101.5Sskrlloptions 	WS_KERNEL_FG=WSCOL_GREEN
2111.5Sskrlloptions 	WS_KERNEL_BG=WSCOL_BLACK
2121.3Sabsoptions 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
2131.1Sskrlloptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
2141.1Sskrlloptions 	WSDISPLAY_DEFAULTSCREENS=4
2151.1Sskrlloptions		FONT_QVSS8x15
2161.1Sskrll#options 	FONT_GALLANT12x22	# the console font
2171.1Sskrll
2181.1Sskrllpseudo-device	wsmux			# mouse & keyboard multiplexor
2191.1Sskrllpseudo-device	wsfont
2201.1Sskrll
2211.1Sskrll# Pseudo-Devices
2221.1Sskrll
2231.1Sskrll# disk/mass storage pseudo-devices
2241.1Sskrllpseudo-device	md			# memory disk device (ramdisk)
2251.1Sskrllpseudo-device	vnd			# disk-like interface to files
2261.1Sskrll#pseudo-device	fss			# file system snapshot device
2271.8Smsaitoh#pseudo-device	putter			# for puffs and pud
2281.1Sskrll
2291.1Sskrll# network pseudo-devices
2301.1Sskrllpseudo-device	bpfilter		# Berkeley packet filter
2311.1Sskrllpseudo-device	loop			# network loopback
2321.1Sskrll#pseudo-device	kttcp			# network loopback
2331.1Sskrll
2341.1Sskrll# miscellaneous pseudo-devices
2351.1Sskrllpseudo-device	pty			# pseudo-terminals
2361.1Sskrll#options	RND_COM
2371.1Sskrll#pseudo-device	clockctl		# user control of clock subsystem
2381.1Sskrllpseudo-device	ksyms			# /dev/ksyms
239