#
# $NetBSD: BCM56340,v 1.22 2022/08/07 02:52:25 simonb Exp $
#
# BCM5301X -- Broadcom BCM5301X Eval Board Kernel
#
include "arch/evbarm/conf/std.bcm53xx"
# estimated number of users
maxusers 32
# Standard system options
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
#options NTP # NTP phase/frequency locked loop
# CPU options
#makeoptions DEFCOPTS="-O0"
options UVMHIST
#options UVMHIST_PRINT,A9WDT_PERIOD_DEFAULT=30
options BCM53XX_CONSOLE_EARLY
options BCMETH_COUNTERS
#options MULTIPROCESSOR
options CPU_CORTEX
#options MEMSIZE=256
options BCM563XX
options PMAPCOUNTERS
options BUSDMA_COUNTERS
makeoptions KERNEL_BASE_PHYS="0x60100000"
# Architecture options
# File systems
file-system FFS # UFS
#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NFS # Network file system
#file-system ADOSFS # AmigaDOS-compatible file system
#file-system EXT2FS # second extended file system (linux)
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 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 TMPFS # memory file system
file-system PTYFS # /dev/pts/N support
# File system options
#options FFS_EI # FFS Endian Independent support
#options FFS_NO_SNAPSHOT # No FFS snapshot support
#options QUOTA # legacy UFS quotas
#options QUOTA2 # new, in-filesystem UFS quotas
options UFS_DIRHASH # UFS Large Directory Hashing
options UFS_EXTATTR # Extended attribute support for UFS1
options WAPBL # File system journaling support
#options DISKLABEL_EI # disklabel Endian Independent support
#options NFSSERVER # Network File System server
# 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_BOOTSTATIC
#options NFS_BOOTSTATIC_MYIP="\"192.168.1.4\""
#options NFS_BOOTSTATIC_GWIP="\"192.168.1.1\""
#options NFS_BOOTSTATIC_MASK="\"255.255.255.0\""
#options NFS_BOOTSTATIC_SERVADDR="\"192.168.1.1\""
#options NFS_BOOTSTATIC_SERVER="\"192.168.1.1:/nfs/sdp2430\""
options NFS_BOOT_RWSIZE=1024
# Compatibility options
include "conf/compat_netbsd30.config"
options COMPAT_NETBSD32 # allow running arm (e.g. non-earm) binaries
# 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_ROOT_SIZE=8192 # Size in blocks
#options MEMORY_DISK_DYNAMIC
#options MINIROOTSIZE=1000 # Size in blocks
#options MEMORY_DISK_IS_ROOT # use memory disk as root
# Wedge support
options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances
options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges
# Miscellaneous kernel options
options MODULAR # support dynamically loaded kernel modules
options MODULAR_DEFAULT_AUTOLOAD
options KTRACE # system call tracing, a la ktrace(1)
options PCIVERBOSE # Verbose PCI autoconfiguration messages
#options PCI_CONFIG_DUMP # Verbose PCI autoconfiguration messages
options PCI_NETBSD_CONFIGURE # perform PCI configuration
options RNDVERBOSE # Verbose rnd messages
#options SCSIVERBOSE # Verbose SCSI errors
#options MIIVERBOSE # Verbose MII autoconfiguration messages
#options DDB_KEYCODE=0x40
#options USERCONF # userconf(4) support
#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
# Development and Debugging options
options DIAGNOSTIC # internal consistency checks
options DEBUG
#options LOCKDEBUG # Enable lock debugging
#options UVMHIST # kernhist for uvm/pmap subsystems
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 DDB_COMMANDONENTER="show event"
options DB_MAX_LINE=INT_MAX
#options KGDB
makeoptions DEBUG="-g" # compile full symbol table
makeoptions COPY_SYMTAB=1
## USB Debugging options
options USB_DEBUG
options EHCI_DEBUG
options OHCI_DEBUG
options UHUB_DEBUG
# Valid options for BOOT_ARGS:
# single Boot to single user only
# kdb Give control to kernel debugger
# ask Ask for file name to reboot from
# memorydisk=<n> Set memorydisk size to <n> KB
# quiet Show aprint_naive output
# verbose Show aprint_normal and aprint_verbose output
options BOOT_ARGS="\"\""
config netbsd root on ? type ?
# The main bus device
mainbus0 at root
# The boot cpu
cpu0 at mainbus?
#cpu* at mainbus?
# The MPCore interrupt controller and global timer
armperiph0 at mainbus? # A9 On-Chip Peripherals
armgic0 at armperiph? # ARM Generic Interrupt Controller
arml2cc0 at armperiph? flags 0 # ARM PL310 L2CC
arma9tmr0 at armperiph? # A9 Global Timer
arma9wdt0 at armperiph? flags 1 # A9 Watchdog Timer
# ChipCommonA Peripherals
bcmcca0 at mainbus? # ChipCommonA
#options CONADDR=0x18000300, CONSPEED=115200
options CONSPEED=9600
com0 at bcmcca? channel 0
com* at bcmcca? channel 1
# ChipCommonB Peripherals
bcmccb0 at mainbus? # ChipCommonB
bcmpax* at bcmccb? port ? flags 2 # use bounce buffers
pci* at bcmpax?
ppb* at pci? dev ? function ?
pci* at ppb?
ahcisata* at pci? dev ? function ?
atabus* at ahcisata? channel ?
#options ATADEBUG
wd* at atabus? drive ?
wm* at pci? dev ? function ?
makphy* at mii?
ukphy* at mii?
bcmmdio0 at bcmccb0
bcmeth* at bcmccb? port ?
# SDHC controllers
sdhc0 at bcmccb0
sdmmc* at sdhc? # SD/MMC bus
ld* at sdmmc?
# Random Number Generator
bcmrng0 at bcmccb0
# NAND controller
#bcmnand0 at bcmccb0
# NAND layer
#nand0 at nandbus?
# use the bad block table
#options NAND_BBT
# Define flash partitions for board
#flash0 at nand0 offset 0x000000 size 0x080000 readonly 1 # X-Loader
#flash1 at nand0 offset 0x080000 size 0x1e0000 readonly 1 # U-Boot
#flash2 at nand0 offset 0x260000 size 0x020000 readonly 1 # UB Env
#flash3 at nand0 offset 0x280000 size 0x400000 # kernel
#flash4 at nand0 offset 0x680000 size 0 # filesystem
# I2C Controller
bcmi2c0 at bcmccb0
iic* at bcmi2c?
# NAND Controller
bcmnand0 at bcmccb0
nand* at nandbus?
flash* at nand?
# Watchdog timers
#bcmwdt* at bcmccb0
# On-board USB
bcmusb* at bcmccb0
ohci* at bcmusb0
usb* at ohci?
ehci* at bcmusb0
usb* at ehci?
uhub* at usb?
uhub* at uhub? port ?
umass* at uhub? port ? configuration ? interface ?
scsibus* at scsi?
sd* at scsibus? target ? lun ?
# USB Ethernet adapters
axe* at uhub? port ? configuration ? interface ?
# Hardware clocking and power management
# Pseudo-Devices
# disk/mass storage pseudo-devices
#pseudo-device md # memory disk device (ramdisk)
#pseudo-device vnd # disk-like interface to files
#pseudo-device fss # file system snapshot device
#pseudo-device putter # for puffs and pud
# network pseudo-devices
pseudo-device bpfilter # Berkeley packet filter
pseudo-device loop # network loopback
#pseudo-device kttcp # network loopback
pseudo-device vlan
pseudo-device bridge
# miscellaneous pseudo-devices
pseudo-device pty # pseudo-terminals
#options RND_COM
#pseudo-device clockctl # user control of clock subsystem
pseudo-device ksyms # /dev/ksyms
pseudo-device drvctl # device control
pseudo-device lockstat # lock profiling