From a9c59c2746c7e773839d51027c0e16ccf41f8fef Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 21 May 2007 18:09:32 +0800 Subject: Blackfin arch: cache SWRST value at bootup so other things like watchdog can non-destructively query it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: Linus Torvalds --- arch/blackfin/kernel/setup.c | 8 ++++++++ include/asm-blackfin/bfin-global.h | 1 + 2 files changed, 9 insertions(+) diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index b6ac6f8067b..02dc7430192 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c @@ -43,6 +43,8 @@ #include #include +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 e37f81609fc..57f37ccdcdf 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; -- cgit v1.2.3-70-g09d2