+1 > -----Original Message----- > From: Pankaj Bansal > Sent: Tuesday, March 12, 2019 10:27 AM > To: Meenakshi Aggarwal <[email protected]>; Priyanka Jain > <[email protected]>; Prabhakar Kushwaha > <[email protected]> > Cc: [email protected]; Pankaj Bansal <[email protected]> > Subject: [PATCH v2] board/fsl/lx2160a: Fix MC firmware loading during SD boot > > Issue: during SD boot, following error comes: > MMC read: dev # 0, block # 20480, count 2048 ... 2048 blocks read: OK > > MMC read: dev # 0, block # 28672, count 2048 ... 2048 blocks read: OK > fsl-mc: ERR: Bad firmware image (bad FIT header) > Hit any key to stop autoboot: 0 > > Cause: mc 10.14.3 file size is 1064880, the value is 0x820 blocks which is > more > than 0x800. The default DPC loading address 0x80100000 has overlap with MC > loading address 0x80000000, since the size of MC is over 1MB. > > Fix: update the MC and dpc address as per their addresses in XSPI flash. > i.e. in xspi flash MC address is 0x20a00000 so corresponding address in dram > when loading MC firmware from mmc is 0x80a00000. similarly dpc is @ > 0x20e00000 in xspi flash and 0x80e00000 in dram when loaded from mmc. > > This same approach is being followed in other cases also in same file, e.g. > esbc_validate 0x80740000 <=> esbc_validate 0x20740000 > > On same lines modify the address of dpl to 0x80d00000 > > Signed-off-by: Pankaj Bansal <[email protected]> > --- > > Notes: > V2: > - reduce the mc firmware size blocks from 0x1800 to 0x1200, to save on > boot time > - Fix the commit message to indicate that the patch is for LX2160A boards > only and for SD boot only > > include/configs/lx2160a_common.h | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/configs/lx2160a_common.h > b/include/configs/lx2160a_common.h > index 17cfd7bfd7..98af24a45d 100644 > --- a/include/configs/lx2160a_common.h > +++ b/include/configs/lx2160a_common.h > @@ -217,14 +217,14 @@ int select_i2c_ch_pca9547_sec(unsigned char ch); > "fsl_mc start mc 0x20a00000 0x20e00000\0" > > #define SD_MC_INIT_CMD \ > - "mmc read 0x80000000 0x5000 0x800;" \ > - "mmc read 0x80100000 0x7000 0x800;" \ > + "mmc read 0x80a00000 0x5000 0x1200;" \ > + "mmc read 0x80e00000 0x7000 0x800;" \ > "env exists secureboot && " \ > "mmc read 0x80700000 0x3800 0x10 && " \ > "mmc read 0x80740000 0x3A00 0x10 && " \ > "esbc_validate 0x80700000 && " \ > "esbc_validate 0x80740000 ;" \ > - "fsl_mc start mc 0x80000000 0x80100000\0" > + "fsl_mc start mc 0x80a00000 0x80e00000\0" > > #define EXTRA_ENV_SETTINGS \ > "hwconfig=fsl_ddr:bank_intlv=auto\0" \ > @@ -289,11 +289,11 @@ int select_i2c_ch_pca9547_sec(unsigned char ch); > > #define SD_BOOTCOMMAND \ > "env exists mcinitcmd && mmcinfo; " \ > - "mmc read 0x80001000 0x6800 0x800; " \ > + "mmc read 0x80d00000 0x6800 0x800; " \ > "env exists mcinitcmd && env exists secureboot " \ > " && mmc read 0x80780000 0x3C00 0x10 " \ > "&& esbc_validate 0x80780000;env exists mcinitcmd " \ > - "&& fsl_mc lazyapply dpl 0x80001000;" \ > + "&& fsl_mc lazyapply dpl 0x80d00000;" \ > "run distro_bootcmd;run sd_bootcmd;" \ > "env exists secureboot && esbc_halt;" > > -- > 2.17.1
_______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

