AM62P: AM62P: eMMC is replaced with PSE2A0SL-08GXA (8GB) to achieve the configuration that needs to be modified for emmc startup

Part Number: AM62P


Hi,experts, 
 
  We are using the AM62p custom board and replaced the original eMMC chip (Micron MTFC32GAZAQHD-IT, 32GB) with PSE2A0SL-08GXA (8GB). We need to confirm what modifications are required for eMMC boot to work normally. 
 
  And  We attempted to test following the TI official guide for eMMC flashing and boot:   4.1.3. How to flash eMMC and boot with eMMC Boot 
 
https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/latest/exports/docs/linux/How_to_Guides/Target/How_to_emmc_boot.html#overview 
 
However, the board fails to boot from the new eMMC:
 
The log when startup fails is as follows: 
 
U-Boot SPL 2024.04-g6cc7b2ac (Dec 05 2025 - 10:24:50 +0800) 
SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08(Fiery Fox) 
SPL initial stack usage :17056 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 ### 
 
 
Best regards,
Miao 

  • Hello Miao,

    Thank you for your query !

    As I can see from the log: 

    "Trying to boot from MMC1" , an attempt to boot from the AM62P MMCSD1 interface is unsuccessful (see also my Q5). The AM62P 4-pin MMCSD1 port does NOT support eMMC interface. The AM62P ROM loader does not support eMMC boot over the MMCSD1 port either. I have several questions here as I am not sure to well understand:

    Q1 Are the AM62P BOOTMODE[15:0] pins set to make the AM62P ROM loader boot in eMMC Boot Mode as per the AM62Px TRM, Chapter Initialization, Section, BOOTMODE Pin Mapping ? Please provide the exact BOOTMODE binary value.

    Q2.Have you configured your backup boot mode to be "SD Card Boot mode" ?

    Q3. AM62P supports eMMC only on the port MMCSD0 but I am asking just to double check. Have you attached the PSE2A0SL-08GXA eMMC Flash memory to the AM62P MMCSD1 pins (in 4-bit data I/O mode) instead of attaching it to the MMCSD0 pins.

    Q4. If the new eMMC Flash memory is attached to the MMCSD0, as expected, then it turns out that the U-Boot SPL bootloader rather fails to boot the U-Boot software from a SD Card on the MMCSD1 port. Can you confirm ?

    Q5. Do you have any idea from additional sources what is the mapping of "mmc1" and "mmc0" aliases from the U-Boot SPL log file versus the real hardware MMCSD0-MMCSD1  ports/pins ? 

    I am looking forward to your feedback !

    Best Regards,

    Anastas Yordanov

       

  • Hi, hello
    I am the hardware personnel replying to Q1~3:

    Q1: Currently, Boot[15~0] 

    SD BOOT[0000001001000011] and eMMC BOOT[0000000011001011] can be switched using the reserved pins on BOOT3, 7, 9.


    Q2: Currently it is I2C.


    Q3: PSE2A0SL-08GXA is connected to MMC0, and the SD CARD is connected to MMC1.

  • Hello Anastas Yordanov,

    regarding Q4 and Q5: When we used the AM62P EVM to verify eMMC boot, the log also displayed "Trying to boot from MMC1" (even with the SD card removed), and it was able to boot successfully. The log is as follows:

    U-Boot SPL 2024.04-ti-g29d0c23d67ee (Nov 29 2024 - 11:41:54 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL initial stack usage: 17056 bytes
    Trying to boot from MMC1
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...

    Therefore, I suspect that the original TI SPL might have this issue, where it always displays "Trying to boot from MMC1" regardless of whether it's booting from an SD card or eMMC. Furthermore, our hardware check confirms that the connections for mmc0 and mmc1 are correct.


    Additionally, we might have found the real problem, and we need advice from TI on how to resolve it:

    As shown in the eMMC partition layout, 8MB is required for boot0. However, the PSE2A0SL-08GXA we are currently using has a factory default boot0 size of only 4MB. This prevents me from placing tiboot3/tispl/u-boot according to the original partition layout. Do you have any recommended solutions? I have two ideas that I'm wondering if they are feasible:

    1. Is it possible to reconfigure the partition layout? 4MB seems sufficient to hold tiboot3/tispl/u-boot.

    2. Can we create a larger boot partition on the eMMC and have the system read tiboot3/tispl/u-boot from this new partition during boot?

    Best regards,
    Miao 

  • Hello Chih Yu Lin,

    thanks for confirming your bootmode pin configurations and MMCSD memories mapping vs AM62P.

    So I understand that you use the alternate eMMC Boot raw mode (on MMCSD0) or SDCard boot in UDA filesystem mode (on MMCSD1).

    Best Regards,

    Anastas Yordanov

  • Hi Miao,

    Thanks for the sanity checks and confirmation on MMC1 to be used for both SDCard and eMMC devices in the TI SPL boot logs.

    Would you please check if the below suggested link might help:

    Section, MMCSD / Section, Create "boot" partition of the TI Processors SDK LINUX for AM62Px

    Let me know if you have any further questions ?

    Thank you

    Best Regards,

    Anastas Yordanov

  • Hello Anastas Yordanov,

    I previously followed "Section, Create "boot" partition of the TI Processors SDK LINUX for AM62Px" and was successful on the EVM, but it is failing on our customized board.
    As can be seen in the attached figure (you would insert the image here), we created a new partition mmcblk0p1 and marked it as boot, yet the eMMC boot still results in an error within the SPL.

    The difference we have identified compared to the EVM is that our mmcblk0boot0/mmcblk0boot1 partitions are only 4MB each.
    I performed the following tests, which lead me to suspect that the system is still defaulting to booting from mmcblk0boot0, even though mmcblk0p1 has been marked as the boot partition:
    1. After configuring and flashing mmcblk0p1, I cleared mmcblk0boot0 (erased the content). The system failed to boot with no log output whatsoever.
    2. After configuring and flashing mmcblk0p1, I performed the following operations on mmcblk0boot0. The system failed to boot and displayed the error shown in the previous image (likely because the size of mmcblk0boot0 is insufficient, leading to an incomplete write).

    # Enable write access to the Boot0 partition
    root@<machine>:~# echo 0 > /sys/block/mmcblk0boot0/force_ro
    root@<machine>:~# mkdir /mnt/sdboot && mount /dev/mmcblk1p1 /mnt/sdboot && cd /mnt/sdboot
    root@<machine>:~# dd if=emmc/tiboot3.bin of=/dev/mmcblk0boot0 seek=0 bs=512
    root@<machine>:~# dd if=emmc/tispl.bin of=/dev/mmcblk0boot0 seek=1024 bs=512
    root@<machine>:~# dd if=emmc/u-boot.img of=/dev/mmcblk0boot0 seek=5120 bs=512

    Therefore, the problem now appears to be that this specific eMMC device always boots from mmcblk0boot0, and the procedure in "Section, Create "boot" partition of the TI Processors SDK LINUX for AM62Px" is unable to change this behavior. Are there any other methods to solve this?

    Thanks.

    Best regards,
    Miao 

  • Hello Miao Miao,

    I will let our Linux eMMC software expert - Prashant help you with a solution.

    Please expect that some delay in his response is possible.

    Thanks for your patience !

    Kind Regards

    Anastas Yordanov

  • Hello,

    Therefore, the problem now appears to be that this specific eMMC device always boots from mmcblk0boot0

    The BOOTMODE (eMMC BOOT[0000000011001011]) you are using is eMMC alternate boot mode so the ROM and the U-Boot would always try to boot the images from the eMMC boot partition only.

    As for the issue, it should not be caused by the 4MB sized boot partitions at least for now as the issue comes at the stage of R5 SPL loading the A53 SPL (tispl.bin). The `tispl.bin` is flashed at block offset 0x400 which is well within the 4MB size and leaves enough space for the binary.

    This particular issue has been reported in the past by the other customers

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1254318/tda4vm-emmc-startup-issues-mmc_load_image_raw_sector-mmc-block-read-error

    e2e.ti.com/.../sk-am62-am62xx-evm-09-02-01-09-in-the-mmcsd_mode_raw-startup-mode-of-emmc-it-cannot-start

    Both of these involved some issue with the eMMC schematics itself. So, it is possible you have the issue in the hardware also.

    Is your eMMC schematics reviewed by TI?

    Regards,

    Prashant

  • Hello Prashant Shivhare,

            Thank you for your analysis.We would like to supplement our concerns about the 4MB boot0 partition:According to the official TI layout and commands:

    dd if=emmc/tiboot3.bin of=/dev/mmcblk0boot0 seek=0 bs=512
    dd if=emmc/tispl.bin of=/dev/mmcblk0boot0 seek=1024 bs=512
    dd if=emmc/u-boot.img of=/dev/mmcblk0boot0 seek=5120 bs=512

    However, these official commands will directly exceed the sector limit of our 4MB-sized boot0 partition.To fit the 4MB capacity constraint, we have adjusted the writing offsets of the images:

    dd if=tiboot3.bin of=/dev/mmcblk0boot0 seek=0 bs=512
    dd if=tispl.bin of=/dev/mmcblk0boot0 seek=647 bs=512
    dd if=u-boot.img of=/dev/mmcblk0boot0 seek=3105 bs=512 

    We suspect that the current eMMC boot failure is associated with the 4MB partition’s capacity restriction and the modified image layout.Could you please confirm if the adjusted seek offsets are reasonable for the 4MB boot0 partition? For the 4MB boot0 partition scenario is there an official recommended partition layout or image writing strategy provided by TI to ensure successful boot?

    Regarding the issue with the eMMC hardware schematic, we will review our schematic again.

    Thanks.

    Best regards,
    Miao

  • Hello,

    The issue should ideally not be caused by the layout at this point but you may adjust the layout as discussed in the following thread

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1387263/am625-emmc-layout-calculation

    Regards,

    Prashant

  • Hello,

    Thank you for your analysis. My issue has been resolved.

    Thanks!

    Best regards,
    Miao

  • Thank you for your analysis. My issue has been resolved.

    Could you please clarify what solved the issue?

    The original issue came at the reading of the `tispl.bin` image which is flashed at 0x400. The 4MB eMMC boot partitions has enough space for the `tiboot3.bin` and `tispl.bin` flashed at the default offsets. I don't see how adjusting the layout for `tispl.bin` would solve the issue.