diff options
author | Philippe Langlais <philippe.langlais@linaro.org> | 2011-04-12 12:53:13 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 15:14:49 +0200 |
commit | 8a95c3f51896af123cd160880e70be4cda30d1bc (patch) | |
tree | 3648d40bcb512e1eb0fd68be71189b27a9529467 /arch/arm/mach-ux500/cpu.c | |
parent | 49c66739db0adfe3e424b4baf50e2a166c2950f1 (diff) |
mach-ux500: full alignment with 2.6.35
Diffstat (limited to 'arch/arm/mach-ux500/cpu.c')
-rw-r--r-- | arch/arm/mach-ux500/cpu.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c index a1467757fb1..d8a62845791 100644 --- a/arch/arm/mach-ux500/cpu.c +++ b/arch/arm/mach-ux500/cpu.c @@ -10,6 +10,7 @@ #include <linux/clk.h> #include <linux/mfd/db8500-prcmu.h> #include <linux/mfd/db5500-prcmu.h> +#include <linux/delay.h> #include <asm/cacheflush.h> #include <asm/hardware/cache-l2x0.h> @@ -32,6 +33,15 @@ void __iomem *_PRCMU_BASE; static void __iomem *l2x0_base; #endif +static void ux500_restart(char mode, const char *cmd) +{ + prcmu_system_reset(); + + mdelay(1000); + printk("Reboot via PRCMU failed -- System halted\n"); + while (1); +} + void __init ux500_init_irq(void) { void __iomem *dist_base; @@ -54,8 +64,11 @@ void __init ux500_init_irq(void) */ if (cpu_is_u5500()) db5500_prcmu_early_init(); - if (cpu_is_u8500()) + if (cpu_is_u8500()) { prcmu_early_init(); + arm_pm_restart = ux500_restart; + } + clk_init(); } |