summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/prm_common.c
diff options
context:
space:
mode:
authorTero Kristo <t-kristo@ti.com>2014-10-27 16:39:26 +0100
committerTony Lindgren <tony@atomide.com>2014-10-27 16:39:26 +0100
commit61c8621e2bd14faad9b89ab2284955b28000bcd5 (patch)
treeb7b24d5490f68336f06dcee1dbc50d2fc2254a55 /arch/arm/mach-omap2/prm_common.c
parentARM: OMAP3+: PRM: add generic API for reconfiguring I/O chain (diff)
downloadlinux-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.c19
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
*