#
#	$NetBSD: BEAGLEBOARD,v 1.65 2019/02/06 11:58:30 rin Exp $
#
#	BEAGLEBOARD -- TI OMAP 3530 Eval Board Kernel
#

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

# CPU options

#options 	UVMHIST,UVMHIST_PRINT
options 	CPU_CORTEXA8
options 	OMAP_3530

# Development and Debugging options

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
#  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?

# Specify the memory size in megabytes (optional).
#options 	MEMSIZE=256
#options 	MEMSIZE=128

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

# 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?

# 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?

# Power Management and System Companion Device
tps65950pm0	at iic0 addr 0x48
tps65950pm1	at iic0 addr 0x49
tps65950pm2	at iic0 addr 0x4a
tps65950pm3	at iic0 addr 0x4b

# On-board 16550 UARTs
com0		at obio2 addr 0x49020000 intr 74 mult 4	# UART3 (console)
#options 	CONSADDR=0x49020000, CONSPEED=38400
options 	CONSADDR=0x49020000, CONSPEED=115200

# 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

# 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
wsdisplay*	at wsemuldisplaydev? console ?

# 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
usb*		at ehci?

include "dev/usb/usbdevices.config"

midi*		at midibus?

rgephy*		at mii? phy ?
rlphy*		at mii? phy ?
ukphy*		at mii? phy ?

# Hardware clocking and power management

options 	HWCLOCK
options 	HWCLOCK_MACHINE="<arch/arm/omap/hwclock_omap1.h>"
options 	OMAP_CK_REF_SPEED=12000000

cinclude "arch/evbarm/conf/BEAGLEBOARD.local"
