Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 692ec4ab authored by Juha Yrjola's avatar Juha Yrjola Committed by Kevin Hilman
Browse files

OMAP: Store reboot mode in scratchpad on OMAP34xx



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: default avatarJuha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
parent bf07c9f2
Loading
Loading
Loading
Loading
+11 −2
Original line number Original line Diff line number Diff line
@@ -135,9 +135,18 @@ void omap_prcm_arch_reset(char mode)


	if (cpu_is_omap24xx())
	if (cpu_is_omap24xx())
		prcm_offs = WKUP_MOD;
		prcm_offs = WKUP_MOD;
	else if (cpu_is_omap34xx())
	else if (cpu_is_omap34xx()) {
		u32 l;

		prcm_offs = OMAP3430_GR_MOD;
		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);
		WARN_ON(1);


	prm_set_mod_reg_bits(OMAP_RST_DPLL3, prcm_offs, RM_RSTCTRL);
	prm_set_mod_reg_bits(OMAP_RST_DPLL3, prcm_offs, RM_RSTCTRL);