RPI revision 1.80
11.1Sskrll# 21.80Sjmcneill# $NetBSD: RPI,v 1.80 2018/06/30 16:30:35 jmcneill 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.78Sskrllmakeoptions DTSGNUARCH="arm arm64" 111.78Sskrllmakeoptions DTSSUBDIR="broadcom" 121.78Sskrll 131.78Sskrllmakeoptions DTS=" 141.78Sskrll bcm2835-rpi-a.dts 151.78Sskrll bcm2835-rpi-a-plus.dts 161.78Sskrll bcm2835-rpi-b.dts 171.78Sskrll bcm2835-rpi-b-plus.dts 181.78Sskrll bcm2835-rpi-b-rev2.dts 191.78Sskrll bcm2835-rpi-zero.dts 201.78Sskrll" 211.1Sskrll 221.60Sskrlloptions CPU_ARM1176 231.78Sskrlloptions SOC_BCM2835 241.60Sskrlloptions TPIDRPRW_IS_CURLWP 251.61Sjmcneilloptions ARM11_COMPAT_MMU 261.60Sskrlloptions __HAVE_MM_MD_CACHE_ALIASING 271.60Sskrllmakeoptions CPUFLAGS="-march=armv6z -mtune=arm1176jzf-s -mfpu=vfp" 281.1Sskrll 291.1Sskrll# Architecture options 301.1Sskrll 311.1Sskrll# Development and Debugging options 321.33Sreinoud#options KGDB,KGDB_PLCOMUNIT=0,KGDB_DEVRATE=115200,KGDB_CONMODE=0xB00 331.1Sskrllmakeoptions DEBUG="-g" # compile full symbol table 341.48Sjoergmakeoptions COPY_SYMTAB=1 351.1Sskrlloptions PLCONSOLE 361.1Sskrll#options PLCONSOLE,PLCOMCNUNIT=0,PLCONSPEED=115200,PLCONMODE=0xB00 371.1Sskrll 381.1Sskrll## USB Debugging options 391.77Sskrll#options USB_DEBUG 401.65Sskrll#options DWC2_DEBUG 411.1Sskrll#options UHUB_DEBUG 421.1Sskrll 431.1Sskrll 441.1Sskrll# Valid options for BOOT_ARGS: 451.1Sskrll# single Boot to single user only 461.1Sskrll# kdb Give control to kernel debugger 471.1Sskrll# ask Ask for file name to reboot from 481.1Sskrll# pmapdebug=<n> If PMAP_DEBUG, set pmap_debug_level to <n> 491.1Sskrll# memorydisk=<n> Set memorydisk size to <n> KB 501.1Sskrll# quiet Show aprint_naive output 511.1Sskrll# verbose Show aprint_normal and aprint_verbose output 521.1Sskrll#options BOOT_ARGS="\"\"" 531.1Sskrll 541.22Sjakllschconfig netbsd root on ? type ? 551.1Sskrll 561.78Sskrll# Device tree support 571.78Sskrllarmfdt0 at root 581.79Sjmcneillsimplebus* at fdt? 591.1Sskrll 601.60Sskrll# The CPU(s) 611.78Sskrllcpus* at fdt? pass 0 621.80Sjmcneillcpu* at fdt? pass 0 631.1Sskrll 641.78Sskrllfclock* at fdt? pass 0 651.1Sskrll 661.1Sskrll# Interrupt Controller 671.78Sskrllbcmicu* at fdt? pass 1 681.78Sskrll 691.78Sskrll# System timer 701.78Sskrllbcmtmr0 at fdt? pass 1 711.78Sskrll 721.78Sskrll# Clock manager 731.78Sskrllbcmcprman0 at fdt? pass 1 741.78Sskrll 751.78Sskrll# AUX 761.78Sskrllbcmaux0 at fdt? pass 2 771.78Sskrll 781.78Sskrll# pulse width modulator manager 791.78Sskrll#bcmpwm0 at fdt? 801.78Sskrll 811.78Sskrllfregulator* at fdt? 821.78Sskrllgpiokeys* at fdt? 831.78Sskrll 841.78Sskrll# GPIO LEDs 851.78Sskrllgpioleds* at fdt? 861.1Sskrll 871.4Sskrll# VC Mailbox 881.78Sskrllbcmmbox* at fdt? 891.78Sskrllvcmbox* at bcmmbox? 901.4Sskrll 911.51Sjmcneill# DMA Controller 921.78Sskrllbcmdmac0 at fdt? 931.51Sjmcneill 941.27Sjmcneill# VCHIQ 951.78Sskrllvchiq0 at fdt? 961.30Sjmcneill 971.30Sjmcneill# AUDS 981.30Sjmcneillvcaudio0 at vchiq0 991.76Sjmcneillaudio* at audiobus? 1001.27Sjmcneill 1011.71Schristosspkr* at audio? # PC speaker (synthesized) 1021.69Snat 1031.1Sskrll# PL011 uart 1041.78Sskrllplcom* at fdt? 1051.1Sskrll 1061.74Sjmcneill# AUX UART 1071.78Sskrllcom0 at fdt? 1081.74Sjmcneill 1091.15Sjmcneill# Framebuffer console 1101.78Sskrllgenfb0 at fdt? 1111.20Sjmcneillwsdisplay* at genfb? 1121.31Sreinoudoptions VCONS_DRAW_INTR 1131.56Sskrll#options RPI_HWCURSOR 1141.15Sjmcneill 1151.1Sskrll# Power management, Reset controller and Watchdog registers 1161.78Sskrllwatchdog0 at fdt? 1171.1Sskrll 1181.23Sjmcneill# Random number generator 1191.78Sskrllbcmrng0 at fdt? 1201.23Sjmcneill 1211.44Skardel# GPIO 1221.78Sskrllbcmgpio* at fdt? 1231.44Skardel 1241.1Sskrll# Arasan SD/MMC Interface 1251.78Sskrllsdhc* at fdt? 1261.78Sskrllsdmmc* at sdhc? 1271.1Sskrll 1281.72Sjmcneill# SD host controller 1291.78Sskrllsdhost* at fdt? 1301.78Sskrllsdmmc* at sdhost? 1311.72Sjmcneill 1321.1Sskrllld* at sdmmc? 1331.1Sskrll 1341.17Sskrll# On-board USB 1351.78Sskrlldwctwo* at fdt? 1361.41Sskrllusb* at dwctwo? 1371.7Sjakllsch 1381.38Sskrll# USB device drivers 1391.17Sskrllinclude "dev/usb/usbdevices.config" 1401.7Sjakllsch 1411.57Suebayasimidi* at midibus? 1421.57Suebayasi 1431.50Sskrll# MII/PHY support 1441.50Sskrllexphy* at mii? phy ? # 3Com internal PHYs 1451.50Sskrllgentbi* at mii? phy ? # Generic Ten-Bit 1000BASE-[CLS]X PHYs 1461.50Sskrllglxtphy* at mii? phy ? # Level One LXT-1000 PHYs 1471.50Sskrllgphyter* at mii? phy ? # NS83861 Gig-E PHY 1481.50Sskrllicsphy* at mii? phy ? # Integrated Circuit Systems ICS189x 1491.50Sskrlligphy* at mii? phy ? # Intel IGP01E1000 1501.50Sskrllihphy* at mii? phy ? # Intel 82577 PHYs 1511.50Sskrllikphy* at mii? phy ? # Intel 82563 PHYs 1521.50Sskrllinphy* at mii? phy ? # Intel 82555 PHYs 1531.50Sskrlliophy* at mii? phy ? # Intel 82553 PHYs 1541.50Sskrlllxtphy* at mii? phy ? # Level One LXT-970 PHYs 1551.50Sskrllmakphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs 1561.50Sskrllnsphy* at mii? phy ? # NS83840 PHYs 1571.50Sskrllnsphyter* at mii? phy ? # NS83843 PHYs 1581.50Sskrllpnaphy* at mii? phy ? # generic HomePNA PHYs 1591.50Sskrllqsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs 1601.50Sskrllrdcphy* at mii? phy ? # RDC R6040 10/100 PHY 1611.50Sskrllrgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs 1621.50Sskrllrlphy* at mii? phy ? # Realtek 8139/8201L PHYs 1631.50Sskrllsqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs 1641.50Sskrlltlphy* at mii? phy ? # ThunderLAN PHYs 1651.50Sskrlltqphy* at mii? phy ? # TDK Semiconductor PHYs 1661.50Sskrllurlphy* at mii? phy ? # Realtek RTL8150L internal PHYs 1671.50Sskrllukphy* at mii? phy ? # generic unknown PHYs 1681.18Sskrll 1691.14Sjakllsch# Broadcom Serial Control (I2C) 1701.78Sskrllbsciic* at fdt? 1711.14Sjakllschiic* at i2cbus? 1721.14Sjakllsch 1731.58Smacallan# 'DS3231 Raspberry Pi RTC Board Real Time Clock Module for Arduino' 1741.58Smacallan# sold by linksprite.com 1751.58Smacallan#dsrtc* at iic1 addr 0x68 flags 3231 1761.58Smacallan 1771.68Saymeric# MCP7940 based PiFace Real Time Clock 1781.68Saymeric#dsrtc* at iic1 addr 0x6f flags 7940 1791.68Saymeric 1801.14Sjakllsch# SPI controller 1811.78Sskrllbcmspi* at fdt? 1821.14Sjakllschspi* at spibus? 1831.14Sjakllsch 1841.64Sphx# MCP3x0x ADC 1851.64Sphx# flags selects the actual chip, refer to mcp3kadc(4) 1861.64Sphx#mcp3kadc0 at spi? slave 0 flags 0 1871.64Sphx 1881.43Skardel# PIFace or other boards using that chip (needs gpio) 1891.43Skardel#mcp23s17gpio0 at spi? slave 0 flags 0 1901.55Sjakllsch#mcp23s17gpio1 at spi? slave 0 flags 1 1911.43Skardel#mcp23s17gpio2 at spi? slave 0 flags 2 1921.43Skardel#mcp23s17gpio3 at spi? slave 0 flags 3 1931.43Skardel 1941.44Skardel# gpio support (e. g. mcp23s17gpio, bcmgpio) 1951.44Skardelgpio* at gpiobus? 1961.43Skardel 1971.1Sskrll# various options for wscons - we try to look as much like a standard 1981.1Sskrll# sun console as possible 1991.1Sskrlloptions WSEMUL_VT100 # sun terminal emulation 2001.5Sskrlloptions WS_DEFAULT_FG=WSCOL_WHITE 2011.5Sskrlloptions WS_DEFAULT_BG=WSCOL_BLACK 2021.5Sskrlloptions WS_KERNEL_FG=WSCOL_GREEN 2031.5Sskrlloptions WS_KERNEL_BG=WSCOL_BLACK 2041.24Sskrlloptions WSDISPLAY_COMPAT_PCVT # emulate some ioctls 2051.24Sskrlloptions WSDISPLAY_COMPAT_SYSCONS # emulate some more ioctls 2061.3Sabsoptions WSDISPLAY_COMPAT_USL # wsconscfg VT handling 2071.1Sskrlloptions WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes 2081.1Sskrlloptions WSDISPLAY_DEFAULTSCREENS=4 2091.24Sskrll 2101.15Sjmcneill#options FONT_QVSS8x15 2111.1Sskrll#options FONT_GALLANT12x22 # the console font 2121.1Sskrll 2131.1Sskrll# Pseudo-Devices 2141.1Sskrll 2151.1Sskrll# network pseudo-devices 2161.9Sskrll#pseudo-device carp # Common Address Redundancy Protocol 2171.9Sskrll#pseudo-device ipfilter # IP filter (firewall) and NAT 2181.1Sskrll#pseudo-device kttcp # network loopback 2191.9Sskrll#pseudo-device ppp # Point-to-Point Protocol 2201.9Sskrll#pseudo-device pppoe # PPP over Ethernet (RFC 2516) 2211.9Sskrll#options PPPOE_SERVER # Enable PPPoE server via link0 2221.9Sskrll#pseudo-device sl # Serial Line IP 2231.9Sskrll#pseudo-device strip # Starmode Radio IP (Metricom) 2241.9Sskrll#pseudo-device irframetty # IrDA frame line discipline 2251.9Sskrll#pseudo-device tap # virtual Ethernet 2261.9Sskrll#pseudo-device tun # network tunneling over tty 2271.9Sskrll#pseudo-device gre # generic L3 over IP tunnel 2281.9Sskrll#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC 1933) 2291.9Sskrll#pseudo-device faith # IPv[46] TCP relay translation i/f 2301.9Sskrll#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation 2311.9Sskrll#pseudo-device vlan # IEEE 802.1q encapsulation 2321.9Sskrll#pseudo-device bridge # simple inter-network bridging 2331.9Sskrll#options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too 2341.9Sskrll#pseudo-device agr # IEEE 802.3ad link aggregation 2351.9Sskrll#pseudo-device pf # PF packet filter 2361.9Sskrll#pseudo-device pflog # PF log if 2371.1Sskrll 2381.1Sskrll# miscellaneous pseudo-devices 2391.78Sskrllpseudo-device openfirm 2401.9Sskrll 2411.9Sskrll# wscons pseudo-devices 2421.9Sskrllpseudo-device wsmux # mouse & keyboard multiplexor 2431.9Sskrllpseudo-device wsfont 2441.9Sskrll 2451.29Sjmcneill# userland interface to drivers, including autoconf and properties retrieval 2461.29Sjmcneill 2471.16Sjmcneill# local configuration 2481.16Sjmcneillcinclude "arch/evbarm/conf/RPI.local" 2491.75Snat 2501.75Snat# Bluetooth serial UART devices 2511.75Snatpseudo-device btuart 2521.75Snatpseudo-device bcsp 2531.75Snatpseudo-device bthfive 254