#
# $NetBSD: N900,v 1.31.2.2 2019/11/27 13:46:44 martin Exp $
#
# N900 -- Nokia N900 Kernel
#
include "arch/evbarm/conf/std.n900"
# 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
#options UVMHIST,UVMHIST_PRINT
options CPU_CORTEXA8
options OMAP_3430
options PMAPCOUNTERS
# 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 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 NFSSERVER
options WAPBL # File system journaling support
#options FFS_NO_SNAPSHOT # No FFS snapshot support
# 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
# Miscellaneous kernel options
options KTRACE # system call tracing, a la ktrace(1)
#options SCSIVERBOSE # Verbose SCSI errors
#options MIIVERBOSE # Verbose MII autoconfuration 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 # expensive locking checks/support
#options PMAP_DEBUG # Enable pmap_debug_level code
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
#options VERBOSE_INIT_ARM # verbose bootstraping messages
#options EARLYCONS=beagle
#options CONSADDR=0x49020000, CONSPEED=38400
#options CONSADDR=0x49020000, CONSPEED=115200
## 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
# pmapdebug=<n> If PMAP_DEBUG, set pmap_debug_level to <n>
# 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 ld0a type ?
# The main bus device
mainbus0 at root
# The boot cpu
cpu0 at mainbus?
# Specify the memory size in megabytes.
#options MEMSIZE=256
# L3 Interconnect
L3i0 at mainbus?
# OBIO
obio0 at mainbus? base 0x48000000 size 0x1000000 # L4 CORE
obio1 at mainbus? base 0x48300000 size 0x0100000 # L4 WAKEUP
obio2 at mainbus? base 0x49000000 size 0x0100000 # L4 PERIPHERAL
#obio3 at mainbus? base 0x54000000 size 0x0800000 # L4 EMUL
# General Purpose Memory Controller
gpmc0 at mainbus? base 0x6e000000
# SDHC controllers
sdhc0 at obio0 addr 0x4809C000 size 0x0400 intr 83
#sdhc1 at obio0 addr 0x480B4000 size 0x0400 intr 86
#sdhc2 at obio0 addr 0x480AD000 size 0x0400 intr 94
sdmmc* at sdhc? # SD/MMC bus
ld* at sdmmc?
# NAND controller
omapnand0 at gpmc? addr 0x30000000
# NAND layer
nand0 at nandbus?
# use the bad block table
options NAND_BBT
# Define flash partitions for board
flash0 at nand0 offset 0x0000040 size 0x3602000 # MyDocs
flash1 at nand0 offset 0x3602040 size 0x0400000 # filesystem
flash2 at nand0 offset 0x3a02040 size 0x0180000 # swap
# Interrupt Controller
omapicu0 at obio0 addr 0x48200000 size 0x1000 intrbase 0
omapgpio0 at obio1 addr 0x48310000 size 0x0400 intrbase 96 intr 29
omapgpio1 at obio2 addr 0x49050000 size 0x0400 intrbase 128 intr 30
omapgpio2 at obio2 addr 0x49052000 size 0x0400 intrbase 160 intr 31
omapgpio3 at obio2 addr 0x49054000 size 0x0400 intrbase 192 intr 32
omapgpio4 at obio2 addr 0x49056000 size 0x0400 intrbase 224 intr 33
omapgpio5 at obio2 addr 0x49058000 size 0x0400 intrbase 256 intr 34
gpio* at omapgpio?
# GPIO devices
# Charging sensor
n900acad0 at gpio0 offset 7 mask 0x1 #intr 103
# Camera button
n900cambtn0 at gpio2 offset 4 mask 0x3 #intr 164, 165
# Keyboard slide
n900kbdsld0 at gpio2 offset 7 mask 0x1 #intr 167
# Proximity sensor
n900prxmty0 at gpio2 offset 25 mask 0x1 #intr 185
# Camera cover
n900camcvr0 at gpio3 offset 14 mask 0x1 #intr 206
# Lock button
n900lckbtn0 at gpio3 offset 17 mask 0x1 #intr 209
# Audio jack
n900audjck0 at gpio5 offset 17 mask 0x1 #intr 273
# System Control Module
omapscm0 at obio0 addr 0x48002000 size 0x1000
# I2C Controller
omapiic0 at obio0 addr 0x48070000 size 0x80
omapiic1 at obio0 addr 0x48072000 size 0x80
omapiic2 at obio0 addr 0x48060000 size 0x80
iic* at omapiic?
# I2C devices
# Power Management and System Companion Device
twl0 at iic0 addr 0x48
# On-board 16550 UARTs
#com0 at obio2 addr 0x49020000 intr 74 mult 4 # UART3 (console)
# Operating System Timer
omapmputmr0 at obio2 addr 0x49032000 intr 38 # GP Timer 2
# Statistics Timer
omapmputmr1 at obio2 addr 0x49034000 intr 39 # GP Timer 3
# Microtime Reference Timer
omapmputmr2 at obio2 addr 0x49036000 intr 40 # GP Timer 4
options OMAP_MPU_TIMER_CLOCK_FREQ=12000000
# Watchdog timers
#omapwdt32k* at obio2 addr 0x49030000 size 2048 # WDT3
omapwdt32k* at obio1 addr 0x48314000 size 2048 # WDT2
# onboard DMA
omapdma0 at obio0 addr 0x48056000 size 0x1000
# onboard video
omapfb* at obio0 addr 0x48050000 size 0x10000
# make sure the console display is always wsdisplay0
wsdisplay0 at wsemuldisplaydev? console 1
wsdisplay* at wsemuldisplaydev?
# various options for wscons - we try to look as much like a standard
# sun console as possible
options WSEMUL_VT100 # sun terminal emulation
options WS_DEFAULT_FG=WSCOL_BLACK
options WS_DEFAULT_BG=WSCOL_LIGHT_WHITE
options WS_KERNEL_FG=WSCOL_GREEN
options WS_KERNEL_BG=WSCOL_LIGHT_WHITE
options WSDISPLAY_COMPAT_PCVT # emulate some ioctls
options WSDISPLAY_COMPAT_SYSCONS # emulate some more ioctls
options WSDISPLAY_COMPAT_USL # wsconscfg VT handling
options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
options WSDISPLAY_DEFAULTSCREENS=4
options FONT_QVSS8x15
#options FONT_GALLANT12x22 # the console font
pseudo-device wsmux # mouse & keyboard multiplexor
pseudo-device wsfont
# Power, Reset and Clock Management
prcm* at obio1 addr 0x48306000 size 0x2000 # PRM Module
# On-board USB
#ehci* at obio0 addr 0x48064800 size 0x0400 intr 77
#ohci* at obio0 addr 0x48064400 size 0x0400 intr 76
#usb* at ohci?
#usb* at ehci?
#uhub* at usb?
#uhub* at uhub? port ?
#umass* at uhub? port ? configuration ? interface ?
#uhidev* at uhub?
#ukbd* at uhidev?
#ums* at uhidev?
#wskbd* at ukbd?
#wsmouse* at ums?
# USB Ethernet adapters
#axe* at uhub? port ? configuration ? interface ?
# Hardware clocking and power management
options HWCLOCK
options HWCLOCK_MACHINE="<arch/arm/omap/hwclock_omap1.h>"
options OMAP_CK_REF_SPEED=12000000
# 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
# 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 lockstat # lock profiling
cinclude "arch/evbarm/conf/N900.local"