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: OMAP5EVM,v 1.16.2.1 2019/11/21 18:17:59 martin Exp $
#
#	PANDABOARD -- TI OMAP 4430 Eval Board Kernel
#

include	"arch/evbarm/conf/std.beagle"

# 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 	CPU_CORTEXA15
options 	OMAP_5430
options 	PMAPCOUNTERS
options 	MULTIPROCESSOR
# no options	__HAVE_MM_MD_DIRECT_MAPPED_PHYS # too much memory to direct map

# 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 - Experimental
#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 	SEMMNI=10	# number of semaphore identifiers
#options 	SEMMNS=60	# number of semaphores in system
#options 	SEMUME=10	# max number of undo entries per process
#options 	SEMMNU=30	# number of undo structures in system
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 	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=0x48020000, 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 ? type ?

# The main bus device
mainbus0	at root

# The boot cpu
cpu0		at mainbus?

# A9 core devices
armperiph0	at mainbus?
armgic0		at armperiph?				# Interrupt Controller
armgtmr0	at armperiph?				# ARM Generic Timer

# L3 Interconnect
L3i0		at mainbus?

# OBIO
obio0		at mainbus? base 0x4A000000 size 0x1000000	# L4 CORE (CFG)
obio1		at mainbus? base 0x4AE00000 size 0x0200000	# L4 WAKEUP
obio2		at mainbus? base 0x48000000 size 0x1000000	# L4 PERIPHERAL
obio3		at mainbus? base 0x49000000 size 0x1000000	# L4 ABE

# General Purpose Memory Controller
gpmc0		at mainbus? base 0x50000000

# SDHC controllers
sdhc0		at obio2 addr 0x4809C000 size 0x0400 intr 115 # MMC1 83 + 32
sdhc1		at obio2 addr 0x480B4000 size 0x0400 intr 118 # MMC2 86 + 32
#sdhc2		at obio2 addr 0x480AD000 size 0x0400 intr 126 # MMC3 94 + 32
#sdhc2		at obio2 addr 0x480D1000 size 0x0400 intr 128 # MMC4 96 + 32
#sdhc2		at obio2 addr 0x480D5000 size 0x0400 intr  91 # MMC5 59 + 32
sdmmc*		at sdhc?		# SD/MMC bus
ld*		at sdmmc?


omapgpio0	at obio1 addr 0x4AE10000 size 0x0400 intrbase 192 intr 61 #GPIO1
omapgpio1	at obio2 addr 0x48055000 size 0x0400 intrbase 224 intr 62 #GPIO2
omapgpio2	at obio2 addr 0x48057000 size 0x0400 intrbase 256 intr 63 #GPIO3
omapgpio3	at obio2 addr 0x48059000 size 0x0400 intrbase 288 intr 64 #GPIO4
omapgpio4	at obio2 addr 0x4805B000 size 0x0400 intrbase 320 intr 65 #GPIO5
omapgpio5	at obio2 addr 0x4805D000 size 0x0400 intrbase 352 intr 66 #GPIO6
omapgpio6	at obio2 addr 0x48051000 size 0x0400 intrbase 384 intr 67 #GPIO7
omapgpio7	at obio2 addr 0x48053000 size 0x0400 intrbase 416 intr 153 #GPIO8

gpio*		at omapgpio?

# # I2C Controller
# omapi2c0	at tipb? addr 0xfffb3800 intr 68 mult 4
# iic*		at omapi2c?
# # omap's own i2c address
# options 	OMAP_I2C_ADDRESS=0xe
# # i2c bus clock low and high times in ns
# options 	I2C_LOW_TIME_nSEC=1500
# options 	I2C_HIGH_TIME_nSEC=1000

# On-board 16550 UARTs
com0		at obio2 addr 0x48020000 intr 106 mult 4 # UART3 (console) 74+32

# Operating System Timer
#omapmputmr0	at obio2 addr 0x48032000 intr 70	# GP Timer 2 L4PER
# Statistics Timer
#omapmputmr1	at obio2 addr 0x48034000 intr 71	# GP Timer 3 L4PER
# Microtime Reference Timer
#omapmputmr2	at obio2 addr 0x48036000 intr 72	# GP Timer 4 L4PER
#options 	OMAP_MPU_TIMER_CLOCK_FREQ=12000000

# Watchdog timers (no WDT1)
#omapwdt32k*	at obio3 addr 0x49030000 size 2048	# WDT3
#omapwdt32k*	at obio1 addr 0x4A314000 size 2048	# WDT2

# 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_USL		# 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 0x4AE06000 size 0x2000	# PRM Module

# On-board SATA
ahcisata*	at obio0 addr 0x4A140000 size 0x0200 intr 86 # 54 + 32
atabus* 	at ahcisata? channel ?
wd*		at atabus? drive ?

# On-board USB
# OHCI isn't used since the ehci port has a hub directly attached to it.
ohci*		at obio0 addr 0x4A064800 size 0x0400 intr 108	# 76 + 32
ehci*		at obio0 addr 0x4A064C00 size 0x0400 intr 109	# 77 + 32
#xhci*		at obio0 addr 0x4A020000 size 0x10000 intr ???	# ?? + 32 USB3OTG
#xhci*		at obio0 addr 0x4A030000 size 0x10000 intr ???	# ?? + 32 USB3
usb*		at ohci?
usb*		at ehci?
#usb*		at xhci?
uhub*		at usb?
uhub*		at uhub? port ?
umass*		at uhub? port ? configuration ? interface ?
scsibus*	at scsi?
sd*		at scsibus? target ? lun ?
#uhidev*		at uhub?
#ukbd*		at uhidev?
#ums*		at uhidev?
#wskbd*		at ukbd?
#wsmouse*	at ums?

usmsc*		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	drvctl			# driver control
#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