|
@@ -135,9 +135,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);
|