Instead of hardcoding index magic numbers in the board code,
also rely on board_fit_config_name_match choosing the right
config for the fitImage containing the kernel.

Signed-off-by: Sebastian Reichel <sebastian.reic...@collabora.com>
---
 board/ge/bx50v3/bx50v3.c    | 16 ++++++++++------
 include/configs/ge_bx50v3.h |  4 ++--
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/board/ge/bx50v3/bx50v3.c b/board/ge/bx50v3/bx50v3.c
index 4754647fb4ad..a3ae037a82ef 100644
--- a/board/ge/bx50v3/bx50v3.c
+++ b/board/ge/bx50v3/bx50v3.c
@@ -356,15 +356,12 @@ static void process_vpd(struct vpd_cache *vpd)
 
        switch (vpd->product_id) {
        case VPD_PRODUCT_B450:
-               env_set("confidx", "1");
                i210_index = 1;
                break;
        case VPD_PRODUCT_B650:
-               env_set("confidx", "2");
                i210_index = 1;
                break;
        case VPD_PRODUCT_B850:
-               env_set("confidx", "3");
                i210_index = 2;
                break;
        }
@@ -554,16 +551,23 @@ int ft_board_setup(void *blob, struct bd_info *bd)
 
 int board_fit_config_name_match(const char *name)
 {
+       const char *machine = name;
+
        if (!vpd.is_read)
                return strcmp(name, "imx6q-bx50v3");
 
+       if (!strncmp(machine, "Boot ", 5))
+               machine += 5;
+       if (!strncmp(machine, "imx6q-", 6))
+               machine += 6;
+
        switch (vpd.product_id) {
        case VPD_PRODUCT_B450:
-               return strcmp(name, "imx6q-b450v3");
+               return strcasecmp(machine, "b450v3");
        case VPD_PRODUCT_B650:
-               return strcmp(name, "imx6q-b650v3");
+               return strcasecmp(machine, "b650v3");
        case VPD_PRODUCT_B850:
-               return strcmp(name, "imx6q-b850v3");
+               return strcasecmp(machine, "b850v3");
        default:
                return -1;
        }
diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h
index e5c580b3f910..2d854af9a06d 100644
--- a/include/configs/ge_bx50v3.h
+++ b/include/configs/ge_bx50v3.h
@@ -62,7 +62,7 @@
         "networkboot=" \
                 "run setnetworkboot; " \
                 "nfs ${loadaddr} /srv/nfs/fitImage; " \
-                "bootm ${loadaddr}#conf@${confidx}\0" \
+                "bootm ${loadaddr}\0" \
 
 #define CONFIG_NETWORKBOOTCOMMAND \
        "run networkboot; " \
@@ -111,7 +111,7 @@
        "doboot=" \
                "echo Booting from ${dev}:${devnum}:${partnum} ...; " \
                "run setargs; " \
-               "bootm ${loadaddr}#conf@${confidx}\0" \
+               "bootm ${loadaddr}\0" \
        "tryboot=" \
                "setenv partnum 1; run hasfirstboot || setenv partnum 2; " \
                "run loadimage || run swappartitions && run loadimage || " \
-- 
2.29.2

Reply via email to