This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
we want to use the eMMC boot mode on the am642. We managed to load
tiboot3.bin, sysfw, and tispl.bin from the eMMC bootpart.
The eMMC bootpart look like this:
0x0 | tiboot3.bin (512 KB) |
0x400 | tispl.bin (2 MB) |
0x1400 | u-boot.img (4 MB) |
0x3400 | environment (128 KB) |
0x3500 | backup environment (128 KB) |
0x3600 | sysfw |
In the first step, we tried the layout from the am64x sdk
0x0 | tiboot3.bin |
0x800 | tispl.bin |
0x1800 | u-boot.img |
This partition layout is missing the sysfw address.
Can you confirm the complete layout for am64x, including syswf and environment?
Booting with the first layout fails with "Booting from device 9 not supported!"
This Error message is printed from https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/arch/arm/mach-k3/common.c
It seems the code didn't support eMMC booting because only BOOT_DEVICE_MMC2 and BOOT_DEVICE_SPI are defined.
In our case the function "__get_primary_bootmedia" https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/arch/arm/mach-k3/am642_init.c return BOOT_DEVICE_MMC1 (BOOT_DEVICE_EMMC)
Is there some u-boot/SPL implementation or configuration missing?
Best regards
Stefan
Hello Stefan,
- eMMC layout on TI AM64x boards:
software-dl.ti.com/.../UG-Memory.html
- Note that "sysfw.bin" is built into "tiboot3.bin" by default for AM64x SoC.
You may refer to this e2e on AM62x eMMC offsets for your reference:
e2e.ti.com/.../4378479
It is important to do the followings when porting u-boot for customer board:
1/. modify the two offsets to match the customer eMMC offset layout
2/. use the exact same offsets for both eMMC flashing and booting
Best,
-Hong