diff mbox

[U-Boot,20/27] omap4: Check warm reset for reboot mode validity

Message ID 1456597155-10711-21-git-send-email-contact@paulk.fr
State Accepted
Commit 69847dd8f0fd8ef7a5c751a6f117879b501c39fc
Delegated to: Tom Rini
Headers show

Commit Message

Paul Kocialkowski Feb. 27, 2016, 6:19 p.m. UTC
Since the SAR registers are filled with garbage on cold reset, this checks for a
warm reset to assert the validity of reboot mode.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
---
 arch/arm/cpu/armv7/omap4/boot.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Tom Rini March 17, 2016, 1:59 a.m. UTC | #1
On Sat, Feb 27, 2016 at 07:19:08PM +0100, Paul Kocialkowski wrote:

> Since the SAR registers are filled with garbage on cold reset, this checks for a
> warm reset to assert the validity of reboot mode.
> 
> Signed-off-by: Paul Kocialkowski <contact@paulk.fr>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/omap4/boot.c b/arch/arm/cpu/armv7/omap4/boot.c
index bae49f4..7f5791e 100644
--- a/arch/arm/cpu/armv7/omap4/boot.c
+++ b/arch/arm/cpu/armv7/omap4/boot.c
@@ -9,6 +9,7 @@ 
 #include <common.h>
 #include <asm/io.h>
 #include <asm/omap_common.h>
+#include <asm/arch/sys_proto.h>
 #include <spl.h>
 
 static u32 boot_devices[] = {
@@ -67,6 +68,9 @@  int omap_reboot_mode(char *mode, unsigned int length)
 	if (length < 2)
 		return -1;
 
+	if (!warm_reset())
+		return -1;
+
 	limit = (length < OMAP_REBOOT_REASON_SIZE) ? length :
 		OMAP_REBOOT_REASON_SIZE;