11.1Sskrll#
21.97Sskrll#	$NetBSD: RPI,v 1.97 2025/10/09 06:15:17 skrll Exp $
31.1Sskrll#
41.1Sskrll#	RPi -- Raspberry Pi
51.1Sskrll#
61.1Sskrll
71.1Sskrllinclude	"arch/evbarm/conf/std.rpi"
81.62Sskrllinclude "arch/evbarm/conf/GENERIC.common"
91.1Sskrll
101.60Sskrlloptions 	CPU_ARM1176
111.78Sskrlloptions 	SOC_BCM2835
121.60Sskrlloptions 	TPIDRPRW_IS_CURLWP
131.61Sjmcneilloptions 	ARM11_COMPAT_MMU
141.60Sskrlloptions 	__HAVE_MM_MD_CACHE_ALIASING
151.60Sskrllmakeoptions 	CPUFLAGS="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp"
161.1Sskrll
171.1Sskrll# Architecture options
181.1Sskrll
191.1Sskrll# Development and Debugging options
201.33Sreinoud#options 	KGDB,KGDB_PLCOMUNIT=0,KGDB_DEVRATE=115200,KGDB_CONMODE=0xB00
211.85Sskrll#options 	VERBOSE_INIT_ARM
221.94Srin#options 	EARLYCONS=bcm2835,CONSADDR=0x20201000		# RPI1, RPI0
231.94Srin#options 	EARLYCONS=bcm2835_aux,CONSADDR=0x20215040	# RPI0W
241.1Sskrllmakeoptions	DEBUG="-g"	# compile full symbol table
251.48Sjoergmakeoptions	COPY_SYMTAB=1
261.1Sskrlloptions 	PLCONSOLE
271.1Sskrll#options 	PLCONSOLE,PLCOMCNUNIT=0,PLCONSPEED=115200,PLCONMODE=0xB00
281.1Sskrll
291.1Sskrll## USB Debugging options
301.77Sskrll#options USB_DEBUG
311.65Sskrll#options DWC2_DEBUG
321.1Sskrll#options UHUB_DEBUG
331.1Sskrll
341.1Sskrll
351.1Sskrll# Valid options for BOOT_ARGS:
361.1Sskrll#  single		Boot to single user only
371.1Sskrll#  kdb			Give control to kernel debugger
381.1Sskrll#  ask			Ask for file name to reboot from
391.1Sskrll#  memorydisk=<n>	Set memorydisk size to <n> KB
401.1Sskrll#  quiet		Show aprint_naive output
411.1Sskrll#  verbose		Show aprint_normal and aprint_verbose output
421.1Sskrll#options		BOOT_ARGS="\"\""
431.1Sskrll
441.22Sjakllschconfig		netbsd		root on ? type ?
451.1Sskrll
461.78Sskrll# Device tree support
471.78Sskrllarmfdt0		at root
481.81Sjmcneillsimplebus*	at fdt? pass 0
491.1Sskrll
501.60Sskrll# The CPU(s)
511.78Sskrllcpus*		at fdt? pass 0
521.80Sjmcneillcpu*		at fdt? pass 0
531.1Sskrll
541.78Sskrllfclock*		at fdt? pass 0
551.1Sskrll
561.1Sskrll# Interrupt Controller
571.78Sskrllbcmicu*		at fdt? pass 1
581.78Sskrll
591.78Sskrll# System timer
601.78Sskrllbcmtmr0		at fdt? pass 1
611.78Sskrll
621.78Sskrll# Clock manager
631.78Sskrllbcmcprman0 	at fdt? pass 1
641.78Sskrll
651.78Sskrll# AUX
661.78Sskrllbcmaux0		at fdt? pass 2
671.78Sskrll
681.78Sskrll# pulse width modulator manager
691.78Sskrll#bcmpwm0 	at fdt?
701.78Sskrll
711.78Sskrllfregulator*	at fdt?
721.78Sskrllgpiokeys*	at fdt?
731.78Sskrll
741.78Sskrll# GPIO LEDs
751.78Sskrllgpioleds*	at fdt?
761.1Sskrll
771.4Sskrll# VC Mailbox
781.78Sskrllbcmmbox*	at fdt?
791.78Sskrllvcmbox* 	at bcmmbox?
801.4Sskrll
811.51Sjmcneill# DMA Controller
821.78Sskrllbcmdmac0	at fdt?
831.51Sjmcneill
841.27Sjmcneill# VCHIQ
851.78Sskrllvchiq0		at fdt?
861.30Sjmcneill
871.30Sjmcneill# AUDS
881.30Sjmcneillvcaudio0	at vchiq0
891.76Sjmcneillaudio*		at audiobus?
901.27Sjmcneill
911.71Schristosspkr*		at audio?		# PC speaker (synthesized)
921.69Snat
931.1Sskrll# PL011 uart
941.78Sskrllplcom*		at fdt?
951.1Sskrll
961.74Sjmcneill# AUX UART
971.78Sskrllcom0		at fdt?
981.74Sjmcneill
991.15Sjmcneill# Framebuffer console
1001.78Sskrllgenfb0		at fdt?
1011.20Sjmcneillwsdisplay*	at genfb?
1021.31Sreinoudoptions		VCONS_DRAW_INTR
1031.56Sskrll#options 	RPI_HWCURSOR
1041.15Sjmcneill
1051.1Sskrll# Power management, Reset controller and Watchdog registers
1061.87Sskrllbcmpmwdog*	at fdt?
1071.1Sskrll
1081.23Sjmcneill# Random number generator
1091.78Sskrllbcmrng0 	at fdt?
1101.23Sjmcneill
1111.44Skardel# GPIO
1121.78Sskrllbcmgpio*	at fdt?
1131.44Skardel
1141.1Sskrll# Arasan SD/MMC Interface
1151.78Sskrllsdhc*		at fdt?
1161.78Sskrllsdmmc*		at sdhc?
1171.1Sskrll
1181.72Sjmcneill# SD host controller
1191.87Sskrllbcmsdhost* 	at fdt?
1201.87Sskrllsdmmc* 		at bcmsdhost?
1211.72Sjmcneill
1221.1Sskrllld*     at sdmmc?
1231.89Smlelstvbwfm*   at      sdmmc?
1241.1Sskrll
1251.17Sskrll# On-board USB
1261.78Sskrlldwctwo* 	at fdt?
1271.41Sskrllusb* 		at dwctwo?
1281.7Sjakllsch
1291.38Sskrll# USB device drivers
1301.17Sskrllinclude "dev/usb/usbdevices.config"
1311.7Sjakllsch
1321.57Suebayasimidi*		at midibus?
1331.57Suebayasi
1341.50Sskrll# MII/PHY support
1351.50Sskrllexphy* 		at mii? phy ?		# 3Com internal PHYs
1361.50Sskrllgentbi* 	at mii? phy ?		# Generic Ten-Bit 1000BASE-[CLS]X PHYs
1371.50Sskrllglxtphy*	at mii? phy ?		# Level One LXT-1000 PHYs
1381.50Sskrllgphyter* 	at mii? phy ?		# NS83861 Gig-E PHY
1391.50Sskrllicsphy*		at mii? phy ?		# Integrated Circuit Systems ICS189x
1401.50Sskrlligphy*		at mii? phy ?		# Intel IGP01E1000
1411.50Sskrllihphy*		at mii? phy ?		# Intel 82577 PHYs
1421.50Sskrllikphy*		at mii? phy ?		# Intel 82563 PHYs
1431.50Sskrllinphy*		at mii? phy ?		# Intel 82555 PHYs
1441.50Sskrlliophy*		at mii? phy ?		# Intel 82553 PHYs
1451.50Sskrlllxtphy*		at mii? phy ?		# Level One LXT-970 PHYs
1461.50Sskrllmakphy*		at mii? phy ?		# Marvell Semiconductor 88E1000 PHYs
1471.50Sskrllnsphy*		at mii? phy ?		# NS83840 PHYs
1481.50Sskrllnsphyter*	at mii? phy ? 		# NS83843 PHYs
1491.50Sskrllpnaphy*		at mii? phy ?		# generic HomePNA PHYs
1501.50Sskrllqsphy*		at mii? phy ?		# Quality Semiconductor QS6612 PHYs
1511.50Sskrllrdcphy*		at mii? phy ?		# RDC R6040 10/100 PHY
1521.50Sskrllrgephy*		at mii? phy ?		# Realtek 8169S/8110S internal PHYs
1531.50Sskrllrlphy*		at mii? phy ?		# Realtek 8139/8201L PHYs
1541.92Srinsmscphy*	at mii? phy ?		# SMSC LAN87xx PHYs
1551.50Sskrllsqphy*		at mii? phy ?		# Seeq 80220/80221/80223 PHYs
1561.50Sskrlltlphy*		at mii? phy ?		# ThunderLAN PHYs
1571.50Sskrlltqphy*		at mii? phy ?		# TDK Semiconductor PHYs
1581.50Sskrllurlphy*		at mii? phy ?		# Realtek RTL8150L internal PHYs
1591.50Sskrllukphy*		at mii? phy ?		# generic unknown PHYs
1601.18Sskrll
1611.14Sjakllsch# Broadcom Serial Control (I2C)
1621.78Sskrllbsciic* at fdt?
1631.14Sjakllschiic* at i2cbus?
1641.14Sjakllsch
1651.58Smacallan# 'DS3231 Raspberry Pi RTC Board Real Time Clock Module for Arduino'
1661.58Smacallan# sold by linksprite.com
1671.58Smacallan#dsrtc* at iic1 addr 0x68 flags 3231
1681.58Smacallan
1691.68Saymeric# MCP7940 based PiFace Real Time Clock
1701.68Saymeric#dsrtc* at iic1 addr 0x6f flags 7940
1711.68Saymeric
1721.14Sjakllsch# SPI controller
1731.78Sskrllbcmspi* at fdt?
1741.14Sjakllschspi* at spibus?
1751.14Sjakllsch
1761.64Sphx# MCP3x0x ADC
1771.64Sphx# flags selects the actual chip, refer to mcp3kadc(4)
1781.64Sphx#mcp3kadc0 at spi? slave 0 flags 0
1791.64Sphx
1801.43Skardel# PIFace or other boards using that chip (needs gpio)
1811.95Sthorpej#mcpgpio0 at spi? slave 0 flags 0
1821.95Sthorpej#mcpgpio1 at spi? slave 0 flags 1
1831.95Sthorpej#mcpgpio2 at spi? slave 0 flags 2
1841.95Sthorpej#mcpgpio3 at spi? slave 0 flags 3
1851.43Skardel
1861.95Sthorpej# MCP230xx GPIO on I2C.
1871.95Sthorpejmcpgpio* at iic? addr ?
1881.95Sthorpej
1891.95Sthorpej# gpio support (e. g. mcpgpio, bcmgpio)
1901.44Skardelgpio*		at gpiobus?
1911.43Skardel
1921.1Sskrll# various options for wscons - we try to look as much like a standard
1931.1Sskrll# sun console as possible
1941.1Sskrlloptions 	WSEMUL_VT100		# sun terminal emulation
1951.5Sskrlloptions 	WS_DEFAULT_FG=WSCOL_WHITE
1961.5Sskrlloptions 	WS_DEFAULT_BG=WSCOL_BLACK
1971.5Sskrlloptions 	WS_KERNEL_FG=WSCOL_GREEN
1981.5Sskrlloptions 	WS_KERNEL_BG=WSCOL_BLACK
1991.24Sskrlloptions 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
2001.24Sskrlloptions 	WSDISPLAY_COMPAT_SYSCONS	# emulate some more ioctls
2011.3Sabsoptions 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
2021.1Sskrlloptions 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
2031.1Sskrlloptions 	WSDISPLAY_DEFAULTSCREENS=4
2041.24Sskrll
2051.93Srinoptions 	FONT_BOLD8x16
2061.93Srinoptions 	FONT_BOLD16x32
2071.93Srin
2081.15Sjmcneill#options 	FONT_QVSS8x15
2091.1Sskrll#options 	FONT_GALLANT12x22	# the console font
2101.1Sskrll
2111.1Sskrll# Pseudo-Devices
2121.1Sskrll
2131.1Sskrll# network pseudo-devices
2141.9Sskrll#pseudo-device	carp			# Common Address Redundancy Protocol
2151.84Smaxv#pseudo-device	npf			# NPF packet filter
2161.1Sskrll#pseudo-device	kttcp			# network loopback
2171.9Sskrll#pseudo-device	sl			# Serial Line IP
2181.9Sskrll#pseudo-device	irframetty		# IrDA frame line discipline
2191.9Sskrll#pseudo-device	faith			# IPv[46] TCP relay translation i/f
2201.9Sskrll#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
2211.9Sskrll#pseudo-device	agr			# IEEE 802.3ad link aggregation
2221.1Sskrll
2231.1Sskrll# miscellaneous pseudo-devices
2241.78Sskrllpseudo-device	openfirm
2251.9Sskrll
2261.9Sskrll# wscons pseudo-devices
2271.9Sskrllpseudo-device	wsmux			# mouse & keyboard multiplexor
2281.9Sskrllpseudo-device	wsfont
2291.9Sskrll
2301.97Sskrll# Performance monitors
2311.97Sskrllpseudo-device	lockstat		# lock profiling
2321.97Sskrll
2331.29Sjmcneill# userland interface to drivers, including autoconf and properties retrieval
2341.29Sjmcneill
2351.89Smlelstv# Bluetooth devices
2361.89Smlelstvinclude "dev/bluetooth/bluetoothdevices.config"
2371.89Smlelstv
2381.96Sabs# Pull in optional local configuration - always at end
2391.96Sabscinclude	"arch/evbarm/conf/RPI.local"
240