diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2009-03-27 23:26:43 +0100 |
---|---|---|
committer | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2009-04-04 20:42:21 +0200 |
commit | f82518d7f443ebac5f8821103a3c521c963aa6ee (patch) | |
tree | 2e9d268371311b19943e5f41ec6d15dfdeb7e766 /cpu/arm920t/at91rm9200/interrupts.c | |
parent | 3524049cd053746298e4cfab2449882e75c146fc (diff) | |
download | u-boot-imx-f82518d7f443ebac5f8821103a3c521c963aa6ee.zip u-boot-imx-f82518d7f443ebac5f8821103a3c521c963aa6ee.tar.gz u-boot-imx-f82518d7f443ebac5f8821103a3c521c963aa6ee.tar.bz2 |
at91rm9200: Reset update
Update the rm9200 reset sequence to try executing a board-specific reset
function and move specific board reset to board.
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'cpu/arm920t/at91rm9200/interrupts.c')
-rw-r--r-- | cpu/arm920t/at91rm9200/interrupts.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/cpu/arm920t/at91rm9200/interrupts.c b/cpu/arm920t/at91rm9200/interrupts.c index 15e22bf..cff4916 100644 --- a/cpu/arm920t/at91rm9200/interrupts.c +++ b/cpu/arm920t/at91rm9200/interrupts.c @@ -45,6 +45,8 @@ AT91PS_TC tmr; static ulong timestamp; static ulong lastinc; +void board_reset(void) __attribute__((__weak__)); + int interrupt_init (void) { tmr = AT91C_BASE_TC0; @@ -166,21 +168,13 @@ ulong get_tbclk (void) void reset_cpu (ulong ignored) { -#ifdef CONFIG_AT91RM9200DK - AT91PS_PIO pio = AT91C_BASE_PIOA; -#endif - #if defined(CONFIG_AT91RM9200_USART) /*shutdown the console to avoid strange chars during reset */ serial_exit(); #endif -#ifdef CONFIG_AT91RM9200DK - /* Clear PA19 to trigger the hard reset */ - pio->PIO_CODR = 0x00080000; - pio->PIO_OER = 0x00080000; - pio->PIO_PER = 0x00080000; -#endif + if (board_reset) + board_reset(); /* this is the way Linux does it */ |