
On 2021/10/22 15:37, Rasmus Villemoes wrote:
Hi
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.
DDR init pass, right? Do you have a jtag to debug? THis board supports openOCD, you could give a try.
bl31 boots up and no more log, it is hard to tell where the issue is.
Better confirm whether bl31 jumps to U-Boot.
Regards Peng
Now, extracting the u-boot.itb from the imx-boot-imx8mpevk-sd.bin-flash_evk file I found inside LF_v5.10.52-2.1.0_images_IMX8MPEVK.zip, 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 ye.li@nxp.com 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.
Rasmus