diff options
author | Tero Kristo <t-kristo@ti.com> | 2014-10-27 16:39:26 +0100 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2014-10-27 16:39:26 +0100 |
commit | 61c8621e2bd14faad9b89ab2284955b28000bcd5 (patch) | |
tree | b7b24d5490f68336f06dcee1dbc50d2fc2254a55 /arch/arm/mach-omap2/prm_common.c | |
parent | ARM: OMAP3+: PRM: add generic API for reconfiguring I/O chain (diff) | |
download | linux-61c8621e2bd14faad9b89ab2284955b28000bcd5.tar.xz linux-61c8621e2bd14faad9b89ab2284955b28000bcd5.zip |
ARM: OMAP2+: PRM: provide generic API for system reset
This patch combines the various prm_warm_reset calls under a common
API prm_reset_system, and adds the SoC specific implementation under
prm_ll_data.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/prm_common.c')
-rw-r--r-- | arch/arm/mach-omap2/prm_common.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c index be40824acf5f..779940cb6e56 100644 --- a/arch/arm/mach-omap2/prm_common.c +++ b/arch/arm/mach-omap2/prm_common.c @@ -503,6 +503,25 @@ void omap_prm_reconfigure_io_chain(void) } /** + * omap_prm_reset_system - trigger global SW reset + * + * Triggers SoC specific global warm reset to reboot the device. + */ +void omap_prm_reset_system(void) +{ + if (!prm_ll_data->reset_system) { + WARN_ONCE(1, "prm: %s: no mapping function defined\n", + __func__); + return; + } + + prm_ll_data->reset_system(); + + while (1) + cpu_relax(); +} + +/** * prm_register - register per-SoC low-level data with the PRM * @pld: low-level per-SoC OMAP PRM data & function pointers to register * |