diff options
Diffstat (limited to 'arch/arm/mach-mvebu/dove.c')
-rw-r--r-- | arch/arm/mach-mvebu/dove.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/mach-mvebu/dove.c b/arch/arm/mach-mvebu/dove.c index a7284fd33a..ba4af3aae9 100644 --- a/arch/arm/mach-mvebu/dove.c +++ b/arch/arm/mach-mvebu/dove.c @@ -17,6 +17,7 @@ #include <common.h> #include <init.h> #include <io.h> +#include <restart.h> #include <asm/memory.h> #include <linux/mbus.h> #include <mach/dove-regs.h> @@ -68,13 +69,13 @@ static inline void dove_memory_find(unsigned long *phys_base, } } -static void __noreturn dove_reset_cpu(unsigned long addr) +static void __noreturn dove_restart_soc(struct restart_handler *rst) { /* enable and assert RSTOUTn */ writel(SOFT_RESET_OUT_EN, DOVE_BRIDGE_BASE + BRIDGE_RSTOUT_MASK); writel(SOFT_RESET_EN, DOVE_BRIDGE_BASE + BRIDGE_SYS_SOFT_RESET); - while (1) - ; + + hang(); } static int dove_init_soc(struct device_node *root, void *context) @@ -84,7 +85,7 @@ static int dove_init_soc(struct device_node *root, void *context) if (!of_machine_is_compatible("marvell,dove")) return 0; - mvebu_set_reset(dove_reset_cpu); + restart_handler_register_fn(dove_restart_soc); barebox_set_model("Marvell Dove"); barebox_set_hostname("dove"); |