serial download on imx8mp

Rasmus Villemoes rasmus.villemoes at
Fri Oct 22 09:37:54 CEST 2021


I'm having trouble getting serial download to work on an imx8mp evk. I'm
building on top of v2021.10.

The SPL + U-Boot proper that I build work fine when I write them to an
SD card and boot from that, also boot from eMMC with the same binaries
works fine.

I can also succesfully get the SPL to load and run via USB, and I can
_partially_ load the u-boot.itb; in the sense that I can see that
bl31.bin runs: I get the lines

NOTICE:  BL31: v2.4(release):lf-5.10.52-2.1.0-rc1-39-gbb4957067
NOTICE:  BL31: Built : 04:45:39, Sep  8 2021

on the serial console (same as when happens when booting via sd or
emmc), but then the board just hangs.

Now, extracting the u-boot.itb from the
imx-boot-imx8mpevk-sd.bin-flash_evk file I found inside, I can actually get _that_
u-boot.itb to run on top of the SPL that I built, so I think my SPL is
alright (after all, it does manages to hand control over to BL31). That
u-boot.itb is

  U-Boot 2021.04-lf_v2021.04+g1c0116f3da

Vanilla v2021.04 shows the same symptoms of being unable to boot via
serial download. So I did a bisect between v2021.04 and 1c0116f3da. That
bisect lands at

commit 3a053a1bd6bc03eaffe82648a318b065d70d1bd0 (refs/bisect/boots)
Author: Ye Li < at>
Date:   Tue Apr 21 20:14:29 2020 -0700

    MLK-23574-39 imx8mp_evk: Update iMX8MP EVK board codes

so I suppose _something_ in that commit fixed it, but unfortunately

 board/freescale/imx8mp_evk/imx8mp_evk.c | 332
 board/freescale/imx8mp_evk/spl.c        |  79 ++++++++++++-------------
 configs/imx8mp_evk_defconfig            |  66 +++++++++++++++++++--
 include/configs/imx8mp_evk.h            | 156
 4 files changed, 561 insertions(+), 72 deletions(-)

means I have no idea what part of it is missing in mainline, or if there
are more bits and pieces scattered around that are prerequisites for
getting it to work.

But it's really odd, because once the entire image has been downloaded,
the components of the FIT have been loaded to the proper addresses and
control handed over to BL31, I don't see how U-Boot proper (the very
same binary that's used when booting from sd or emmc) can fail, and
U-Boot shouldn't really need to know or care about where it was loaded from.


More information about the U-Boot mailing list