diff options
Diffstat (limited to 'arch/arm/mach-omap2/omap4-common.c')
-rw-r--r-- | arch/arm/mach-omap2/omap4-common.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index eda316abbff5..6897ae21bb82 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c | |||
@@ -29,9 +29,12 @@ | |||
29 | 29 | ||
30 | #include "omap-wakeupgen.h" | 30 | #include "omap-wakeupgen.h" |
31 | #include "soc.h" | 31 | #include "soc.h" |
32 | #include "iomap.h" | ||
32 | #include "common.h" | 33 | #include "common.h" |
33 | #include "mmc.h" | 34 | #include "mmc.h" |
34 | #include "hsmmc.h" | 35 | #include "hsmmc.h" |
36 | #include "prminst44xx.h" | ||
37 | #include "prcm_mpu44xx.h" | ||
35 | #include "omap4-sar-layout.h" | 38 | #include "omap4-sar-layout.h" |
36 | #include "omap-secure.h" | 39 | #include "omap-secure.h" |
37 | #include "sram.h" | 40 | #include "sram.h" |
@@ -319,3 +322,19 @@ int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers) | |||
319 | return 0; | 322 | return 0; |
320 | } | 323 | } |
321 | #endif | 324 | #endif |
325 | |||
326 | /** | ||
327 | * omap44xx_restart - trigger a software restart of the SoC | ||
328 | * @mode: the "reboot mode", see arch/arm/kernel/{setup,process}.c | ||
329 | * @cmd: passed from the userspace program rebooting the system (if provided) | ||
330 | * | ||
331 | * Resets the SoC. For @cmd, see the 'reboot' syscall in | ||
332 | * kernel/sys.c. No return value. | ||
333 | */ | ||
334 | void omap44xx_restart(char mode, const char *cmd) | ||
335 | { | ||
336 | /* XXX Should save 'cmd' into scratchpad for use after reboot */ | ||
337 | omap4_prminst_global_warm_sw_reset(); /* never returns */ | ||
338 | while (1); | ||
339 | } | ||
340 | |||