#
# $NetBSD: PEPPER,v 1.12 2019/04/26 22:46:03 sevan Exp $
#
# PEPPER -- Gumstix. Inc. Pepper Single Board Computer platforms kernel
#
include "arch/evbarm/conf/std.overo"
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
# estimated number of users
maxusers 32
# CPU options
options CPU_CORTEXA8
options TI_AM335X
options FPU_VFP
options PMAPCOUNTERS
options ARM_HAS_VBAR
options __HAVE_MM_MD_DIRECT_MAPPED_PHYS
makeoptions CPUFLAGS="-mcpu=cortex-a8 -mfpu=neon"
# Architecture options
makeoptions BOARDTYPE="pepper"
options EVBARM_BOARDTYPE=pepper
# Gumstix options
options PEPPER
# Can specify 'expansion=' in args from u-boot.
options GUMSTIX_NETBSD_ARGS_EXPANSION
options GXIO_DEFAULT_EXPANSION="\"43C\""
# Standard system options
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
#options NTP # NTP phase/frequency locked loop
# File systems
file-system FFS # UFS
file-system EXT2FS # second extended file system (linux)
#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NFS # Network file system
#file-system NTFS # Windows/NT file system (experimental)
#file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # MS-DOS file system
file-system FDESC # /dev/fd
file-system KERNFS # /kern
#file-system NULLFS # loopback file system
#file-system OVERLAY # overlay file system
#file-system PROCFS # /proc
#file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs)
#file-system UMAPFS # NULLFS + uid and gid remapping
file-system UNION # union file system
#file-system CODA # Coda File System; also needs vcoda (below)
#file-system SMBFS # experimental - CIFS; also needs nsmb (below)
file-system TMPFS # memory file system
file-system PTYFS # /dev/pts/N support
#file-system UDF # experimental - OSTA UDF CD/DVD file-system
#file-system HFS # experimental - Apple HFS+ (read-only)
# File system options
#options QUOTA # legacy UFS quotas
#options QUOTA2 # new, in-filesystem UFS quotas
#options DISKLABEL_EI # disklabel Endian Independent support
#options FFS_EI # FFS Endian Independent support
options WAPBL # File system journaling support
#options UFS_DIRHASH # UFS Large Directory Hashing - Experimental
#options NFSSERVER
#options FFS_NO_SNAPSHOT # No FFS snapshot support
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
# Networking options
#options GATEWAY # packet forwarding
options INET # IP + ICMP + TCP + UDP
options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_DEBUG # debug for IP security
#options MROUTING # IP multicast routing
#options PIM # Protocol Independent Multicast
#options NETATALK # AppleTalk networking
#options PPP_BSDCOMP # BSD-Compress compression support for PPP
#options PPP_DEFLATE # Deflate compression support for PPP
#options PPP_FILTER # Active filter support for PPP (requires bpf)
#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
options NFS_BOOT_BOOTP
options NFS_BOOT_DHCP
#options NFS_BOOT_BOOTPARAM
# Compatibility options
include "conf/compat_netbsd30.config"
options COMPAT_NETBSD32 # allow running arm (e.g. non-earm) binaries
options COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
options COMPAT_LINUX # binary compatibility with Linux
# Shared memory options
#options SYSVMSG # System V-like message queues
#options SYSVSEM # System V-like semaphores
#options SYSVSHM # System V-like memory sharing
# Device options
#options MEMORY_DISK_HOOKS # boottime setup of ramdisk
#options MEMORY_DISK_IS_ROOT # use memory disk as root
#options MEMORY_DISK_DYNAMIC
#options MEMORY_DISK_ROOT_SIZE=8192 # Size in blocks
# Miscellaneous kernel options
options KTRACE # system call tracing, a la ktrace(1)
options IRQSTATS # manage IRQ statistics
#options MIIVERBOSE # verbose PHY autoconfig messages
#options USBVERBOSE # verbose USB device autoconfig messages
#options DDB_KEYCODE=0x40
#options USERCONF # userconf(4) support
#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
#options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
# Development and Debugging options
options DIAGNOSTIC # internal consistency checks
options DEBUG
#options LOCKDEBUG
#options PMAP_DEBUG # Enable pmap_debug_level code
#options VERBOSE_INIT_ARM # verbose bootstraping messages
options DDB # in-kernel debugger
options DDB_ONPANIC=1
options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
#options KGDB
makeoptions DEBUG="-g" # compile full symbol table
makeoptions COPY_SYMTAB=1
config netbsd root on ? type ?
# The main bus device
mainbus0 at root
# The boot cpu
cpu0 at mainbus?
# L3 Interconnect
#L3i0 at mainbus?
# OBIO
obio0 at mainbus? base 0x44c00000 size 0x00400000 # L4_WKUP
obio1 at mainbus? base 0x48000000 size 0x01000000 # L4_PER
obio2 at mainbus? base 0x4a000000 size 0x01000000 # L4_FAST
# Enhanced Direct Memory Access controller
edma0 at mainbus? base 0x49000000 size 0x100000 intrbase 12
# General Purpose Memory Controller
gpmc0 at mainbus? base 0x50000000
# Interrupt Controller
omapicu0 at obio1 addr 0x48200000 size 0x1000 intrbase 0
# Power, Reset and Clock Management
prcm0 at obio0 addr 0x44e00000 size 0x2000 # PRM Module
# Control Module
sitaracm0 at obio0 addr 0x44e10000 size 0x2000
# SDHC controllers
sdhc0 at obio1 addr 0x48060000 size 0x1000 intr 64 edmabase 24
sdmmc0 at sdhc0
ld* at sdmmc?
sdhc1 at mainbus? base 0x47810000 size 0x1000 irq 29 #edmabase X-bar 1
sdmmc1 at sdhc1
#wi2wi at sdmmc? # W2CBW0015
#wl18xx at sdmmc? # TI WiLink8 Wifi and Bluetooth module
#options SDMMC_DEBUG
#options SDHC_DEBUG
# General-purpose I/O pins
omapgpio0 at obio0 addr 0x44e07000 size 0x1000 intrbase 128 intr 96
gpio0 at omapgpio0
omapgpio1 at obio1 addr 0x4804c000 size 0x1000 intrbase 160 intr 98
gpio1 at omapgpio1
omapgpio2 at obio1 addr 0x481ac000 size 0x1000 intrbase 192 intr 32
gpio2 at omapgpio2
omapgpio3 at obio1 addr 0x481ae000 size 0x1000 intrbase 224 intr 62
gpio3 at omapgpio3
gpiobutton* at gpio1 offset 0 mask 0x00400000 flag 0x01
# I2C Controller
tiiic0 at obio0 addr 0x44e0b000 size 0x1000 intr 70
tiiic1 at obio1 addr 0x4802a000 size 0x1000 intr 71
tiiic2 at obio1 addr 0x4819c000 size 0x1000 intr 30
iic* at tiiic?
tps65217pmic0 at iic0 addr 0x24
seeprom* at iic0 addr 0x50 flags 0x8
dsrtc* at iic0 addr 0x68 flags 1340 # RTC with Trickle Charger
#LIS33DE at iic0 addr 0x1c # 43 only
#TLV320AIC3106 at iic? addr 0x1b # TLV320AIC3106 Audio Codec
#lsm303d at iic1 addr 0x1e # MPU9150?
#MPU9150 at iic1 addr 0x6a
#edt-ft5306 at iic2 addr 0x38 # True Multi-Touch Capacitive Touch Panel Controller
#omapspi0 at obio1 addr 0x48030000 size 0x1000 intr 65
#spi? at omapspi?
#ADS7846RGV at spi? # 4-wire Touch Screen Controller
# On-board 16550 UARTs
com0 at obio0 addr 0x44e09000 size 0x1000 intr 72 mult 4 # UART0
options CONSADDR=0x44e09000, CONSPEED=115200
#
# 1st gen, DVI: Export to pin-header. Configure to GPIO, if diabled.
# 43[CR]: Connect to WiLink8 Bluetooth.
#com1 at obio1 addr 0x48022000 size 0x1000 intr 73 mult 4 # UART1
#
# Configure to GPIO, if diabled. (43[CR] only)
#com2 at obio1 addr 0x48024000 size 0x1000 intr 74 mult 4 # UART2
#com3 at obio1 addr 0x481a6000 size 0x1000 intr 44 mult 4 # UART3
# XXX Clock assignment is kinda random. My DM timer 3 seems to be
# unhappy and I don't know why. DM timer 0 doesn't seem to deliver
# interrupts for the hard clock, although it seems to be the obvious
# choice.
# Hardclock timer
omapdmtimer0 at obio1 addr 0x48040000 size 0x1000 intr 68 # DM Timer 2
# Time counter
omapdmtimer1 at obio0 addr 0x44e31000 size 0x1000 intr 67 # DM Timer 1ms
# Statclock timer
omapdmtimer2 at obio1 addr 0x48044000 size 0x1000 intr 92 # DM Timer 4
# Watchdog timers
omapwdt32k* at obio0 addr 0x44e35000 size 0x1000 # WDT1
# Random number generator
trng* at obio1 addr 0x48310000 size 0x2000 intr 111 # TRNG
# onboard video, experimental. Video mode is hardcoded in the driver
tifb* at obio1 addr 0x4830e000 size 0x1000 intr 36
# make sure the console display is always wsdisplay0
wsdisplay* at wsemuldisplaydev?
# various options for wscons - we try to look as much like a standard
# sun console as possible
options WSEMUL_VT100
options WSDISPLAY_COMPAT_PCVT
options WSDISPLAY_COMPAT_SYSCONS
options WSDISPLAY_COMPAT_USL
options WSDISPLAY_SCROLLSUPPORT
options WS_KERNEL_FG=WSCOL_GREEN
options WSDISPLAY_DEFAULTSCREENS=4
options FONT_GALLANT12x22
options FONT_BOLD8x16
# compatibility to other console drivers
options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
# Ethernet
cpsw* at obio2 addr 0x4a100000 size 0x8000 intrbase 40
micphy* at mii? phy ? # Micrel KSZ9021RNI PHYs
# On-board USB. Experimental
tiotg* at mainbus? base 0x47400000 size 0x5000 intrbase 17
motg* at tiotg? port ?
usb* at motg?
uhub* at usb?
uhub* at uhub? port ?
uhidev* at uhub?
# USB Keyboards
ukbd* at uhidev? reportid ?
wskbd* at ukbd? console ? mux 1
# USB Mice
ums* at uhidev? reportid ?
wsmouse* at ums? mux 0
umass* at uhub? port ? configuration ? interface ?
# SCSI bus support
scsibus* at scsi?
# SCSI devices
sd* at scsibus? target ? lun ? # SCSI disk drives
# Pseudn-Devices
# disk/mass storage pseudo-devices
#pseudo-device bio # RAID control device driver
#pseudo-device ccd # concatenated/striped disk devices
pseudo-device cgd # cryptographic disk devices
#pseudo-device raid # RAIDframe disk driver
#options RAID_AUTOCONFIG # auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
#options RF_INCLUDE_EVENODD=1
#options RF_INCLUDE_RAID5_RS=1
#options RF_INCLUDE_PARITYLOGGING=1
#options RF_INCLUDE_CHAINDECLUSTER=1
#options RF_INCLUDE_INTERDECLUSTER=1
#options RF_INCLUDE_PARITY_DECLUSTERING=1
#options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
#pseudo-device fss # file system snapshot device
#pseudo-device md # memory disk device (ramdisk)
pseudo-device vnd # disk-like interface to files
options VND_COMPRESSION # compressed vnd(4)
#pseudo-device putter # for puffs and pud
# network pseudo-devices
pseudo-device bpfilter # Berkeley packet filter
#pseudo-device carp # Common Address Redundancy Protocol
pseudo-device npf # NPF packet filter
pseudo-device loop # network loopback
#pseudo-device ppp # Point-to-Point Protocol
#pseudo-device pppoe # PPP over Ethernet (RFC 2516)
#pseudo-device sl # Serial Line IP
#pseudo-device strip # Starmode Radio IP (Metricom)
#pseudo-device irframetty # IrDA frame line discipline
pseudo-device tap # virtual Ethernet
#pseudo-device tun # network tunneling over tty
#pseudo-device gre # generic L3 over IP tunnel
#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC 1933)
#pseudo-device faith # IPv[46] TCP relay translation i/f
#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
#pseudo-device vlan # IEEE 802.1q encapsulation
pseudo-device bridge # simple inter-network bridging
#options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too
#pseudo-device agr # IEEE 802.3ad link aggregation
# miscellaneous pseudo-devices
pseudo-device pty # pseudo-terminals
#pseudo-device sequencer # MIDI sequencer
options RND_COM
pseudo-device clockctl # user control of clock subsystem
pseudo-device ksyms # /dev/ksyms
#pseudo-device btuart # Bluetooth HCI UART (H4)
# TI WL18xx (WiLink 8) module
# a pseudo device needed for Coda # also needs CODA (above)
#pseudo-device vcoda # coda minicache <-> venus comm.
# a pseudo device needed for SMBFS
#pseudo-device nsmb # experimental - SMB requester
# wscons pseudo-devices
pseudo-device wsmux # mouse & keyboard multiplexor
pseudo-device wsfont
# data mover pseudo-devices
#pseudo-device swdmover # software dmover(9) back-end
#pseudo-device dmoverio # /dev/dmover dmover(9) interface
# userland interface to drivers, including autoconf and properties retrieval
pseudo-device drvctl
# Veriexec
# include "dev/veriexec.config"
#options PAX_MPROTECT=0 # PaX mprotect(2) restrictions
#options PAX_ASLR=0 # PaX Address Space Layout Randomization