summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap/am33xx_generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap/am33xx_generic.c')
-rw-r--r--arch/arm/mach-omap/am33xx_generic.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-omap/am33xx_generic.c b/arch/arm/mach-omap/am33xx_generic.c
index 7ce32f01e1..ae0ee585a8 100644
--- a/arch/arm/mach-omap/am33xx_generic.c
+++ b/arch/arm/mach-omap/am33xx_generic.c
@@ -19,6 +19,7 @@
#include <init.h>
#include <io.h>
#include <net.h>
+#include <restart.h>
#include <asm/barebox-arm.h>
#include <mach/am33xx-silicon.h>
#include <mach/am33xx-clock.h>
@@ -28,11 +29,11 @@
#include <mach/gpmc.h>
#include <reset_source.h>
-void __noreturn am33xx_reset_cpu(unsigned long addr)
+static void __noreturn am33xx_restart_soc(struct restart_handler *rst)
{
writel(AM33XX_PRM_RSTCTRL_RESET, AM33XX_PRM_RSTCTRL);
- while (1);
+ hang();
}
/**
@@ -243,6 +244,8 @@ int am33xx_init(void)
{
omap_gpmc_base = (void *)AM33XX_GPMC_BASE;
+ restart_handler_register_fn(am33xx_restart_soc);
+
am33xx_enable_per_clocks();
if (IS_ENABLED(CONFIG_RESET_SOURCE))