
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.
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

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

Hi
On Mon, Nov 22, 2021 at 10:18 AM Peng Fan (OSS) peng.fan@oss.nxp.com wrote:
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.
Try to revert 2707faf01f0
e/o
Add USB_BOOT here +#ifdef CONFIG_ENV_IS_IN_MMC + case SD1_BOOT: + case SD2_BOOT: + case SD3_BOOT: + case MMC1_BOOT: + case MMC2_BOOT: + case MMC3_BOOT: + env_loc = ENVL_MMC; + break; +#endif + default:
e/o in soc.c
or add ENV_IS_NOWHERE = y in your config
Michael
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
participants (3)
-
Michael Nazzareno Trimarchi
-
Peng Fan (OSS)
-
Rasmus Villemoes