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 <cont...@paulk.fr>
---
 arch/arm/cpu/armv7/omap4/boot.c | 4 ++++
 1 file changed, 4 insertions(+)

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;
 
-- 
2.6.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to