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

Reply via email to