armv8: ls2088aqds: Fix MC firmware loading during SD boot
authorWasim Khan <wasim.khan@nxp.com>
Mon, 10 Jun 2019 10:17:27 +0000 (10:17 +0000)
committerPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Wed, 19 Jun 2019 07:24:57 +0000 (12:54 +0530)
During SD boot, MC firmware and DPC are copied from SD card to DDR.
Size reserved between MC and DPC firmware on DDR is 1MB.
If the size of MC firmware(load address 0x80000000) is more than 1 MB
then part of MC firmware will be overwritten by DPC firmware (load
address 0x80100000).

Fix: Update the MC/DPL/DPC firmware's DDR address as per their
respective addresses in SD card.

Signed-off-by: Wasim Khan <wasim.khan@nxp.com>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
include/configs/ls2080aqds.h

index 11c6ffd..18f30b5 100644 (file)
@@ -368,9 +368,9 @@ unsigned long get_board_ddr_clk(void);
 #else
 #ifdef CONFIG_TFABOOT
 #define SD_MC_INIT_CMD                         \
-       "mmcinfo;mmc read 0x80000000 0x5000 0x800;"  \
-       "mmc read 0x80100000 0x7000 0x800;" \
-       "fsl_mc start mc 0x80000000 0x80100000\0"
+       "mmcinfo;mmc read 0x80a00000 0x5000 0x1200;"  \
+       "mmc read 0x80e00000 0x7000 0x800;" \
+       "fsl_mc start mc 0x80a00000 0x80e00000\0"
 #define IFC_MC_INIT_CMD                                \
        "fsl_mc start mc 0x580a00000" \
        " 0x580e00000 \0"
@@ -446,8 +446,8 @@ unsigned long get_board_ddr_clk(void);
                        "&& mmcinfo && mmc read $load_addr 0x3c00 0x800 " \
                        "&& esbc_validate $load_addr; "                 \
                        "env exists mcinitcmd && run mcinitcmd "        \
-                       "&& mmc read 0x88000000 0x6800 0x800 "          \
-                       "&& fsl_mc lazyapply dpl 0x88000000; "          \
+                       "&& mmc read 0x80d00000 0x6800 0x800 "          \
+                       "&& fsl_mc lazyapply dpl 0x80d00000; "          \
                        "run sd_bootcmd; "              \
                        "env exists secureboot && esbc_halt;"