Booting from eMMC in backup boot mode fails on AM62 Starter Kit:
When I select an invalid primary boot mode and MMCSD as backup boot with port=0, fs, I get the following error:
U-Boot SPL 2023.04-dirty (Mar 28 2024 - 16:34:41 +0100) SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') SPL initial stack usage: 13440 bytes Trying to boot from MMC1 mmc_load_image_raw_sector: mmc block read error ** Partition 1 not valid on device 0 ** spl_register_fat_device: fat register err - -1 spl_load_image_fat: error reading image tispl.bin, err - -1 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ###
Interesting observations:
1) Booting from eMMC in primary boot mode works. I'm using MMCSD with port=0, fs mode. This boots fine. Just backup boot mode with the same options does not work.
2) When I delete the `tispl.bin` from the eMMC I get:
U-Boot SPL 2023.04-dirty (Mar 28 2024 - 16:34:41 +0100) SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') SPL initial stack usage: 13440 bytes Trying to boot from MMC1 spl_load_image_fat: error reading image tispl.bin, err - -2 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ###
Any idea what I'm doing wrong? Or is this a known bug?
Edit: I'm building my u-boot from ti-u-boot 09.02.00.009. I followed the steps here: https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM62X/latest/exports/docs/linux/Foundational_Components/U-Boot/UG-General-Info.html (except I used the ti-u-boot repo, though the same happens with upstream u-boot).
Edit2: Since the TRM says the eMMC is only accessed in 1-bit mode I tried to change the sdhci/bus-width
to <0x01>
, assuming that maybe the eMMC is set up differently by ROM code in backup boot mode, but that didn't help either. Also observation 2 suggests that the SPL can see the content on the eMMC, just loading the image fails for some reason.