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