diff options
-rw-r--r-- | arch/arm/mach-omap/include/mach/omap3-silicon.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-omap/omap3_generic.c | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-omap/include/mach/omap3-silicon.h b/arch/arm/mach-omap/include/mach/omap3-silicon.h index 0e6a45f8fd..67f77476a9 100644 --- a/arch/arm/mach-omap/include/mach/omap3-silicon.h +++ b/arch/arm/mach-omap/include/mach/omap3-silicon.h @@ -132,5 +132,8 @@ #define OMAP_SDRC_CS0 0x80000000 #define OMAP_SDRC_CS1 0xA0000000 +/* PRM */ +#define PRM_RSTCTRL_RESET 0x04 + #endif /* __ASM_ARCH_OMAP3_H */ diff --git a/arch/arm/mach-omap/omap3_generic.c b/arch/arm/mach-omap/omap3_generic.c index 661a971fc0..9627a6b1e4 100644 --- a/arch/arm/mach-omap/omap3_generic.c +++ b/arch/arm/mach-omap/omap3_generic.c @@ -59,8 +59,9 @@ */ void __noreturn reset_cpu(unsigned long addr) { - /* FIXME: Enable WDT and cause reset */ - hang(); + writel(PRM_RSTCTRL_RESET, PRM_REG(RSTCTRL)); + + while (1); } EXPORT_SYMBOL(reset_cpu); |