RPI revision 1.78
1#
2#	$NetBSD: RPI,v 1.78 2017/12/10 21:38:26 skrll Exp $
3#
4#	RPi -- Raspberry Pi
5#
6
7include	"arch/evbarm/conf/std.rpi"
8include "arch/evbarm/conf/GENERIC.common"
9
10makeoptions DTSGNUARCH="arm arm64"
11makeoptions DTSSUBDIR="broadcom"
12
13makeoptions	DTS="
14	bcm2835-rpi-a.dts
15	bcm2835-rpi-a-plus.dts
16	bcm2835-rpi-b.dts
17	bcm2835-rpi-b-plus.dts
18	bcm2835-rpi-b-rev2.dts
19	bcm2835-rpi-zero.dts
20"
21
22options 	CPU_ARM1176
23options 	SOC_BCM2835
24options 	TPIDRPRW_IS_CURLWP
25options 	ARM11_COMPAT_MMU
26options 	__HAVE_MM_MD_CACHE_ALIASING
27makeoptions 	CPUFLAGS="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp"
28
29# Architecture options
30
31# Development and Debugging options
32#options 	KGDB,KGDB_PLCOMUNIT=0,KGDB_DEVRATE=115200,KGDB_CONMODE=0xB00
33makeoptions	DEBUG="-g"	# compile full symbol table
34makeoptions	COPY_SYMTAB=1
35options 	PLCONSOLE
36#options 	PLCONSOLE,PLCOMCNUNIT=0,PLCONSPEED=115200,PLCONMODE=0xB00
37
38## USB Debugging options
39#options USB_DEBUG
40#options DWC2_DEBUG
41#options UHUB_DEBUG
42
43
44# Valid options for BOOT_ARGS:
45#  single		Boot to single user only
46#  kdb			Give control to kernel debugger
47#  ask			Ask for file name to reboot from
48#  pmapdebug=<n>	If PMAP_DEBUG, set pmap_debug_level to <n>
49#  memorydisk=<n>	Set memorydisk size to <n> KB
50#  quiet		Show aprint_naive output
51#  verbose		Show aprint_normal and aprint_verbose output
52#options		BOOT_ARGS="\"\""
53
54config		netbsd		root on ? type ?
55
56# Device tree support
57armfdt0		at root
58fdt*		at fdtbus?
59
60# The CPU(s)
61cpus*		at fdt? pass 0
62cpu*		at cpus?
63
64fclock*		at fdt? pass 0
65
66# Interrupt Controller
67bcmicu*		at fdt? pass 1
68
69# System timer
70bcmtmr0		at fdt? pass 1
71
72# Clock manager
73bcmcprman0 	at fdt? pass 1
74
75# AUX
76bcmaux0		at fdt? pass 2
77
78# pulse width modulator manager
79#bcmpwm0 	at fdt?
80
81fregulator*	at fdt?
82gpiokeys*	at fdt?
83
84# GPIO LEDs
85gpioleds*	at fdt?
86
87# VC Mailbox
88bcmmbox*	at fdt?
89vcmbox* 	at bcmmbox?
90
91# DMA Controller
92bcmdmac0	at fdt?
93
94# VCHIQ
95vchiq0		at fdt?
96
97# AUDS
98vcaudio0	at vchiq0
99audio*		at audiobus?
100
101spkr*		at audio?		# PC speaker (synthesized)
102
103# PL011 uart
104plcom*		at fdt?
105
106# AUX UART
107com0		at fdt?
108
109# Framebuffer console
110genfb0		at fdt?
111wsdisplay*	at genfb?
112options		VCONS_DRAW_INTR
113#options 	RPI_HWCURSOR
114
115# Power management, Reset controller and Watchdog registers
116watchdog0	at fdt?
117
118# Random number generator
119bcmrng0 	at fdt?
120
121# GPIO
122bcmgpio*	at fdt?
123
124# Arasan SD/MMC Interface
125sdhc*		at fdt?
126sdmmc*		at sdhc?
127
128# SD host controller
129sdhost* 	at fdt?
130sdmmc* 		at sdhost?
131
132ld*     at sdmmc?
133
134# On-board USB
135dwctwo* 	at fdt?
136usb* 		at dwctwo?
137
138# USB device drivers
139include "dev/usb/usbdevices.config"
140
141midi*		at midibus?
142
143# MII/PHY support
144exphy* 		at mii? phy ?		# 3Com internal PHYs
145gentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
146glxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
147gphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
148icsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
149igphy*		at mii? phy ?		# Intel IGP01E1000
150ihphy*		at mii? phy ?		# Intel 82577 PHYs
151ikphy*		at mii? phy ?		# Intel 82563 PHYs
152inphy*		at mii? phy ?		# Intel 82555 PHYs
153iophy*		at mii? phy ?		# Intel 82553 PHYs
154lxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
155makphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
156nsphy*		at mii? phy ?		# NS83840 PHYs
157nsphyter*	at mii? phy ? 		# NS83843 PHYs
158pnaphy*		at mii? phy ?		# generic HomePNA PHYs
159qsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
160rdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
161rgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
162rlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
163sqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
164tlphy*		at mii? phy ?		# ThunderLAN PHYs
165tqphy*		at mii? phy ?		# TDK Semiconductor PHYs
166urlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
167ukphy*		at mii? phy ?		# generic unknown PHYs
168
169# Broadcom Serial Control (I2C)
170bsciic* at fdt?
171iic* at i2cbus?
172
173# 'DS3231 Raspberry Pi RTC Board Real Time Clock Module for Arduino'
174# sold by linksprite.com
175#dsrtc* at iic1 addr 0x68 flags 3231
176
177# MCP7940 based PiFace Real Time Clock
178#dsrtc* at iic1 addr 0x6f flags 7940
179
180# SPI controller
181bcmspi* at fdt?
182spi* at spibus?
183
184# MCP3x0x ADC
185# flags selects the actual chip, refer to mcp3kadc(4)
186#mcp3kadc0 at spi? slave 0 flags 0
187
188# PIFace or other boards using that chip (needs gpio)
189#mcp23s17gpio0 at spi? slave 0 flags 0
190#mcp23s17gpio1 at spi? slave 0 flags 1
191#mcp23s17gpio2 at spi? slave 0 flags 2
192#mcp23s17gpio3 at spi? slave 0 flags 3
193
194# gpio support (e. g. mcp23s17gpio, bcmgpio)
195gpio*		at gpiobus?
196
197# various options for wscons - we try to look as much like a standard
198# sun console as possible
199options 	WSEMUL_VT100		# sun terminal emulation
200options 	WS_DEFAULT_FG=WSCOL_WHITE
201options 	WS_DEFAULT_BG=WSCOL_BLACK
202options 	WS_KERNEL_FG=WSCOL_GREEN
203options 	WS_KERNEL_BG=WSCOL_BLACK
204options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
205options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some more ioctls
206options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
207options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
208options 	WSDISPLAY_DEFAULTSCREENS=4
209
210#options 	FONT_QVSS8x15
211#options 	FONT_GALLANT12x22	# the console font
212
213# Pseudo-Devices
214
215# network pseudo-devices
216#pseudo-device	carp			# Common Address Redundancy Protocol
217#pseudo-device	ipfilter		# IP filter (firewall) and NAT
218#pseudo-device	kttcp			# network loopback
219#pseudo-device	ppp			# Point-to-Point Protocol
220#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
221#options 	PPPOE_SERVER		# Enable PPPoE server via link0
222#pseudo-device	sl			# Serial Line IP
223#pseudo-device	strip			# Starmode Radio IP (Metricom)
224#pseudo-device	irframetty		# IrDA frame line discipline
225#pseudo-device	tap			# virtual Ethernet
226#pseudo-device	tun			# network tunneling over tty
227#pseudo-device	gre			# generic L3 over IP tunnel
228#pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC 1933)
229#pseudo-device	faith			# IPv[46] TCP relay translation i/f
230#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
231#pseudo-device	vlan			# IEEE 802.1q encapsulation
232#pseudo-device	bridge			# simple inter-network bridging
233#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
234#pseudo-device	agr			# IEEE 802.3ad link aggregation
235#pseudo-device	pf			# PF packet filter
236#pseudo-device	pflog			# PF log if
237
238# miscellaneous pseudo-devices
239pseudo-device	openfirm
240
241# wscons pseudo-devices
242pseudo-device	wsmux			# mouse & keyboard multiplexor
243pseudo-device	wsfont
244
245# userland interface to drivers, including autoconf and properties retrieval
246
247# local configuration
248cinclude "arch/evbarm/conf/RPI.local"
249
250# Bluetooth serial UART devices
251pseudo-device btuart
252pseudo-device bcsp
253pseudo-device bthfive
254