From: Juha Yrjola <juha.yrj...@solidboot.com>

The reboot mode can be communicated to a bootloader (or the
kernel itself) with a scratchpad register. This functionality
is especially useful, if userspace is allowed to change
the reboot mode.

Signed-off-by: Juha Yrjola <juha.yrj...@solidboot.com>
Acked-by: Kevin Hilman <khil...@deeprootsystems.com>
Signed-off-by: Tony Lindgren <t...@atomide.com>
Signed-off-by: Kevin Hilman <khil...@deeprootsystems.com>
---
 arch/arm/mach-omap2/prcm.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
index 99ff439..ce17eb1 100644
--- a/arch/arm/mach-omap2/prcm.c
+++ b/arch/arm/mach-omap2/prcm.c
@@ -134,9 +134,18 @@ void omap_prcm_arch_reset(char mode)
 
        if (cpu_is_omap24xx())
                prcm_offs = WKUP_MOD;
-       else if (cpu_is_omap34xx())
+       else if (cpu_is_omap34xx()) {
+               u32 l;
+
                prcm_offs = OMAP3430_GR_MOD;
-       else
+               l = ('B' << 24) | ('M' << 16) | mode;
+               /* Reserve the first word in scratchpad for communicating
+                * with the boot ROM. A pointer to a data structure
+                * describing the boot process can be stored there,
+                * cf. OMAP34xx TRM, Initialization / Software Booting
+                * Configuration. */
+               omap_writel(l, OMAP343X_SCRATCHPAD + 4);
+       } else
                WARN_ON(1);
 
        prm_set_mod_reg_bits(OMAP_RST_DPLL3, prcm_offs, RM_RSTCTRL);
-- 
1.6.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to