Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#
#	$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"