[PATCH 24/32] Blackfin arch: cache SWRST value at bootup so other things like watchdog can non-destructively query it

From: Bryan Wu
Date: Mon May 21 2007 - 06:12:25 EST


From: Mike Frysinger <michael.frysinger@xxxxxxxxxx>

Signed-off-by: Mike Frysinger <michael.frysinger@xxxxxxxxxx>
Signed-off-by: Bryan Wu <bryan.wu@xxxxxxxxxx>
---
arch/blackfin/kernel/setup.c | 8 ++++++++
include/asm-blackfin/bfin-global.h | 1 +
2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index b6ac6f8..02dc743 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -43,6 +43,8 @@
#include <asm/blackfin.h>
#include <asm/cplbinit.h>

+u16 _bfin_swrst;
+
unsigned long memory_start, memory_end, physical_mem_end;
unsigned long reserved_mem_dcache_on;
unsigned long reserved_mem_icache_on;
@@ -381,6 +383,12 @@ void __init setup_arch(char **cmdline_p)
if (l1_length > L1_DATA_A_LENGTH)
panic("L1 memory overflow\n");

+#ifdef BF561_FAMILY
+ _bfin_swrst = bfin_read_SICA_SWRST();
+#else
+ _bfin_swrst = bfin_read_SWRST();
+#endif
+
bf53x_cache_init();

printk(KERN_INFO "Hardware Trace Enabled\n");
diff --git a/include/asm-blackfin/bfin-global.h b/include/asm-blackfin/bfin-global.h
index e37f816..57f37cc 100644
--- a/include/asm-blackfin/bfin-global.h
+++ b/include/asm-blackfin/bfin-global.h
@@ -104,6 +104,7 @@ extern unsigned long dpdt_swapcount_table[];

extern unsigned long table_start, table_end;

+extern u16 _bfin_swrst; /* shadow for Software Reset Register (SWRST) */
extern struct file_operations dpmc_fops;
extern char _start;
extern unsigned long _ramstart, _ramend, _rambase;
--
1.5.1.2
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/