summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap/omap_generic.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-11-21 15:04:35 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-11-22 11:25:01 +0100
commitf56a48471a13c98a5f7a5a9ade1c8f2914bd4907 (patch)
tree2079bfe48c273a6243a428619851e9dae23a93e9 /arch/arm/mach-omap/omap_generic.c
parentf6b399ef9b293716954e7ae56a03b354f29a87e2 (diff)
downloadbarebox-f56a48471a13c98a5f7a5a9ade1c8f2914bd4907.tar.gz
barebox-f56a48471a13c98a5f7a5a9ade1c8f2914bd4907.tar.xz
ARM: OMAP: select correct reset_cpu function at runtime
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-omap/omap_generic.c')
-rw-r--r--arch/arm/mach-omap/omap_generic.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-omap/omap_generic.c b/arch/arm/mach-omap/omap_generic.c
index 79e37e2341..2c12ad47ef 100644
--- a/arch/arm/mach-omap/omap_generic.c
+++ b/arch/arm/mach-omap/omap_generic.c
@@ -25,6 +25,9 @@
#include <mach/am33xx-silicon.h>
#include <mach/omap3-silicon.h>
#include <mach/omap4-silicon.h>
+#include <mach/am33xx-generic.h>
+#include <mach/omap3-generic.h>
+#include <mach/omap4-generic.h>
static void *omap_sram_start(void)
{
@@ -130,3 +133,14 @@ static int omap_env_init(void)
}
late_initcall(omap_env_init);
#endif
+
+void __noreturn reset_cpu(unsigned long addr)
+{
+ if (cpu_is_omap34xx())
+ omap3_reset_cpu(addr);
+ if (cpu_is_omap4xxx())
+ omap4_reset_cpu(addr);
+ if (cpu_is_am33xx())
+ am33xx_reset_cpu(addr);
+ while (1);
+}