RPI revision 1.51
11.1Sskrll# 21.51Sjmcneill# $NetBSD: RPI,v 1.51 2014/09/07 14:17:23 jmcneill Exp $ 31.1Sskrll# 41.1Sskrll# RPi -- Raspberry Pi 51.1Sskrll# 61.1Sskrll 71.1Sskrllinclude "arch/evbarm/conf/std.rpi" 81.1Sskrll 91.1Sskrll# estimated number of users 101.1Sskrll 111.1Sskrllmaxusers 32 121.1Sskrll 131.1Sskrll# Standard system options 141.1Sskrll 151.1Sskrlloptions RTC_OFFSET=0 # hardware clock is this many mins. west of GMT 161.1Sskrll#options NTP # NTP phase/frequency locked loop 171.1Sskrll 181.1Sskrll# CPU options 191.1Sskrll 201.1Sskrlloptions CPU_ARM1176 211.1Sskrlloptions BCM2835 221.1Sskrlloptions PMAPCOUNTERS 231.1Sskrlloptions FPU_VFP 241.1Sskrll 251.1Sskrll# Architecture options 261.1Sskrll 271.1Sskrll# File systems 281.1Sskrll 291.1Sskrllfile-system FFS # UFS 301.1Sskrll#file-system LFS # log-structured file system 311.1Sskrllfile-system MFS # memory file system 321.1Sskrllfile-system NFS # Network file system 331.1Sskrll#file-system ADOSFS # AmigaDOS-compatible file system 341.1Sskrllfile-system EXT2FS # second extended file system (linux) 351.1Sskrll#file-system CD9660 # ISO 9660 + Rock Ridge file system 361.1Sskrllfile-system MSDOSFS # MS-DOS file system 371.1Sskrll#file-system FDESC # /dev/fd 381.1Sskrllfile-system KERNFS # /kern 391.1Sskrllfile-system NULLFS # loopback file system 401.1Sskrllfile-system PROCFS # /proc 411.37Sskrllfile-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs) 421.1Sskrll#file-system UMAPFS # NULLFS + uid and gid remapping 431.1Sskrll#file-system UNION # union file system 441.1Sskrllfile-system TMPFS # memory file system 451.33Sreinoud#file-system UDF # experimental - OSTA UDF CD/DVD file-system 461.33Sreinoud#file-system HFS # experimental - Apple HFS+ (read-only) 471.33Sreinoud#file-system NILFS # experimental - NTT's NiLFS(2) 481.1Sskrllfile-system PTYFS # /dev/pts/N support 491.1Sskrll 501.1Sskrll# File system options 511.1Sskrlloptions QUOTA # legacy UFS quotas 521.1Sskrlloptions QUOTA2 # new, in-filesystem UFS quotas 531.1Sskrll#options FFS_EI # FFS Endian Independent support 541.1Sskrll#options NFSSERVER 551.1Sskrlloptions WAPBL # File system journaling support 561.1Sskrll#options FFS_NO_SNAPSHOT # No FFS snapshot support 571.1Sskrll 581.1Sskrll# Networking options 591.1Sskrll 601.1Sskrll#options GATEWAY # packet forwarding 611.1Sskrlloptions INET # IP + ICMP + TCP + UDP 621.1Sskrlloptions INET6 # IPV6 631.1Sskrll#options IPSEC # IP security 641.1Sskrll#options IPSEC_DEBUG # debug for IP security 651.1Sskrll#options MROUTING # IP multicast routing 661.1Sskrll#options PIM # Protocol Independent Multicast 671.1Sskrll#options NETATALK # AppleTalk networking 681.1Sskrll#options PPP_BSDCOMP # BSD-Compress compression support for PPP 691.1Sskrll#options PPP_DEFLATE # Deflate compression support for PPP 701.1Sskrll#options PPP_FILTER # Active filter support for PPP (requires bpf) 711.1Sskrll#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG 721.1Sskrll 731.1Sskrll#options NFS_BOOT_BOOTP 741.1Sskrll#options NFS_BOOT_DHCP 751.1Sskrll#options NFS_BOOT_BOOTSTATIC 761.1Sskrll#options NFS_BOOTSTATIC_MYIP="\"192.168.1.4\"" 771.1Sskrll#options NFS_BOOTSTATIC_GWIP="\"192.168.1.1\"" 781.1Sskrll#options NFS_BOOTSTATIC_MASK="\"255.255.255.0\"" 791.1Sskrll#options NFS_BOOTSTATIC_SERVADDR="\"192.168.1.1\"" 801.1Sskrll#options NFS_BOOTSTATIC_SERVER="\"192.168.1.1:/nfs/sdp2430\"" 811.1Sskrll 821.1Sskrlloptions NFS_BOOT_RWSIZE=1024 831.1Sskrll 841.1Sskrll# Compatibility options 851.1Sskrll 861.46Smartinoptions COMPAT_NETBSD32 # allow running arm (e.g. non-earm) binaries 871.1Sskrll#options COMPAT_43 # 4.3BSD compatibility. 881.49Sdholland#options COMPAT_09 # NetBSD 0.9, 891.49Sdholland#options COMPAT_10 # NetBSD 1.0, 901.49Sdholland#options COMPAT_11 # NetBSD 1.1, 911.49Sdholland#options COMPAT_12 # NetBSD 1.2, 921.49Sdholland#options COMPAT_13 # NetBSD 1.3, 931.49Sdholland#options COMPAT_14 # NetBSD 1.4, 941.49Sdholland#options COMPAT_15 # NetBSD 1.5, 951.49Sdholland#options COMPAT_16 # NetBSD 1.6, 961.49Sdholland#options COMPAT_20 # NetBSD 2.0, 971.49Sdholland#options COMPAT_30 # NetBSD 3.0, 981.49Sdholland#options COMPAT_40 # NetBSD 4.0, 991.49Sdholland#options COMPAT_50 # NetBSD 5.0, 1001.49Sdhollandoptions COMPAT_60 # NetBSD 6.0, and 1011.49Sdhollandoptions COMPAT_70 # NetBSD 7.0 binary compatibility. 1021.1Sskrll#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended. 1031.1Sskrll#options COMPAT_BSDPTY # /dev/[pt]ty?? ptys. 1041.1Sskrll 1051.1Sskrll# Shared memory options 1061.1Sskrll 1071.1Sskrlloptions SYSVMSG # System V-like message queues 1081.1Sskrlloptions SYSVSEM # System V-like semaphores 1091.1Sskrll#options SEMMNI=10 # number of semaphore identifiers 1101.1Sskrll#options SEMMNS=60 # number of semaphores in system 1111.1Sskrll#options SEMUME=10 # max number of undo entries per process 1121.1Sskrll#options SEMMNU=30 # number of undo structures in system 1131.1Sskrlloptions SYSVSHM # System V-like memory sharing 1141.1Sskrll 1151.1Sskrll# Device options 1161.1Sskrll 1171.1Sskrll#options MEMORY_DISK_HOOKS # boottime setup of ramdisk 1181.1Sskrll#options MEMORY_DISK_ROOT_SIZE=8192 # Size in blocks 1191.1Sskrll#options MEMORY_DISK_DYNAMIC 1201.1Sskrll#options MINIROOTSIZE=1000 # Size in blocks 1211.1Sskrll#options MEMORY_DISK_IS_ROOT # use memory disk as root 1221.1Sskrll 1231.1Sskrll# Miscellaneous kernel options 1241.1Sskrlloptions KTRACE # system call tracing, a la ktrace(1) 1251.1Sskrll#options KMEMSTATS # kernel memory statistics 1261.1Sskrll#options SCSIVERBOSE # Verbose SCSI errors 1271.1Sskrll#options MIIVERBOSE # Verbose MII autoconfuration messages 1281.1Sskrll#options DDB_KEYCODE=0x40 1291.1Sskrll#options USERCONF # userconf(4) support 1301.1Sskrll#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) 1311.1Sskrll 1321.1Sskrll# Development and Debugging options 1331.1Sskrll#options PERFCTRS # performance counters 1341.45Sdhollandoptions DIAGNOSTIC # internal consistency checks 1351.1Sskrlloptions DEBUG 1361.9Sskrll#options LOCKDEBUG 1371.1Sskrll#options IPKDB # remote kernel debugging 1381.11Sskrll#options VERBOSE_INIT_ARM # verbose bootstraping messages 1391.1Sskrlloptions DDB # in-kernel debugger 1401.1Sskrlloptions DDB_ONPANIC=1 1411.1Sskrlloptions DDB_HISTORY_SIZE=100 # Enable history editing in DDB 1421.33Sreinoud#options KGDB,KGDB_PLCOMUNIT=0,KGDB_DEVRATE=115200,KGDB_CONMODE=0xB00 1431.1Sskrllmakeoptions DEBUG="-g" # compile full symbol table 1441.48Sjoergmakeoptions COPY_SYMTAB=1 1451.1Sskrlloptions PLCONSOLE 1461.1Sskrll#options PLCONSOLE,PLCOMCNUNIT=0,PLCONSPEED=115200,PLCONMODE=0xB00 1471.1Sskrll 1481.1Sskrll## USB Debugging options 1491.1Sskrlloptions USB_DEBUG 1501.1Sskrll#options EHCI_DEBUG 1511.1Sskrll#options OHCI_DEBUG 1521.1Sskrll#options UHUB_DEBUG 1531.1Sskrll 1541.1Sskrll 1551.1Sskrll# Valid options for BOOT_ARGS: 1561.1Sskrll# single Boot to single user only 1571.1Sskrll# kdb Give control to kernel debugger 1581.1Sskrll# ask Ask for file name to reboot from 1591.1Sskrll# pmapdebug=<n> If PMAP_DEBUG, set pmap_debug_level to <n> 1601.1Sskrll# memorydisk=<n> Set memorydisk size to <n> KB 1611.1Sskrll# quiet Show aprint_naive output 1621.1Sskrll# verbose Show aprint_normal and aprint_verbose output 1631.1Sskrll#options BOOT_ARGS="\"\"" 1641.1Sskrll 1651.22Sjakllschconfig netbsd root on ? type ? 1661.1Sskrll 1671.1Sskrll# The main bus device 1681.1Sskrllmainbus0 at root 1691.1Sskrll 1701.1Sskrll# The cpu 1711.1Sskrllcpu0 at mainbus? 1721.1Sskrll 1731.1Sskrll# OBIO 1741.1Sskrllobio0 at mainbus? 1751.1Sskrll 1761.1Sskrll# Interrupt Controller 1771.1Sskrllbcmicu0 at obio? 1781.1Sskrll 1791.4Sskrll# VC Mailbox 1801.4Sskrllbcmmbox0 at obio? 1811.13Sjmcneillvcmbox0 at bcmmbox0 1821.4Sskrll 1831.51Sjmcneill# DMA Controller 1841.51Sjmcneill#bcmdmac0 at obio? 1851.51Sjmcneill 1861.27Sjmcneill# VCHIQ 1871.30Sjmcneillvchiq0 at obio? 1881.30Sjmcneill 1891.30Sjmcneill# AUDS 1901.30Sjmcneillvcaudio0 at vchiq0 1911.30Sjmcneillaudio0 at vcaudio0 1921.27Sjmcneill 1931.1Sskrll# PL011 uart 1941.1Sskrllplcom0 at obio? 1951.1Sskrll 1961.15Sjmcneill# Framebuffer console 1971.20Sjmcneillgenfb0 at obio? 1981.20Sjmcneillwsdisplay* at genfb? 1991.31Sreinoudoptions VCONS_DRAW_INTR 2001.15Sjmcneill 2011.1Sskrll# System timer 2021.1Sskrllbcmtmr0 at obio? 2031.1Sskrll 2041.1Sskrll# Power management, Reset controller and Watchdog registers 2051.1Sskrllbcmpm0 at obio? 2061.1Sskrll 2071.23Sjmcneill# Random number generator 2081.23Sjmcneillbcmrng0 at obio? 2091.23Sjmcneill 2101.44Skardel# GPIO 2111.44Skardelbcmgpio0 at obio? # pins 0 ... 31 2121.44Skardelbcmgpio1 at obio? # pins 32 ... 53 2131.44Skardel 2141.1Sskrll# Arasan SD/MMC Interface 2151.1Sskrllsdhc* at obio? 2161.1Sskrllsdmmc* at sdhc? 2171.1Sskrll 2181.1Sskrllld* at sdmmc? 2191.1Sskrll 2201.17Sskrll# On-board USB 2211.41Sskrlldwctwo* at obio? 2221.41Sskrllusb* at dwctwo? 2231.7Sjakllsch 2241.38Sskrll# USB device drivers 2251.17Sskrllinclude "dev/usb/usbdevices.config" 2261.7Sjakllsch 2271.50Sskrll# MII/PHY support 2281.50Sskrllexphy* at mii? phy ? # 3Com internal PHYs 2291.50Sskrllgentbi* at mii? phy ? # Generic Ten-Bit 1000BASE-[CLS]X PHYs 2301.50Sskrllglxtphy* at mii? phy ? # Level One LXT-1000 PHYs 2311.50Sskrllgphyter* at mii? phy ? # NS83861 Gig-E PHY 2321.50Sskrllicsphy* at mii? phy ? # Integrated Circuit Systems ICS189x 2331.50Sskrlligphy* at mii? phy ? # Intel IGP01E1000 2341.50Sskrllihphy* at mii? phy ? # Intel 82577 PHYs 2351.50Sskrllikphy* at mii? phy ? # Intel 82563 PHYs 2361.50Sskrllinphy* at mii? phy ? # Intel 82555 PHYs 2371.50Sskrlliophy* at mii? phy ? # Intel 82553 PHYs 2381.50Sskrlllxtphy* at mii? phy ? # Level One LXT-970 PHYs 2391.50Sskrllmakphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs 2401.50Sskrllnsphy* at mii? phy ? # NS83840 PHYs 2411.50Sskrllnsphyter* at mii? phy ? # NS83843 PHYs 2421.50Sskrllpnaphy* at mii? phy ? # generic HomePNA PHYs 2431.50Sskrllqsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs 2441.50Sskrllrdcphy* at mii? phy ? # RDC R6040 10/100 PHY 2451.50Sskrllrgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs 2461.50Sskrllrlphy* at mii? phy ? # Realtek 8139/8201L PHYs 2471.50Sskrllsqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs 2481.50Sskrlltlphy* at mii? phy ? # ThunderLAN PHYs 2491.50Sskrlltqphy* at mii? phy ? # TDK Semiconductor PHYs 2501.50Sskrllurlphy* at mii? phy ? # Realtek RTL8150L internal PHYs 2511.50Sskrllukphy* at mii? phy ? # generic unknown PHYs 2521.18Sskrll 2531.14Sjakllsch# Broadcom Serial Control (I2C) 2541.14Sjakllschbsciic* at obio? 2551.14Sjakllschiic* at i2cbus? 2561.14Sjakllsch 2571.14Sjakllsch# SPI controller 2581.14Sjakllschbcmspi* at obio? 2591.14Sjakllschspi* at spibus? 2601.14Sjakllsch 2611.43Skardel# PIFace or other boards using that chip (needs gpio) 2621.43Skardel#mcp23s17gpio0 at spi? slave 0 flags 0 2631.43Skardel#mcp23s17gpio1 at spi? slave 0 flags 1 2641.43Skardel#mcp23s17gpio2 at spi? slave 0 flags 2 2651.43Skardel#mcp23s17gpio3 at spi? slave 0 flags 3 2661.43Skardel 2671.44Skardel# gpio support (e. g. mcp23s17gpio, bcmgpio) 2681.44Skardelgpio* at gpiobus? 2691.43Skardel 2701.1Sskrll# various options for wscons - we try to look as much like a standard 2711.1Sskrll# sun console as possible 2721.1Sskrlloptions WSEMUL_VT100 # sun terminal emulation 2731.5Sskrlloptions WS_DEFAULT_FG=WSCOL_WHITE 2741.5Sskrlloptions WS_DEFAULT_BG=WSCOL_BLACK 2751.5Sskrlloptions WS_KERNEL_FG=WSCOL_GREEN 2761.5Sskrlloptions WS_KERNEL_BG=WSCOL_BLACK 2771.24Sskrlloptions WSDISPLAY_COMPAT_PCVT # emulate some ioctls 2781.24Sskrlloptions WSDISPLAY_COMPAT_SYSCONS # emulate some more ioctls 2791.3Sabsoptions WSDISPLAY_COMPAT_USL # wsconscfg VT handling 2801.1Sskrlloptions WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes 2811.1Sskrlloptions WSDISPLAY_DEFAULTSCREENS=4 2821.24Sskrll 2831.15Sjmcneill#options FONT_QVSS8x15 2841.1Sskrll#options FONT_GALLANT12x22 # the console font 2851.1Sskrll 2861.1Sskrll# Pseudo-Devices 2871.1Sskrll 2881.1Sskrll# disk/mass storage pseudo-devices 2891.9Sskrll#pseudo-device fss # file system snapshot device 2901.9Sskrll 2911.35Smatt#pseudo-device md # memory disk device (ramdisk) 2921.1Sskrllpseudo-device vnd # disk-like interface to files 2931.32Sskrllpseudo-device putter # for puffs and pud 2941.1Sskrll 2951.1Sskrll# network pseudo-devices 2961.1Sskrllpseudo-device bpfilter # Berkeley packet filter 2971.9Sskrll#pseudo-device carp # Common Address Redundancy Protocol 2981.9Sskrll#pseudo-device ipfilter # IP filter (firewall) and NAT 2991.1Sskrllpseudo-device loop # network loopback 3001.1Sskrll#pseudo-device kttcp # network loopback 3011.9Sskrll#pseudo-device ppp # Point-to-Point Protocol 3021.9Sskrll#pseudo-device pppoe # PPP over Ethernet (RFC 2516) 3031.9Sskrll#options PPPOE_SERVER # Enable PPPoE server via link0 3041.9Sskrll#pseudo-device sl # Serial Line IP 3051.9Sskrll#pseudo-device strip # Starmode Radio IP (Metricom) 3061.9Sskrll#pseudo-device irframetty # IrDA frame line discipline 3071.9Sskrll#pseudo-device tap # virtual Ethernet 3081.9Sskrll#pseudo-device tun # network tunneling over tty 3091.9Sskrll#pseudo-device gre # generic L3 over IP tunnel 3101.9Sskrll#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC 1933) 3111.9Sskrll#pseudo-device faith # IPv[46] TCP relay translation i/f 3121.9Sskrll#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation 3131.9Sskrll#pseudo-device vlan # IEEE 802.1q encapsulation 3141.9Sskrll#pseudo-device bridge # simple inter-network bridging 3151.9Sskrll#options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too 3161.9Sskrll#pseudo-device agr # IEEE 802.3ad link aggregation 3171.9Sskrll#pseudo-device pf # PF packet filter 3181.9Sskrll#pseudo-device pflog # PF log if 3191.1Sskrll 3201.1Sskrll# miscellaneous pseudo-devices 3211.1Sskrllpseudo-device pty # pseudo-terminals 3221.1Sskrll#options RND_COM 3231.1Sskrll#pseudo-device clockctl # user control of clock subsystem 3241.1Sskrllpseudo-device ksyms # /dev/ksyms 3251.12Sskrllpseudo-device lockstat # lock profiling 3261.9Sskrll 3271.9Sskrll# wscons pseudo-devices 3281.9Sskrllpseudo-device wsmux # mouse & keyboard multiplexor 3291.9Sskrllpseudo-device wsfont 3301.9Sskrll 3311.9Sskrll# data mover pseudo-devices 3321.9Sskrll#pseudo-device swdmover # software dmover(9) back-end 3331.9Sskrll#pseudo-device dmoverio # /dev/dmover dmover(9) interface 3341.16Sjmcneill 3351.29Sjmcneill# userland interface to drivers, including autoconf and properties retrieval 3361.29Sjmcneillpseudo-device drvctl 3371.29Sjmcneill 3381.16Sjmcneill# local configuration 3391.16Sjmcneillcinclude "arch/evbarm/conf/RPI.local" 340