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.

[FAQ] A53 boot binary (tispl.bin) loading error when BOOTMODE[7]="0" in eMMC boot mode on AM62A

Part Number: PROCESSOR-SDK-AM62A

AM62A boot-rom support on booting R5-SPL/SBL from eMMC is described in Chapter 5 Initialization of AM62Ax TRM

It is summarized in the table below. Note that booting from eMMC boot partition with BOOTMODE[6:3] = 1001, BOOTMODE[7] is n/a.

 eMMC

BOOTMODE[7]

BOOTMODE[6:3]

Boot partition

n/a (raw only)

1001

UDA

0 => fs
1 => raw

1000

When BOOTMODE [15:0] = 004B,  => BOOTMODE[7] =0 BOOTMODE[6:3]=1001, u-boot booting from eMMC fails (a sample log is listed below).

U-Boot SPL 2021.01-00001-g01ec1fd168 (Mar 08 2023 - 14:33:19 -0600)
SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
am62a_init: board_init_f done
am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
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 ###

  • AM62A boot-rom boots tiboot3.bin (R5-SPL) from eMMC boot partition correctly,  but u-boot code loads the next stage tispl.bin (A53 binary) based on reading of “BOOTMODE[7] + BOOTMODE[6:3]”. When BOOTMODE[7] = 0, tiboot3.bin try to load tispl.bin incorrectly from “fs” instead of “raw” as shown the log.

    The attached u-boot patch is a workaround for the issue before the final u-boot fix is ready and released. Also attaching the working log file after applying the u-boot patch.

    am62a_bootmode7_emmc.patch

    am62a_emmc_boot_004B.log
    U-Boot SPL 2021.01-00001-g01ec1fd168-dirty (Mar 10 2023 - 17:58:18 -0600)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    am62a_init: board_init_f done
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Trying to boot from MMC1
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    init_env from device 9 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 11:09:43, Feb 27 2023
    
    U-Boot SPL 2021.01-00001-g01ec1fd168-dirty (Mar 10 2023 - 17:57:57 -0600)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    am62a_init: board_init_f done
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Trying to boot from MMC1
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Authentication passed
    am62a_init: spl_boot_device: devstat = 0x4b bootmedia = 0x9 bootindex = 0
    Authentication passed
    
    
    U-Boot 2021.01-00001-g01ec1fd168-dirty (Mar 10 2023 - 17:57:57 -0600)
    
    SoC:   AM62AX SR1.0 HS-FS
    Model: Texas Instruments AM62A7 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Board: AM62A-SKEVM rev E2
    DRAM:  4 GiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from MMC... *** Warning - bad CRC, using default environment
    
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  2  0 
    => md.l 0x43000030 1
    43000030: 0000004b                               K...
    =>