ARM: rmobile: Ignore U-Boot env when started via JTAG on Stout
authorMarek Vasut <marek.vasut+renesas@gmail.com>
Mon, 16 Apr 2018 23:07:23 +0000 (01:07 +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/stout/stout.c

index d7e81292a0e2aece4c41403317b6178e8d11ddbd..192ee66a382fa5ec2b1d891ba903c8d062f9efe3 100644 (file)
@@ -128,3 +128,18 @@ int board_phy_config(struct phy_device *phydev)
 const struct rmobile_sysinfo sysinfo = {
        CONFIG_ARCH_RMOBILE_BOARD_STRING
 };
+
+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;
+}