i.MX8MN (ROMv2) fails to boot over USB

Adam Ford aford173 at gmail.com
Wed Jan 26 00:49:33 CET 2022


I have a flash.bin file that boots over MMC just fine, but when I use
that same flash.bin file, it appears to hang after running ATF.  I
dumped some debug info for printing the handling of the FIT file, and
I noticed the fit read sizes are also not consistent between MMC and
USB loads with the identical flash.bin.

MMC booting is calling spl_romapi_raw_seekable_read, but the USB
booting is not.  Maybe this is normal.

I was hoping someone might have some pointers on how I can
troubleshoot this.  It's also weird to me that the various nodes are
listed twice in the USB boot, but not the MMC boot.

I have poked around in the spl_imx_romapi.c file, but I am not seeing
anything obvious.

SPL and ATF are executing, so it's partially decoding the FIT file and
executing those two pieces correctly from what I can see.

USB log (no FDT)
U-Boot SPL 2022.01-00753-g7f7f25ecb8-dirty (Jan 25 2022 - 15:54:57 -0600)
WDT:   Started watchdog at 30280000 with servicing (60s timeout)
Trying to boot from BOOTROM
Find img info 0x&48027600, size 872
Need continue download 1024
fit read sector 48027600, sectors=872, dst=42206c40, count=872, size=0x368
firmware: 'uboot'
External data: dst=40200000, offset=3000, size=a4d98
fdt: 'fdt'
External data: dst=402a4dc0, offset=b1e60, size=af68
loadables: 'atf'
External data: dst=960000, offset=a7d98, size=a0c6
no string for index 1
Download 772040, Total size 773576
fit read sector 48027600, sectors=872, dst=42206fb0, count=872, size=0x368
firmware: 'uboot'
External data: dst=40200000, offset=3000, size=a4d98
fdt: 'fdt'
External data: dst=402a4dc0, offset=b1e60, size=af68
loadables: 'atf'
External data: dst=960000, offset=a7d98, size=a0c6
no string for index 1
NOTICE:  BL31: v2.4(release):lf-5.10.72-2.2.0-0-g5782363f9
NOTICE:  BL31: Built : 14:45:34, Jan 25 2022

<hang>

MMC Booting Log (with DTB):

U-Boot SPL 2022.01-00753-g7f7f25ecb8-dirty (Jan 25 2022 - 15:54:57 -0600)
WDT:   Started watchdog at 30280000 with servicing (60s timeout)
Trying to boot from BOOTROM
image offset 0x8000, pagesize 0x200, ivt offset 0x0
ROM API load from 0x60000, size 0x400
spl_romapi_raw_seekable_read 0x60000, size 0x400
fit read sector 300, sectors=2, dst=42206c40, count=2, size=0x368
firmware: 'uboot'
ROM API load from 0x63000, size 0xa4e00
spl_romapi_raw_seekable_read 0x63000, size 0xa4e00
External data: dst=40200000, offset=3000, size=a4d98
fdt: 'fdt'
ROM API load from 0x111e00, size 0xb000
spl_romapi_raw_seekable_read 0x111e00, size 0xb000
External data: dst=402a4dc0, offset=b1e60, size=af68
loadables: 'atf'
ROM API load from 0x107c00, size 0xa400
spl_romapi_raw_seekable_read 0x107c00, size 0xa400
External data: dst=960000, offset=a7d98, size=a0c6
no string for index 1
NOTICE:  BL31: v2.4(release):lf-5.10.72-2.2.0-0-g5782363f9
NOTICE:  BL31: Built : 14:45:34, Jan 25 2022

<u-boot loads successfully from here>


More information about the U-Boot mailing list