RPI revision 1.61
1#
2#	$NetBSD: RPI,v 1.61 2015/03/14 14:59:43 jmcneill Exp $
3#
4#	RPi -- Raspberry Pi
5#
6
7include	"arch/evbarm/conf/std.rpi"
8
9# estimated number of users
10
11maxusers	32
12
13# Standard system options
14
15options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
16#options 	NTP		# NTP phase/frequency locked loop
17
18# CPU options
19
20options 	CPU_ARM1176
21options 	PMAPCOUNTERS
22options 	TPIDRPRW_IS_CURLWP
23options 	ARM11_COMPAT_MMU
24options 	__HAVE_MM_MD_CACHE_ALIASING
25makeoptions 	CPUFLAGS="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp"
26
27# Architecture options
28
29# File systems
30
31file-system	FFS		# UFS
32#file-system	LFS		# log-structured file system
33file-system	MFS		# memory file system
34file-system	NFS		# Network file system
35#file-system 	ADOSFS		# AmigaDOS-compatible file system
36file-system 	EXT2FS		# second extended file system (linux)
37#file-system	CD9660		# ISO 9660 + Rock Ridge file system
38file-system	MSDOSFS		# MS-DOS file system
39#file-system	FDESC		# /dev/fd
40file-system	KERNFS		# /kern
41file-system	NULLFS		# loopback file system
42file-system	PROCFS		# /proc
43file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
44#file-system	UMAPFS		# NULLFS + uid and gid remapping
45#file-system	UNION		# union file system
46file-system	TMPFS		# memory file system
47#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
48#file-system	HFS		# experimental - Apple HFS+ (read-only)
49#file-system	NILFS		# experimental - NTT's NiLFS(2)
50file-system	PTYFS		# /dev/pts/N support
51
52# File system options
53options 	QUOTA		# legacy UFS quotas
54options 	QUOTA2		# new, in-filesystem UFS quotas
55#options 	FFS_EI		# FFS Endian Independent support
56#options 	NFSSERVER
57options 	WAPBL		# File system journaling support
58#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
59
60# Networking options
61
62#options 	GATEWAY		# packet forwarding
63options 	INET		# IP + ICMP + TCP + UDP
64options 	INET6		# IPV6
65#options 	IPSEC		# IP security
66#options 	IPSEC_DEBUG	# debug for IP security
67#options 	MROUTING	# IP multicast routing
68#options 	PIM		# Protocol Independent Multicast
69#options 	NETATALK	# AppleTalk networking
70#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
71#options 	PPP_DEFLATE	# Deflate compression support for PPP
72#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
73#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG
74
75options 	NFS_BOOT_BOOTP
76options 	NFS_BOOT_DHCP
77#options		NFS_BOOT_BOOTSTATIC
78#options		NFS_BOOTSTATIC_MYIP="\"192.168.1.4\""
79#options		NFS_BOOTSTATIC_GWIP="\"192.168.1.1\""
80#options		NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
81#options		NFS_BOOTSTATIC_SERVADDR="\"192.168.1.1\""
82#options		NFS_BOOTSTATIC_SERVER="\"192.168.1.1:/nfs/sdp2430\""
83
84options		NFS_BOOT_RWSIZE=1024
85
86# Compatibility options
87
88options		COMPAT_NETBSD32	# allow running arm (e.g. non-earm) binaries
89#options 	COMPAT_43	# 4.3BSD compatibility.
90#options 	COMPAT_09	# NetBSD 0.9,
91#options 	COMPAT_10	# NetBSD 1.0,
92#options 	COMPAT_11	# NetBSD 1.1,
93#options 	COMPAT_12	# NetBSD 1.2,
94#options 	COMPAT_13	# NetBSD 1.3,
95#options 	COMPAT_14	# NetBSD 1.4,
96#options 	COMPAT_15	# NetBSD 1.5,
97#options 	COMPAT_16	# NetBSD 1.6,
98#options 	COMPAT_20	# NetBSD 2.0,
99#options 	COMPAT_30	# NetBSD 3.0,
100#options 	COMPAT_40	# NetBSD 4.0,
101#options 	COMPAT_50	# NetBSD 5.0,
102options 	COMPAT_60	# NetBSD 6.0, and
103options 	COMPAT_70	# NetBSD 7.0 binary compatibility.
104#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.
105#options		COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
106
107# Shared memory options
108
109options 	SYSVMSG		# System V-like message queues
110options 	SYSVSEM		# System V-like semaphores
111#options 	SEMMNI=10	# number of semaphore identifiers
112#options 	SEMMNS=60	# number of semaphores in system
113#options 	SEMUME=10	# max number of undo entries per process
114#options 	SEMMNU=30	# number of undo structures in system
115options 	SYSVSHM		# System V-like memory sharing
116
117# Device options
118
119#options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
120#options 	MEMORY_DISK_ROOT_SIZE=8192	# Size in blocks
121#options 	MEMORY_DISK_DYNAMIC
122#options 	MINIROOTSIZE=1000	# Size in blocks
123#options 	MEMORY_DISK_IS_ROOT	# use memory disk as root
124
125# Miscellaneous kernel options
126options 	KTRACE		# system call tracing, a la ktrace(1)
127#options 	KMEMSTATS	# kernel memory statistics
128#options 	SCSIVERBOSE	# Verbose SCSI errors
129#options 	MIIVERBOSE	# Verbose MII autoconfuration messages
130#options 	DDB_KEYCODE=0x40
131#options 	USERCONF	# userconf(4) support
132#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
133
134# Development and Debugging options
135#options 	PERFCTRS	# performance counters
136options 	DIAGNOSTIC	# internal consistency checks
137options 	DEBUG
138#options 	LOCKDEBUG
139#options 	IPKDB		# remote kernel debugging
140#options 	VERBOSE_INIT_ARM # verbose bootstraping messages
141options 	DDB		# in-kernel debugger
142options		DDB_ONPANIC=1
143options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
144#options 	KGDB,KGDB_PLCOMUNIT=0,KGDB_DEVRATE=115200,KGDB_CONMODE=0xB00
145makeoptions	DEBUG="-g"	# compile full symbol table
146makeoptions	COPY_SYMTAB=1
147options 	PLCONSOLE
148#options 	PLCONSOLE,PLCOMCNUNIT=0,PLCONSPEED=115200,PLCONMODE=0xB00
149
150## USB Debugging options
151options USB_DEBUG
152#options EHCI_DEBUG
153#options OHCI_DEBUG
154#options UHUB_DEBUG
155
156
157# Valid options for BOOT_ARGS:
158#  single		Boot to single user only
159#  kdb			Give control to kernel debugger
160#  ask			Ask for file name to reboot from
161#  pmapdebug=<n>	If PMAP_DEBUG, set pmap_debug_level to <n>
162#  memorydisk=<n>	Set memorydisk size to <n> KB
163#  quiet		Show aprint_naive output
164#  verbose		Show aprint_normal and aprint_verbose output
165#options		BOOT_ARGS="\"\""
166
167config		netbsd		root on ? type ?
168
169# The main bus device
170mainbus0	at root
171
172# The CPU(s)
173cpu*		at mainbus?
174
175# OBIO
176obio0		at mainbus?
177
178# Interrupt Controller
179bcmicu0		at obio?
180
181# VC Mailbox
182bcmmbox0	at obio?
183vcmbox0 	at bcmmbox0
184
185# DMA Controller
186bcmdmac0	at obio?
187
188# VCHIQ
189vchiq0		at obio?
190
191# AUDS
192vcaudio0	at vchiq0
193audio0		at vcaudio0
194
195# PL011 uart
196plcom0		at obio?
197
198# Framebuffer console
199genfb0		at obio?
200wsdisplay*	at genfb?
201options		VCONS_DRAW_INTR
202#options 	RPI_HWCURSOR
203
204# System timer
205bcmtmr0		at obio?
206
207# Power management, Reset controller and Watchdog registers
208bcmpm0		at obio?
209
210# Random number generator
211bcmrng0 	at obio?
212
213# GPIO
214bcmgpio0	at obio?	# pins  0 ... 31
215bcmgpio1	at obio?	# pins 32 ... 53
216
217# Arasan SD/MMC Interface
218sdhc* at obio?
219sdmmc*  at sdhc?
220
221ld*     at sdmmc?
222
223# On-board USB
224dwctwo* 	at obio?
225usb* 		at dwctwo?
226
227# USB device drivers
228include "dev/usb/usbdevices.config"
229
230midi*		at midibus?
231
232# MII/PHY support
233exphy* 		at mii? phy ?		# 3Com internal PHYs
234gentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
235glxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
236gphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
237icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
238igphy*		at mii? phy ?		# Intel IGP01E1000
239ihphy*		at mii? phy ?		# Intel 82577 PHYs
240ikphy*		at mii? phy ?		# Intel 82563 PHYs
241inphy*		at mii? phy ?		# Intel 82555 PHYs
242iophy*		at mii? phy ?		# Intel 82553 PHYs
243lxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
244makphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
245nsphy*		at mii? phy ?		# NS83840 PHYs
246nsphyter*	at mii? phy ? 		# NS83843 PHYs
247pnaphy*		at mii? phy ?		# generic HomePNA PHYs
248qsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
249rdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
250rgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
251rlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
252sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
253tlphy*		at mii? phy ?		# ThunderLAN PHYs
254tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
255urlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
256ukphy*		at mii? phy ?		# generic unknown PHYs
257
258# Broadcom Serial Control (I2C)
259bsciic* at obio?
260iic* at i2cbus?
261
262# 'DS3231 Raspberry Pi RTC Board Real Time Clock Module for Arduino'
263# sold by linksprite.com
264#dsrtc* at iic1 addr 0x68 flags 3231
265
266# SPI controller
267bcmspi* at obio?
268spi* at spibus?
269
270# PIFace or other boards using that chip (needs gpio)
271#mcp23s17gpio0 at spi? slave 0 flags 0
272#mcp23s17gpio1 at spi? slave 0 flags 1
273#mcp23s17gpio2 at spi? slave 0 flags 2
274#mcp23s17gpio3 at spi? slave 0 flags 3
275
276# gpio support (e. g. mcp23s17gpio, bcmgpio)
277gpio*		at gpiobus?
278
279# various options for wscons - we try to look as much like a standard
280# sun console as possible
281options 	WSEMUL_VT100		# sun terminal emulation
282options 	WS_DEFAULT_FG=WSCOL_WHITE
283options 	WS_DEFAULT_BG=WSCOL_BLACK
284options 	WS_KERNEL_FG=WSCOL_GREEN
285options 	WS_KERNEL_BG=WSCOL_BLACK
286options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
287options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some more ioctls
288options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
289options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
290options 	WSDISPLAY_DEFAULTSCREENS=4
291
292#options 	FONT_QVSS8x15
293#options 	FONT_GALLANT12x22	# the console font
294
295# Pseudo-Devices
296
297# disk/mass storage pseudo-devices
298#pseudo-device	fss			# file system snapshot device
299
300#pseudo-device	md			# memory disk device (ramdisk)
301pseudo-device	vnd			# disk-like interface to files
302pseudo-device	putter			# for puffs and pud
303
304# network pseudo-devices
305pseudo-device	bpfilter		# Berkeley packet filter
306#pseudo-device	carp			# Common Address Redundancy Protocol
307#pseudo-device	ipfilter		# IP filter (firewall) and NAT
308pseudo-device	loop			# network loopback
309#pseudo-device	kttcp			# network loopback
310#pseudo-device	ppp			# Point-to-Point Protocol
311#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
312#options 	PPPOE_SERVER		# Enable PPPoE server via link0
313#pseudo-device	sl			# Serial Line IP
314#pseudo-device	strip			# Starmode Radio IP (Metricom)
315#pseudo-device	irframetty		# IrDA frame line discipline
316#pseudo-device	tap			# virtual Ethernet
317#pseudo-device	tun			# network tunneling over tty
318#pseudo-device	gre			# generic L3 over IP tunnel
319#pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC 1933)
320#pseudo-device	faith			# IPv[46] TCP relay translation i/f
321#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
322#pseudo-device	vlan			# IEEE 802.1q encapsulation
323#pseudo-device	bridge			# simple inter-network bridging
324#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
325#pseudo-device	agr			# IEEE 802.3ad link aggregation
326#pseudo-device	pf			# PF packet filter
327#pseudo-device	pflog			# PF log if
328
329# miscellaneous pseudo-devices
330pseudo-device	pty			# pseudo-terminals
331#options	RND_COM
332#pseudo-device	clockctl		# user control of clock subsystem
333pseudo-device	ksyms			# /dev/ksyms
334pseudo-device	lockstat		# lock profiling
335
336# wscons pseudo-devices
337pseudo-device	wsmux			# mouse & keyboard multiplexor
338pseudo-device	wsfont
339
340# data mover pseudo-devices
341#pseudo-device	swdmover		# software dmover(9) back-end
342#pseudo-device	dmoverio		# /dev/dmover dmover(9) interface
343
344# userland interface to drivers, including autoconf and properties retrieval
345pseudo-device 	drvctl
346
347# local configuration
348cinclude "arch/evbarm/conf/RPI.local"
349