X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fmips%2Fau1000%2Fcommon%2Freset.c;h=65b84db800e4d63ff65d94ebc38df9a47e000fd1;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=5bbc6cf059f16dfa0c19e7354cfcb68bb7f75c5a;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/mips/au1000/common/reset.c b/arch/mips/au1000/common/reset.c index 5bbc6cf05..65b84db80 100644 --- a/arch/mips/au1000/common/reset.c +++ b/arch/mips/au1000/common/reset.c @@ -43,6 +43,7 @@ extern void (*flush_cache_all)(void); void au1000_restart(char *command) { /* Set all integrated peripherals to disabled states */ + extern void board_reset (void); u32 prid = read_c0_prid(); printk(KERN_NOTICE "\n** Resetting Integrated Peripherals\n"); @@ -154,18 +155,10 @@ void au1000_restart(char *command) flush_cache_all(); write_c0_wired(0); -#if defined(CONFIG_MIPS_PB1500) || defined(CONFIG_MIPS_PB1100) || defined(CONFIG_MIPS_DB1000) || defined(CONFIG_MIPS_DB1100) || defined(CONFIG_MIPS_DB1500) - /* Do a HW reset if the board can do it */ - - au_writel(0x00000000, 0xAE00001C); -#endif - -#if defined(CONFIG_MIPS_PB1550) - /* reset entire system */ - au_writew(au_readw(0xAF00001C) & ~(1<<15), 0xAF00001C); - au_sync(); -#endif + /* Give board a chance to do a hardware reset */ + board_reset(); + /* Jump to the beggining in case board_reset() is empty */ __asm__ __volatile__("jr\t%0"::"r"(0xbfc00000)); }