xilinx: Add support for ENV_VARS_UBOOT_RUNTIME_CONFIG
authorMichal Simek <michal.simek@xilinx.com>
Tue, 28 Jul 2020 10:45:47 +0000 (12:45 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 20 Aug 2020 07:49:20 +0000 (09:49 +0200)
Start to use ENV_VARS_UBOOT_RUNTIME_CONFIG to enable/disable updating
variables with run time information.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/arm/Kconfig
board/xilinx/versal/board.c
board/xilinx/zynq/board.c
board/xilinx/zynqmp/zynqmp.c

index a3930b5..9b8dadc 100644 (file)
@@ -1085,6 +1085,7 @@ config ARCH_VERSAL
        select DM_SERIAL
        select OF_CONTROL
        imply BOARD_LATE_INIT
+       imply ENV_VARS_UBOOT_RUNTIME_CONFIG
 
 config ARCH_VF610
        bool "Freescale Vybrid"
@@ -1120,6 +1121,7 @@ config ARCH_ZYNQ
        imply CMD_CLK
        imply CMD_DM
        imply CMD_SPL
+       imply ENV_VARS_UBOOT_RUNTIME_CONFIG
        imply FAT_WRITE
 
 config ARCH_ZYNQMP_R5
@@ -1159,6 +1161,7 @@ config ARCH_ZYNQMP
        select ZYNQMP_IPI
        imply BOARD_LATE_INIT
        imply CMD_DM
+       imply ENV_VARS_UBOOT_RUNTIME_CONFIG
        imply FAT_WRITE
        imply MP
        imply DM_USB_GADGET
index 3dc7044..a5ca4ca 100644 (file)
@@ -116,6 +116,9 @@ int board_late_init(void)
                return 0;
        }
 
+       if (!CONFIG_IS_ENABLED(ENV_VARS_UBOOT_RUNTIME_CONFIG))
+               return 0;
+
        bootmode = versal_get_bootmode();
 
        puts("Bootmode: ");
index 2164eac..7ac069a 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <common.h>
 #include <init.h>
+#include <log.h>
 #include <dm/uclass.h>
 #include <env.h>
 #include <fdtdec.h>
@@ -33,6 +34,14 @@ int board_late_init(void)
        char *new_targets;
        char *env_targets;
 
+       if (!(gd->flags & GD_FLG_ENV_DEFAULT)) {
+               debug("Saved variables - Skipping\n");
+               return 0;
+       }
+
+       if (!CONFIG_IS_ENABLED(ENV_VARS_UBOOT_RUNTIME_CONFIG))
+               return 0;
+
        switch ((zynq_slcr_get_boot_mode()) & ZYNQ_BM_MASK) {
        case ZYNQ_BM_QSPI:
                mode = "qspi";
index 2a430a9..b4e7301 100644 (file)
@@ -568,6 +568,9 @@ int board_late_init(void)
                return 0;
        }
 
+       if (!CONFIG_IS_ENABLED(ENV_VARS_UBOOT_RUNTIME_CONFIG))
+               return 0;
+
        ret = set_fdtfile();
        if (ret)
                return ret;