ARM: rmobile: Ignore U-Boot env when started via JTAG on Porter
authorMarek Vasut <marek.vasut+renesas@gmail.com>
Tue, 17 Apr 2018 00:49:48 +0000 (02:49 +0200)
committerMarek Vasut <marex@denx.de>
Tue, 17 Apr 2018 09:38:56 +0000 (11:38 +0200)
When U-Boot is started via JTAG, ignore the installed environment
as it may interfere with the recovery of the board.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
board/renesas/porter/porter.c

index acd4f91..eb66bc9 100644 (file)
@@ -11,6 +11,7 @@
 #include <malloc.h>
 #include <dm.h>
 #include <dm/platform_data/serial_sh.h>
+#include <environment.h>
 #include <asm/processor.h>
 #include <asm/mach-types.h>
 #include <asm/io.h>
@@ -136,3 +137,18 @@ void reset_cpu(ulong addr)
        if (ret)
                hang();
 }
+
+enum env_location env_get_location(enum env_operation op, int prio)
+{
+       const u32 load_magic = 0xb33fc0de;
+
+       /* Block environment access if loaded using JTAG */
+       if ((readl(CONFIG_SPL_TEXT_BASE + 0x24) == load_magic) &&
+           (op != ENVOP_INIT))
+               return ENVL_UNKNOWN;
+
+       if (prio)
+               return ENVL_UNKNOWN;
+
+       return ENVL_SPI_FLASH;
+}