summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Kilb <J.Kilb@phytec.de>2011-09-09 14:10:53 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-09-12 12:31:08 +0200
commit9c2a52539828710fa239b9d772c3d3538a87355d (patch)
treeb8dd2db9729cf0414db94cda320c7528e49d243e
parent8cc995ed42c7277ce1210bcfa42b60f4f8c6b9e0 (diff)
downloadbarebox-9c2a52539828710fa239b9d772c3d3538a87355d.tar.gz
barebox-9c2a52539828710fa239b9d772c3d3538a87355d.tar.xz
Add Reset Support for omap3.
Inspired from reset_cpu in omap4_generic.c. Signed-off-by: Juergen Kilb <j.kilb@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/mach-omap/include/mach/omap3-silicon.h3
-rw-r--r--arch/arm/mach-omap/omap3_generic.c5
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);