rockchip: Fix spl mmc boot device ofpath
authorJagan Teki <jagan@amarulasolutions.com>
Sun, 24 May 2020 14:56:18 +0000 (20:26 +0530)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 29 May 2020 09:58:21 +0000 (17:58 +0800)
Linux v5.7-rc1 dts(i) sync has changed the sdmmc node from
dwmmc@fe320000 to mmc@fe320000 and this ofpath is being
used in rockchip spl bootdevice code.

So, update the ofpath with a new node name and prefix "same-as-spl"
to missing u-boot,spl-boot-order.

Bug log:
U-Boot SPL 2020.07-rc2-00256-g9c5fef5774 (May 24 2020 - 20:20:43 +0530)
Trying to boot from MMC2
mmc_load_image_raw_sector: mmc block read error
Trying to boot from MMC1
mmc_load_image_raw_sector: mmc block read error
SPL: failed to boot from all boot devices

Fixes: 167efc2c7a46 ("arm64: dts: rk3399: Sync v5.7-rc1 from Linux"
Signed-off-by: Suniel Mahesh <sunil@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/dts/rk3399-evb-u-boot.dtsi
arch/arm/dts/rk3399-ficus-u-boot.dtsi
arch/arm/dts/rk3399-rock960-u-boot.dtsi
arch/arm/mach-rockchip/rk3399/rk3399.c
board/theobroma-systems/puma_rk3399/puma-rk3399.c

index e5659d7..0bb50b0 100644 (file)
@@ -8,7 +8,7 @@
 
 / {
        chosen {
-               u-boot,spl-boot-order = &sdhci, &sdmmc;
+               u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
        };
 };
 
index f3f7aa7..38e0897 100644 (file)
@@ -8,6 +8,6 @@
 
 / {
        chosen {
-               u-boot,spl-boot-order = &sdhci, &sdmmc;
+               u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
        };
 };
index 82f2c31..c190089 100644 (file)
@@ -8,7 +8,7 @@
 
 / {
        chosen {
-               u-boot,spl-boot-order = &sdhci, &sdmmc;
+               u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
        };
 
        vdd_log: vdd-log {
index 09b0d6e..4fda93b 100644 (file)
@@ -28,7 +28,7 @@ DECLARE_GLOBAL_DATA_PTR;
 const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
        [BROM_BOOTSOURCE_EMMC] = "/sdhci@fe330000",
        [BROM_BOOTSOURCE_SPINOR] = "/spi@ff1d0000",
-       [BROM_BOOTSOURCE_SD] = "/dwmmc@fe320000",
+       [BROM_BOOTSOURCE_SD] = "/mmc@fe320000",
 };
 
 static struct mm_region rk3399_mem_map[] = {
@@ -176,7 +176,7 @@ const char *spl_decode_boot_device(u32 boot_device)
                u32 boot_device;
                const char *ofpath;
        } spl_boot_devices_tbl[] = {
-               { BOOT_DEVICE_MMC1, "/dwmmc@fe320000" },
+               { BOOT_DEVICE_MMC1, "/mmc@fe320000" },
                { BOOT_DEVICE_MMC2, "/sdhci@fe330000" },
                { BOOT_DEVICE_SPI, "/spi@ff1d0000" },
        };
index 561579d..f7f08ae 100644 (file)
@@ -77,7 +77,7 @@ static int setup_boottargets(void)
        }
 
        /*
-        * Only run, if booting from mmc1 (i.e. /dwmmc@fe320000) and
+        * Only run, if booting from mmc1 (i.e. /mmc@fe320000) and
         * only consider cases where the default boot-order first
         * tries to boot from mmc0 (eMMC) and then from mmc1
         * (i.e. external SD).
@@ -85,7 +85,7 @@ static int setup_boottargets(void)
         * In other words: the SD card will be moved to earlier in the
         * order, if U-Boot was also loaded from the SD-card.
         */
-       if (!strcmp(boot_device, "/dwmmc@fe320000")) {
+       if (!strcmp(boot_device, "/mmc@fe320000")) {
                char *mmc0, *mmc1;
 
                debug("%s: booted from SD-Card\n", __func__);