#
#	$NetBSD: BEAGLEBONE,v 1.42.2.4 2018/04/18 14:45:08 martin Exp $
#
#	BEAGLEBONE -- TI AM335x board Kernel
#

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

# CPU options

options 	CPU_CORTEXA8
options 	TI_AM335X

# XXX The Cortex PMC delay() doesn't seem to work.
#no options	CORTEX_PMC

# Architecture options
#makeoptions	CPUFLAGS+="-mthumb"

# Development and Debugging options

#options 	DEBUG
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="\"-v\""

config		netbsd		root on ? 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 0x44c00000 size 0x00400000	# L4_WKUP
obio1		at mainbus? base 0x48000000 size 0x01000000	# L4_PER
obio2		at mainbus? base 0x4a000000 size 0x01000000	# L4_FAST

# Enhanced Direct Memory Access controller
edma0		at mainbus? base 0x49000000 size 0x100000 intrbase 12

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

# Interrupt Controller
omapicu0	at obio1 addr 0x48200000 size 0x1000 intrbase 0

# Power, Reset and Clock Management
prcm0		at obio0 addr 0x44e00000 size 0x2000	# PRM Module

# Control Module
sitaracm0	at obio0 addr 0x44e10000 size 0x2000

# SDHC controllers
sdhc0		at obio1 addr 0x48060000 size 0x1000 intr 64 edmabase 24
sdmmc0		at sdhc0
ld0		at sdmmc0
sdhc1		at obio1 addr 0x481d8000 size 0x1000 intr 28 edmabase 2 # BB Black
sdmmc1		at sdhc1
ld1		at sdmmc1
#sdhc2		at obio0 addr 0x47810000 size 0x1000 intr 29
#sdmmc2		at sdhc2
#ld2		at sdmmc2
sdmmc*		at sdhc?		# SD/MMC bus
ld*		at sdmmc?
#options SDMMC_DEBUG
#options SDHC_DEBUG

# General-purpose I/O pins
omapgpio0	at obio0 addr 0x44e07000 size 0x1000 # intrbase 128 intr 29
gpio0		at omapgpio0
omapgpio1	at obio1 addr 0x4804c000 size 0x1000 # intrbase 160 intr 30
gpio1		at omapgpio1
omapgpio2	at obio1 addr 0x481ac000 size 0x1000 # intrbase 192 intr 32
gpio2		at omapgpio2
omapgpio3	at obio1 addr 0x481ae000 size 0x1000 # intrbase 224 intr 32
gpio3		at omapgpio3
gpio* 		at gpiobus?

# I2C Controller
tiiic0		at obio0 addr 0x44e0b000 size 0x1000 intr 70
iic*		at tiiic?
seeprom*	at iic0 addr 0x50 size 32768
tps65217pmic*	at iic0 addr 0x24

# On-board 16550 UARTs
com0		at obio0 addr 0x44e09000 size 0x1000 intr 72 mult 4	# UART0
options 	CONSADDR=0x44e09000, CONSPEED=115200

# XXX Clock assignment is kinda random.  My DM timer 3 seems to be
# unhappy and I don't know why.  DM timer 0 doesn't seem to deliver
# interrupts for the hard clock, although it seems to be the obvious
# choice.

# Hardclock timer
omapdmtimer0	at obio1 addr 0x48040000 size 0x1000 intr 68	# DM Timer 2

# Time counter
omapdmtimer1	at obio0 addr 0x44e31000 size 0x1000 intr 67	# DM Timer 1ms

# Statclock timer
omapdmtimer2	at obio1 addr 0x48044000 size 0x1000 intr 92	# DM Timer 4

# Watchdog timers
omapwdt32k*	at obio0 addr 0x44e35000 size 0x1000	# WDT1

# Random number generator
trng*		at obio1 addr 0x48310000 size 0x2000 intr 111	# TRNG

# onboard video, experimental. Video mode is hardcoded in the driver
#tifb* 	at obio1 addr 0x4830E000 size 0x1000 intr 36

# make sure the console display is always wsdisplay0
#wsdisplay*	at wsemuldisplaydev?

# various options for wscons - we try to look as much like a standard
# sun console as possible
#options 	WSEMUL_VT100
#options 	WSDISPLAY_COMPAT_PCVT
#options 	WSDISPLAY_COMPAT_SYSCONS
#options 	WSDISPLAY_COMPAT_USL
#options 	WSDISPLAY_SCROLLSUPPORT
#options 	WS_KERNEL_FG=WSCOL_GREEN
#options 	WSDISPLAY_DEFAULTSCREENS=4
#options 	FONT_GALLANT12x22
#options 	FONT_BOLD8x16
# compatibility to other console drivers
#options 	WSDISPLAY_COMPAT_RAWKBD 	# can get raw scancodes

pseudo-device	wsmux			# mouse & keyboard multiplexor
pseudo-device	wsfont

# On-board USB. Experimental
tiotg* 	at mainbus? base 0x47400000 size 0x5000 intrbase 17
motg*	at tiotg? port ?
usb*		at motg?
uhub*		at usb?
uhub*		at uhub? port ?

uhidev*		at uhub?

# USB Keyboards
ukbd*	at uhidev? reportid ?
wskbd*	at ukbd? console ? mux 1

# USB Mice
ums*	at uhidev? reportid ?
wsmouse* at ums? mux 0

# USB generic touchscreen
uts*	at uhidev? reportid ?
wsmouse* at uts? mux 0

# USB Modem
umodem* at uhub? port ? configuration ?
ucom*	at umodem?
# Serial adapters
ubsa*	at uhub? port ?		# Belkin serial adapter
ucom*	at ubsa? portno ?

uchcom* at uhub? port ? 	# WinChipHead CH341/CH340 serial adapter
ucom*	at uchcom? portno ?

uftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
ucom*	at uftdi? portno ?

uipaq*	at uhub? port ?		# iPAQ PDAs
ucom*	at uipaq? portno ?

umct*	at uhub? port ?		# MCT USB-RS232 serial adapter
ucom*	at umct? portno ?

uplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
ucom*	at uplcom? portno ?

uslsa*	at uhub? port ?		# Silicon Labs USB-RS232 serial adapter
ucom*	at uslsa? portno ?

uvscom* at uhub? port ? 	# SUNTAC Slipper U VS-10U serial adapter
ucom*	at uvscom? portno ?


umass*		at uhub? port ? configuration ? interface ?
wd*		at umass?
# SCSI bus support
scsibus*	at scsi?
# SCSI devices
sd*		at scsibus? target ? lun ?      # SCSI disk drives

# USB Ethernet adapters
axe*		at uhub? port ? configuration ? interface ?

# Ethernet
cpsw*		at obio2 addr 0x4a100000 size 0x8000 intrbase 40
ukphy*		at mii?

# Pseudo-Devices

# local configuration
cinclude "arch/evbarm/conf/BEAGLEBONE.local"
