diff options
Diffstat (limited to 'arch/arm/mach-at91/at91sam9260.c')
-rw-r--r-- | arch/arm/mach-at91/at91sam9260.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index 8975bf4665..56327a2c47 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c @@ -1,8 +1,11 @@ #include <common.h> #include <gpio.h> #include <init.h> +#include <restart.h> #include <mach/hardware.h> #include <mach/at91_pmc.h> +#include <mach/board.h> +#include <mach/at91_rstc.h> #include "generic.h" #include "clock.h" @@ -221,6 +224,12 @@ static void __init at91sam9260_register_clocks(void) clk_register(&pck1); } +static void at91sam9260_restart(struct restart_handler *rst) +{ + at91sam9_reset(IOMEM(AT91SAM9260_BASE_SDRAMC), + IOMEM(AT91SAM9260_BASE_RSTC + AT91_RSTC_CR)); +} + static void at91sam9260_initialize(void) { /* Register the processor-specific clocks */ @@ -233,6 +242,8 @@ static void at91sam9260_initialize(void) at91_add_pit(AT91SAM9260_BASE_PIT); at91_add_sam9_smc(DEVICE_ID_SINGLE, AT91SAM9260_BASE_SMC, 0x200); + + restart_handler_register_fn(at91sam9260_restart); } static int at91sam9260_setup(void) |