Module Name: src
Committed By: matt
Date: Tue Sep 4 00:19:20 UTC 2012
Modified Files:
src/sys/arch/evbarm/beagle: beagle_machdep.c
src/sys/arch/evbarm/conf: IGEPV2 files.beagle std.igepv2
Log Message:
Make reset work on beagle again.
Add nand (not yet working) and prcm to IGEPV2.
Add smsh to IGEPV2 (use attachment from gumstix).
Turn on a few options for IGEPV2.
To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/evbarm/beagle/beagle_machdep.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/evbarm/conf/IGEPV2
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/evbarm/conf/files.beagle
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbarm/conf/std.igepv2
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/evbarm/beagle/beagle_machdep.c
diff -u src/sys/arch/evbarm/beagle/beagle_machdep.c:1.20 src/sys/arch/evbarm/beagle/beagle_machdep.c:1.21
--- src/sys/arch/evbarm/beagle/beagle_machdep.c:1.20 Sat Sep 1 00:20:49 2012
+++ src/sys/arch/evbarm/beagle/beagle_machdep.c Tue Sep 4 00:19:20 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: beagle_machdep.c,v 1.20 2012/09/01 00:20:49 matt Exp $ */
+/* $NetBSD: beagle_machdep.c,v 1.21 2012/09/04 00:19:20 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.20 2012/09/01 00:20:49 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: beagle_machdep.c,v 1.21 2012/09/04 00:19:20 matt Exp $");
#include "opt_machdep.h"
#include "opt_ddb.h"
@@ -175,6 +175,7 @@ __KERNEL_RCSID(0, "$NetBSD: beagle_machd
#include <evbarm/beagle/beagle.h>
+#include "prcm.h"
#include "omapwdt32k.h"
BootConfig bootconfig; /* Boot config storage */
@@ -200,6 +201,7 @@ static void kgdb_port_init(void);
#endif
static void init_clocks(void);
+static void beagle_reset(void);
#if defined(OMAP_3530) || defined(TI_DM37XX)
static void omap3_cpu_clk(void);
#endif
@@ -385,6 +387,8 @@ initarm(void *arg)
kgdb_port_init();
#endif
+ cpu_reset_address = beagle_reset;
+
#ifdef VERBOSE_INIT_ARM
/* Talk to the user */
printf("\nNetBSD/evbarm (beagle) booting ...\n");
@@ -480,6 +484,17 @@ consinit(void)
beagle_putchar('g');
}
+void
+beagle_reset(void)
+{
+#if NPRCM > 0
+ prcm_cold_reset();
+#endif
+#if NOMAPWDT32K > 0
+ omapwdt32k_reboot();
+#endif
+}
+
#ifdef KGDB
#ifndef KGDB_DEVADDR
#error Specify the address of the kgdb UART with the KGDB_DEVADDR option.
Index: src/sys/arch/evbarm/conf/IGEPV2
diff -u src/sys/arch/evbarm/conf/IGEPV2:1.10 src/sys/arch/evbarm/conf/IGEPV2:1.11
--- src/sys/arch/evbarm/conf/IGEPV2:1.10 Thu Aug 23 00:20:16 2012
+++ src/sys/arch/evbarm/conf/IGEPV2 Tue Sep 4 00:19:20 2012
@@ -1,5 +1,5 @@
#
-# $NetBSD: IGEPV2,v 1.10 2012/08/23 00:20:16 kiyohara Exp $
+# $NetBSD: IGEPV2,v 1.11 2012/09/04 00:19:20 matt Exp $
#
# IGEPv2 -- TI OMAP 3530 Eval Board Kernel
#
@@ -180,6 +180,33 @@ obio2 at mainbus? base 0x49000000 size
# General Purpose Memory Controller
gpmc0 at mainbus? base 0x6e000000
+smsh0 at gpmc0 addr 0x2c000000 intr 272 # gpio5 16 (gpio 176)
+ukphy* at mii?
+
+# 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 0x20000000
+
+# 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
@@ -187,7 +214,7 @@ omapgpio0 at obio1 addr 0x48310000 size
#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
+omapgpio5 at obio2 addr 0x49058000 size 0x0400 intrbase 256 intr 34
gpio* at omapgpio?
@@ -219,6 +246,9 @@ omapwdt32k* at obio2 addr 0x49030000 siz
#omapwdt32k* at obio1 addr 0x4830c000 size 2048 # WDT1
#omapwdt32k* at obio1 addr 0x48314000 size 2048 # WDT2
+# 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
Index: src/sys/arch/evbarm/conf/files.beagle
diff -u src/sys/arch/evbarm/conf/files.beagle:1.2 src/sys/arch/evbarm/conf/files.beagle:1.3
--- src/sys/arch/evbarm/conf/files.beagle:1.2 Sat Sep 1 00:20:49 2012
+++ src/sys/arch/evbarm/conf/files.beagle Tue Sep 4 00:19:20 2012
@@ -1,4 +1,4 @@
-# $NetBSD: files.beagle,v 1.2 2012/09/01 00:20:49 matt Exp $
+# $NetBSD: files.beagle,v 1.3 2012/09/04 00:19:20 matt Exp $
#
# TI OMAP2 evaluation board configuration info
#
@@ -21,3 +21,5 @@ attach com at obio with obiouart
file arch/arm/omap/obio_com.c obiouart
defparam opt_com.h CONSADDR CONSPEED CONMODE
+attach smsh at gpmc with smsh_gpmc
+file arch/evbarm/gumstix/if_smsh_gpmc.c smsh_gpmc
Index: src/sys/arch/evbarm/conf/std.igepv2
diff -u src/sys/arch/evbarm/conf/std.igepv2:1.3 src/sys/arch/evbarm/conf/std.igepv2:1.4
--- src/sys/arch/evbarm/conf/std.igepv2:1.3 Wed Aug 29 07:14:05 2012
+++ src/sys/arch/evbarm/conf/std.igepv2 Tue Sep 4 00:19:20 2012
@@ -1,4 +1,4 @@
-# $NetBSD: std.igepv2,v 1.3 2012/08/29 07:14:05 matt Exp $
+# $NetBSD: std.igepv2,v 1.4 2012/09/04 00:19:20 matt Exp $
#
# standard NetBSD/evbarm for IGEPV2 options
@@ -14,9 +14,10 @@ options EXEC_SCRIPT
# To support easy transit to ../arch/arm/arm32
options ARM32
options CORTEX_PMC
-options CORTEX_PMC_CCNT_HZ=720000000
+options __HAVE_CPU_COUNTER
options __HAVE_FAST_SOFTINTS # should be in types.h
-#options TPIDRPRW_IS_CURLWP
+options __HAVE_CPU_UAREA_ALLOC_IDLELWP
+options TPIDRPRW_IS_CURCPU
options KERNEL_BASE_EXT=0x80000000
makeoptions LOADADDRESS="0x80300000"