Module Name: src
Committed By: matt
Date: Wed Aug 22 22:18:22 UTC 2012
Modified Files:
src/sys/arch/arm/omap: files.omap2 omap2_gpio.c omap2_gpmcreg.h
omap2_obioreg.h omap2_reg.h
src/sys/arch/evbarm/beagle: beagle.h beagle_machdep.c beagle_start.S
Added Files:
src/sys/arch/evbarm/conf: BEAGLEBOARDXM
Log Message:
First pass as supporting the TI DM37XX which is used in the BeagleBoard-XM.
(compile tested but hasn't been run on an actual board).
To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/omap/files.omap2
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/omap/omap2_gpio.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/omap/omap2_gpmcreg.h \
src/sys/arch/arm/omap/omap2_reg.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/omap/omap2_obioreg.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbarm/beagle/beagle.h
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/evbarm/beagle/beagle_machdep.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/evbarm/beagle/beagle_start.S
cvs rdiff -u -r0 -r1.1 src/sys/arch/evbarm/conf/BEAGLEBOARDXM
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/omap/files.omap2
diff -u src/sys/arch/arm/omap/files.omap2:1.12 src/sys/arch/arm/omap/files.omap2:1.13
--- src/sys/arch/arm/omap/files.omap2:1.12 Mon Aug 20 12:38:28 2012
+++ src/sys/arch/arm/omap/files.omap2 Wed Aug 22 22:18:21 2012
@@ -1,4 +1,4 @@
-# $NetBSD: files.omap2,v 1.12 2012/08/20 12:38:28 matt Exp $
+# $NetBSD: files.omap2,v 1.13 2012/08/22 22:18:21 matt Exp $
#
# Configuration info for Texas Instruments OMAP2/OMAP3 CPU support
# Based on xscale/files.pxa2x0
@@ -20,6 +20,7 @@ defflag opt_omap.h OMAP_2420: OMAP2
defflag opt_omap.h OMAP_3530: OMAP3
defflag opt_omap.h OMAP_4430: OMAP4
defflag opt_omap.h TI_AM335X: OMAP3
+defflag opt_omap.h TI_DM37XX: OMAP3
# OBIO just an attach point
device obio { [addr=-1], [size=0], [intr=-1], [mult=1], [intrbase=-1], [nobyteacc=0]
Index: src/sys/arch/arm/omap/omap2_gpio.c
diff -u src/sys/arch/arm/omap/omap2_gpio.c:1.9 src/sys/arch/arm/omap/omap2_gpio.c:1.10
--- src/sys/arch/arm/omap/omap2_gpio.c:1.9 Mon Aug 20 12:38:28 2012
+++ src/sys/arch/arm/omap/omap2_gpio.c Wed Aug 22 22:18:21 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: omap2_gpio.c,v 1.9 2012/08/20 12:38:28 matt Exp $ */
+/* $NetBSD: omap2_gpio.c,v 1.10 2012/08/22 22:18:21 matt Exp $ */
/*-
* Copyright (c) 2007 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -28,7 +28,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: omap2_gpio.c,v 1.9 2012/08/20 12:38:28 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: omap2_gpio.c,v 1.10 2012/08/22 22:18:21 matt Exp $");
#define _INTR_PRIVATE
@@ -355,6 +355,15 @@ gpio_match(device_t parent, cfdata_t cfd
|| oa->obio_addr == GPIO3_BASE_TI_AM335X)
return 1;
#endif
+#ifdef TI_DM37XX
+ if (oa->obio_addr == GPIO1_BASE_TI_DM37XX
+ || oa->obio_addr == GPIO2_BASE_TI_DM37XX
+ || oa->obio_addr == GPIO3_BASE_TI_DM37XX
+ || oa->obio_addr == GPIO4_BASE_TI_DM37XX
+ || oa->obio_addr == GPIO5_BASE_TI_DM37XX
+ || oa->obio_addr == GPIO6_BASE_TI_DM37XX)
+ return 1;
+#endif
return 0;
}
Index: src/sys/arch/arm/omap/omap2_gpmcreg.h
diff -u src/sys/arch/arm/omap/omap2_gpmcreg.h:1.6 src/sys/arch/arm/omap/omap2_gpmcreg.h:1.7
--- src/sys/arch/arm/omap/omap2_gpmcreg.h:1.6 Mon Aug 20 12:38:28 2012
+++ src/sys/arch/arm/omap/omap2_gpmcreg.h Wed Aug 22 22:18:21 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: omap2_gpmcreg.h,v 1.6 2012/08/20 12:38:28 matt Exp $ */
+/* $NetBSD: omap2_gpmcreg.h,v 1.7 2012/08/22 22:18:21 matt Exp $ */
/*
* Copyright (c) 2007 Microsoft
* All rights reserved.
@@ -50,6 +50,9 @@
#ifdef TI_AM335X
#define GPMC_BASE 0x50000000
#endif
+#ifdef TI_DM37XX
+#define GPMC_BASE 0x6e000000
+#endif
#define GPMC_REVISION 0x000
#define GPMC_SYSCONFIG 0x010
Index: src/sys/arch/arm/omap/omap2_reg.h
diff -u src/sys/arch/arm/omap/omap2_reg.h:1.6 src/sys/arch/arm/omap/omap2_reg.h:1.7
--- src/sys/arch/arm/omap/omap2_reg.h:1.6 Mon Aug 20 12:38:29 2012
+++ src/sys/arch/arm/omap/omap2_reg.h Wed Aug 22 22:18:21 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: omap2_reg.h,v 1.6 2012/08/20 12:38:29 matt Exp $ */
+/* $NetBSD: omap2_reg.h,v 1.7 2012/08/22 22:18:21 matt Exp $ */
/*
* Copyright (c) 2007 Microsoft
@@ -84,6 +84,20 @@
#define TI_AM335X_L4_FAST_BASE 0x4A000000
#define TI_AM335X_L4_FAST_SIZE 0x01000000 /* 16MB */
+/* TI Sitara DM37xx (OMAP like) */
+
+#define TI_DM37XX_L4_CORE_BASE 0x48000000
+#define TI_DM37XX_L4_CORE_SIZE 0x01000000 /* 16MB */
+
+#define TI_DM37XX_L4_WAKEUP_BASE 0x48300000
+#define TI_DM37XX_L4_WAKEUP_SIZE 0x00010000 /* 64KB */
+
+#define TI_DM37XX_L4_PERIPHERAL_BASE 0x49000000
+#define TI_DM37XX_L4_PERIPHERAL_SIZE 0x00100000 /* 1MB */
+
+#define TI_DM37XX_L4_EMULATION_BASE 0x54000000
+#define TI_DM37XX_L4_EMULATION_SIZE 0x00800000 /* 8MB */
+
/*
* Clock Management registers base, offsets, and size
*/
@@ -102,6 +116,9 @@
#ifdef TI_AM335X
#define OMAP2_CM_BASE TI_AM335X_L4_WAKEUP_BASE
#endif
+#ifdef TI_DM37XX
+#define OMAP2_CM_BASE TI_DM37XX_L4_WAKEUP_BASE
+#endif
#define OMAP2_CM_CLKSEL_MPU 0x140
#define OMAP2_CM_FCLKEN1_CORE 0x200
@@ -275,6 +292,9 @@
#ifdef TI_AM335X
#define OMAP2_PRM_BASE 0x48306000
#endif
+#ifdef TI_DM37XX
+#define OMAP2_PRM_BASE 0x48306000
+#endif
#define OMAP2_PRM_SIZE 0x00002000 /* 8k */
@@ -457,7 +477,7 @@
* Interrupts
*/
#define INTC_BASE 0x480FE000
-#define INTC_BASE_3530 0x48200000 /* Also TI_AM335X */
+#define INTC_BASE_3530 0x48200000 /* Also TI_AM335X and TI_DM37XX */
#define INTC_REVISISON 0x0000
#define INTC_SYSCONFIG 0x0010
#define INTC_SYSSTATUS 0x0014
@@ -552,6 +572,13 @@
#define GPIO2_BASE_TI_AM335X 0x481ac000
#define GPIO3_BASE_TI_AM335X 0x481ae000
+#define GPIO1_BASE_TI_DM37XX 0x48310000
+#define GPIO2_BASE_TI_DM37XX 0x49050000
+#define GPIO3_BASE_TI_DM37XX 0x49052000
+#define GPIO4_BASE_TI_DM37XX 0x49054000
+#define GPIO5_BASE_TI_DM37XX 0x49056000
+#define GPIO6_BASE_TI_DM37XX 0x49058000
+
#define GPIO_IRQSTATUS1 0x018
#define GPIO_IRQENABLE1 0x01c
#define GPIO_WAKEUPENABLE 0x020
Index: src/sys/arch/arm/omap/omap2_obioreg.h
diff -u src/sys/arch/arm/omap/omap2_obioreg.h:1.4 src/sys/arch/arm/omap/omap2_obioreg.h:1.5
--- src/sys/arch/arm/omap/omap2_obioreg.h:1.4 Mon Aug 20 12:38:29 2012
+++ src/sys/arch/arm/omap/omap2_obioreg.h Wed Aug 22 22:18:21 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: omap2_obioreg.h,v 1.4 2012/08/20 12:38:29 matt Exp $ */
+/* $NetBSD: omap2_obioreg.h,v 1.5 2012/08/22 22:18:21 matt Exp $ */
/*
* Copyright (c) 2007 Microsoft
@@ -91,4 +91,25 @@
#define GPIO3_BASE GPIO3_BASE_TI_AM335X
#endif
+#if defined(TI_DM37XX)
+#define OMAP2_OBIO_0_BASE TI_DM37XX_L4_CORE_BASE
+#define OMAP2_OBIO_0_SIZE TI_DM37XX_L4_CORE_SIZE
+
+#define OMAP2_OBIO_1_BASE TI_DM37XX_L4_WAKEUP_BASE
+#define OMAP2_OBIO_1_SIZE TI_DM37XX_L4_WAKEUP_SIZE
+
+#define OMAP2_OBIO_2_BASE TI_DM37XX_L4_PERIPHERAL_BASE
+#define OMAP2_OBIO_2_SIZE TI_DM37XX_L4_PERIPHERAL_SIZE
+
+#define OMAP2_OBIO_3_BASE TI_DM37XX_L4_EMULATION_BASE
+#define OMAP2_OBIO_3_SIZE TI_DM37XX_L4_EMULATION_SIZE
+
+#define GPIO1_BASE GPIO1_BASE_TI_DM37XX
+#define GPIO2_BASE GPIO2_BASE_TI_DM37XX
+#define GPIO3_BASE GPIO3_BASE_TI_DM37XX
+#define GPIO4_BASE GPIO4_BASE_TI_DM37XX
+#define GPIO5_BASE GPIO5_BASE_TI_DM37XX
+#define GPIO6_BASE GPIO6_BASE_TI_DM37XX
+#endif
+
#endif /* _ARM_OMAP_OMAP2_OBIOREG_H_ */
Index: src/sys/arch/evbarm/beagle/beagle.h
diff -u src/sys/arch/evbarm/beagle/beagle.h:1.4 src/sys/arch/evbarm/beagle/beagle.h:1.5
--- src/sys/arch/evbarm/beagle/beagle.h:1.4 Mon Aug 20 12:40:40 2012
+++ src/sys/arch/evbarm/beagle/beagle.h Wed Aug 22 22:18:22 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: beagle.h,v 1.4 2012/08/20 12:40:40 matt Exp $ */
+/* $NetBSD: beagle.h,v 1.5 2012/08/22 22:18:22 matt Exp $ */
/*
* Copyright (c) 2007 Microsoft
* All rights reserved.
@@ -67,6 +67,15 @@
#define OMAP_L4_FAST_SIZE TI_AM335X_L4_FAST_SIZE
#endif
+#ifdef TI_DM37XX
+#define OMAP_L4_CORE_BASE TI_DM37XX_L4_CORE_BASE
+#define OMAP_L4_CORE_SIZE TI_DM37XX_L4_CORE_SIZE
+#define OMAP_L4_PERIPHERAL_BASE TI_DM37XX_L4_PERIPHERAL_BASE
+#define OMAP_L4_PERIPHERAL_SIZE TI_DM37XX_L4_PERIPHERAL_SIZE
+#define OMAP_L4_WAKEUP_BASE TI_DM37XX_L4_WAKEUP_BASE
+#define OMAP_L4_WAKEUP_SIZE TI_DM37XX_L4_WAKEUP_SIZE
+#endif
+
/*
* We devmap IO starting at KERNEL_VM_BASE + KERNEL_VM_SIZE
*/
@@ -83,9 +92,13 @@
#define OMAP_L4_FAST_VBASE (OMAP_L4_PERIPHERAL_VBASE + OMAP_L4_PERIPHERAL_SIZE)
#define OMAP_KERNEL_IO_VEND (OMAP_L4_FAST_VBASE + OMAP_L4_FAST_SIZE)
#define CONSADDR_VA ((CONSADDR - OMAP_L4_CORE_BASE) + OMAP_L4_CORE_VBASE)
+#elif defined(TI_DM37XX)
+#define OMAP_L4_CORE_VBASE OMAP_KERNEL_IO_VBASE
+#define OMAP_L4_PERIPHERAL_VBASE (OMAP_L4_CORE_VBASE + OMAP_L4_CORE_SIZE)
+#define OMAP_KERNEL_IO_VEND (OMAP_L4_PERIPHERAL_VBASE + OMAP_L4_PERIPHERAL_SIZE)
+#define CONSADDR_VA ((CONSADDR - OMAP_L4_CORE_BASE) + OMAP_L4_CORE_VBASE)
#else
#error unknown OMAP variant
#endif
-
#endif /* _EVBARM_BEAGLE_BEAGLE_H */
Index: src/sys/arch/evbarm/beagle/beagle_machdep.c
diff -u src/sys/arch/evbarm/beagle/beagle_machdep.c:1.16 src/sys/arch/evbarm/beagle/beagle_machdep.c:1.17
--- src/sys/arch/evbarm/beagle/beagle_machdep.c:1.16 Mon Aug 20 12:40:40 2012
+++ src/sys/arch/evbarm/beagle/beagle_machdep.c Wed Aug 22 22:18:22 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: beagle_machdep.c,v 1.16 2012/08/20 12:40:40 matt Exp $ */
+/* $NetBSD: beagle_machdep.c,v 1.17 2012/08/22 22:18:22 matt Exp $ */
/*
* Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: beagle_machdep.c,v 1.16 2012/08/20 12:40:40 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: beagle_machdep.c,v 1.17 2012/08/22 22:18:22 matt Exp $");
#include "opt_machdep.h"
#include "opt_ddb.h"
@@ -366,7 +366,9 @@ static const struct pmap_devmap devmap[]
.pd_prot = VM_PROT_READ|VM_PROT_WRITE,
.pd_cache = PTE_NOCACHE
},
-#if defined(OMAP_L4_WAKEUP_BASE) && (OMAP_L4_WAKEUP_BASE != OMAP_L4_CORE_BASE)
+#if defined(OMAP_L4_WAKEUP_BASE) \
+ && (OMAP_L4_WAKEUP_BASE < OMAP_L4_CORE_BASE \
+ || OMAP_L4_CORE_BASE + OMAP_L4_CORE_SIZE <= OMAP_L4_WAKEUP_BASE)
{
/*
* Map all 256KB of the L4 Wakeup area
Index: src/sys/arch/evbarm/beagle/beagle_start.S
diff -u src/sys/arch/evbarm/beagle/beagle_start.S:1.7 src/sys/arch/evbarm/beagle/beagle_start.S:1.8
--- src/sys/arch/evbarm/beagle/beagle_start.S:1.7 Mon Aug 20 12:40:40 2012
+++ src/sys/arch/evbarm/beagle/beagle_start.S Wed Aug 22 22:18:22 2012
@@ -92,7 +92,7 @@
#include <arm/omap/omap2_obioreg.h>
#include <evbarm/beagle/beagle.h>
-RCSID("$NetBSD: beagle_start.S,v 1.7 2012/08/20 12:40:40 matt Exp $")
+RCSID("$NetBSD: beagle_start.S,v 1.8 2012/08/22 22:18:22 matt Exp $")
#define Invalidate_I_cache(reg) \
mcr p15, 0, reg, c7, c5, 0 /* Invalidate Entire I cache */
@@ -282,7 +282,9 @@ mmu_init_table:
(OMAP_L4_PERIPHERAL_SIZE + L1_S_SIZE - 1) / L1_S_SIZE,
L1_S_PROTO | L1_S_APv7_KRW)
-#ifdef OMAP_L4_WAKEUP_BASE
+#if defined(OMAP_L4_WAKEUP_BASE) \
+ && (OMAP_L4_WAKEUP_BASE < OMAP_L4_CORE_BASE \
+ || OMAP_L4_CORE_BASE + OMAP_L4_CORE_SIZE <= OMAP_L4_WAKEUP_BASE)
/* Map all 4MB of L4 WAKEUP (so console will work) */
MMU_INIT(OMAP_L4_WAKEUP_VBASE, OMAP_L4_WAKEUP_BASE,
(OMAP_L4_WAKEUP_SIZE + L1_S_SIZE - 1) / L1_S_SIZE,
Added files:
Index: src/sys/arch/evbarm/conf/BEAGLEBOARDXM
diff -u /dev/null src/sys/arch/evbarm/conf/BEAGLEBOARDXM:1.1
--- /dev/null Wed Aug 22 22:18:22 2012
+++ src/sys/arch/evbarm/conf/BEAGLEBOARDXM Wed Aug 22 22:18:21 2012
@@ -0,0 +1,310 @@
+#
+# $NetBSD: BEAGLEBOARDXM,v 1.1 2012/08/22 22:18:21 matt Exp $
+#
+# BEAGLEBOARD -- TI OMAP 3530 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_CORTEXA8
+options TI_DM37XX
+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 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 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_ESP # IP security (encryption part; define w/ IPSEC)
+#options IPSEC_NAT_T # IPsec NAT traversal (NAT-T)
+#options IPSEC_DEBUG # debug for IP security
+#options MROUTING # IP multicast routing
+#options PIM # Protocol Independent Multicast
+#options NS # XNS
+#options NSIP # XNS tunneling over IP
+#options ISO,TPIP # OSI
+#options EON # OSI tunneling over IP
+#options CCITT,LLC,HDLC # X.25
+#options NETATALK # AppleTalk networking
+#options PFIL_HOOKS # pfil(9) packet filter hooks
+#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
+
+#options COMPAT_43 # 4.3BSD compatibility.
+options COMPAT_50 # NetBSD 5.0 compatibility.
+options COMPAT_40 # NetBSD 4.0 compatibility.
+options COMPAT_30 # NetBSD 3.0 compatibility.
+#options COMPAT_20 # NetBSD 2.0 compatibility.
+#options COMPAT_16 # NetBSD 1.6 compatibility.
+#options COMPAT_15 # NetBSD 1.5 compatibility.
+#options COMPAT_14 # NetBSD 1.4 compatibility.
+#options COMPAT_13 # NetBSD 1.3 compatibility.
+#options COMPAT_12 # NetBSD 1.2 compatibility.
+#options COMPAT_11 # NetBSD 1.1 compatibility.
+#options COMPAT_10 # NetBSD 1.0 compatibility.
+#options COMPAT_09 # NetBSD 0.9 compatibility.
+#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended.
+#options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
+
+# 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 KMEMSTATS # kernel memory statistics
+#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 PERFCTRS # performance counters
+options DIAGNOSTIC # internally consistency checks
+#options DEBUG
+#options PMAP_DEBUG # Enable pmap_debug_level code
+#options IPKDB # remote kernel debugging
+options VERBOSE_INIT_ARM # verbose bootstraping messages
+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
+options SYMTAB_SPACE=530000
+
+## 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.
+options MEMSIZE=512
+
+# L3 Interconnect
+L3i0 at mainbus?
+
+# OBIO
+obio0 at mainbus? base 0x48000000 size 0x1000000 # L4 CORE
+obio1 at mainbus? base 0x48300000 size 0x0040000 # 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?
+
+# # I2C Controller
+# omapi2c0 at tipb? addr 0xfffb3800 intr 36 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 obio0 addr 0x48066000 intr 74 mult 4 # UART3 (console)
+#options CONSADDR=0x48066000, CONSPEED=38400
+options CONSADDR=0x48066000, 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
+options OMAP_MPU_TIMER_CLOCK_FREQ=12000000
+
+# Watchdog timers
+omapwdt32k* at obio2 addr 0x49030000 size 2048 # WDT3
+#omapwdt32k* at obio1 addr 0x4830c000 size 2048 # WDT1
+#omapwdt32k* at obio1 addr 0x48314000 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 # 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 ?
+#wd* at umass?
+#uhidev* at uhub?
+#ukbd* at uhidev?
+#ums* at uhidev?
+#wskbd* at ukbd?
+#wsmouse* at ums?
+
+#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
+
+# 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