colibri-imx6ull: use preboot for fdtfile evaluation
authorIgor Opaniuk <igor.opaniuk@toradex.com>
Mon, 14 Sep 2020 08:01:08 +0000 (11:01 +0300)
committerStefano Babic <sbabic@denx.de>
Thu, 17 Sep 2020 12:39:09 +0000 (14:39 +0200)
Enable and set preboot var with fdtfile evaluation.
preboot will be checked and run immediately before starting the
CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp.
entering interactive mode.

This provides possibility to use different boot cmds in interactive mode
without manual setting fdtfile value, as it it's already evaluated
before entering interactive mode.

Fixes: board: 31b1e17f44("toradex: add Colibri iMX6ULL support")
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
configs/colibri-imx6ull_defconfig
include/configs/colibri-imx6ull.h

index 3defaf0..6ef5dff 100644 (file)
@@ -14,6 +14,8 @@ CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/toradex/colibri-imx6ull/imximage.cfg,
 CONFIG_BOOTDELAY=1
 # CONFIG_USE_BOOTCOMMAND is not set
 # CONFIG_CONSOLE_MUX is not set
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="setenv fdtfile imx6ull-colibri${variant}-${fdt_board}.dtb"
 CONFIG_SYS_CONSOLE_IS_IN_ENV=y
 CONFIG_VERSION_VARIABLE=y
 # CONFIG_DISPLAY_BOARDINFO is not set
index 530240f..63b3fef 100644 (file)
@@ -35,8 +35,6 @@
 #define CONFIG_NETMASK                 255.255.255.0
 #define CONFIG_SERVERIP                        192.168.10.1
 
-#define FDT_FILE "imx6ull-colibri${variant}-${fdt_board}.dtb"
-
 #define MEM_LAYOUT_ENV_SETTINGS \
        "bootm_size=0x10000000\0" \
        "fdt_addr_r=0x82100000\0" \
@@ -57,7 +55,7 @@
                "setenv bootargs ${defargs} ${nfsargs} " \
                "${setupargs} ${vidargs}; echo Booting from NFS...;" \
                "dhcp ${kernel_addr_r} && " \
-               "tftp ${fdt_addr_r} " FDT_FILE " && " \
+               "tftp ${fdt_addr_r} ${fdtfile} && " \
                "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
 
 #define UBI_BOOTCMD \
@@ -71,8 +69,8 @@
                "ubi read ${fdt_addr_r} dtb && " \
                "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
 
-#define CONFIG_BOOTCOMMAND "run ubiboot; " \
-       "setenv fdtfile " FDT_FILE " && run distro_bootcmd;"
+/* Run Distro Boot script if ubiboot fails */
+#define CONFIG_BOOTCOMMAND "run ubiboot || run distro_bootcmd;"
 
 #define BOOT_TARGET_DEVICES(func) \
        func(MMC, mmc, 0) \