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.

AM625: SDK10 how to run on GP device

Part Number: AM625
Other Parts Discussed in Thread: SK-AM62

Tool/software:

Hi, Experts:

we used tiboot3-am62x-gp-evm.bin, tispl.bin_unsigned,u-boot.img_unsigned,

and the SD card startup has failed as follows(on both custom or SK_EVM_E3):

U-Boot SPL 2024.04 (Oct 12 2024 - 14:45:39 +0800)
SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
SPL initial stack usage: 13392 bytes
Trying to boot from MMC2
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
ERROR:   Timeout waiting for thread SP_RESPONSE to fill
ERROR:   Thread SP_RESPONSE verification failed (-60)
ERROR:   Message receive failed (-60)
ERROR:   Failed to get response (-60)
ERROR:   Transfer send failed (-60)
ERROR:   Timeout waiting for thread SP_RESPONSE to fill
ERROR:   Thread SP_RESPONSE verification failed (-60)
ERROR:   Message receive failed (-60)
ERROR:   Failed to get response (-60)
ERROR:   Transfer send failed (-60)
ERROR:   Unable to query firmware capabilities (-60)
E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy
E/TC:0 0 k3_sec_proxy_recv:196 Thread SEC_PROXY_RESPONSE_THREAD verification failed. ret = -65523
E/TC:0 0 ti_sci_get_response:101 Message receive failed (-65523)
E/TC:0 0 ti_sci_do_xfer:150 Failed to get response (-65523)
E/TC:0 0 ti_sci_init:486 Unable to communicate with control firmware (-65523)
E/TC:0 0 call_initcalls:43 Initcall __text_start + 0x00070568 failed
E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy
E/TC:0 0 k3_sec_proxy_recv:196 Thread SEC_PROXY_RESPONSE_THREAD verification failed. ret = -65523
E/TC:0 0 ti_sci_get_response:101 Message receive failed (-65523)
E/TC:0 0 ti_sci_do_xfer:150 Failed to get response (-65523)
E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy
E/TC:0 0 k3_sec_proxy_recv:196 Thread SEC_PROXY_RESPONSE_THREAD verification failed. ret = -65523
E/TC:0 0 ti_sci_get_response:101 Message receive failed (-65523)
E/TC:0 0 ti_sci_do_xfer:150 Failed to get response (-65523)
E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy
E/TC:0 0 k3_sec_proxy_recv:196 Thread SEC_PROXY_RESPONSE_THREAD verification failed. ret = -65523
E/TC:0 0 ti_sci_get_response:101 Message receive failed (-65523)
E/TC:0 0 ti_sci_do_xfer:150 Failed to get response (-65523)
E/TC:0 0 tee_otp_get_hw_unique_key:97 Could not get HUK
E/TC:0 0 call_initcalls:43 Initcall __text_start + 0x00070590 failed
E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy
E/TC:0 0 k3_sec_proxy_recv:196 Thread SEC_PROXY_RESPONSE_THREAD verification failed. ret = -65523
E/TC:0 0 ti_sci_get_response:101 Message receive failed (-65523)
E/TC:0 0 ti_sci_do_xfer:150 Failed to get response (-65523)
E/TC:0 0 k3_sec_proxy_verify_thread:108 Queue is busy
E/TC:0 0 k3_sec_proxy_recv:196 Thread SEC_PROXY_RESPONSE_THREAD verification failed. ret = -65523
E/TC:0 0 ti_sci_get_response:101 Message receive failed (-65523)
E/TC:0 0 ti_sci_do_xfer:150 Failed to get response (-65523)
E/TC:0 0 sa2ul_init:106 Could not change TRNG firewall owner
E/TC:0 0 call_initcalls:43 Initcall __text_start + 0x00070598 failed
E/TC:0 0 
E/TC:0 0 Core data-abort at address 0x14 (translation fault)
E/TC:0 0  esr 0x96000005  ttbr0 0x9e8a1000   ttbr1 0x00000000   cidr 0x0
E/TC:0 0  cpu #0          cpsr 0x600003c4
E/TC:0 0  x0  000000009e874000 x1  0000000000000000
E/TC:0 0  x2  0000000000000000 x3  0000000000000000
E/TC:0 0  x4  0000000000000050 x5  000000009e891d70
E/TC:0 0  x6  ffffffffffffffb0 x7  0000000000010cb0
E/TC:0 0  x8  0000000000010cb0 x9  000000009e891f80
E/TC:0 0  x10 000000009e881070 x11 0000000000000008
E/TC:0 0  x12 0000000000000000 x13 000000009e8a2e60
E/TC:0 0  x14 0000000000000000 x15 0000000000000000
E/TC:0 0  x16 000000009e81c74c x17 0000000000000000
E/TC:0 0  x18 0000000000000000 x19 000000009e8a31e0
E/TC:0 0  x20 000000009e8a31e8 x21 000000009e874000
E/TC:0 0  x22 000000009e874000 x23 000000009e874f00
E/TC:0 0  x24 000000009e873dc0 x25 0000000000000000
E/TC:0 0  x26 0000000000000000 x27 0000000000000000
E/TC:0 0  x28 0000000000000000 x29 000000009e8a3170
E/TC:0 0  x30 000000009e816f6c elr 000000009e816f7c
E/TC:0 0  sp_el0 000000009e8a3170
E/TC:0 0 TEE load address @ 0x9e800000
E/TC:0 0 Call stack:
E/TC:0 0  0x9e816f7c
E/TC:0 0  0x9e807c64
E/TC:0 0  0x9e8220ec
E/TC:0 0  0x9e807de0
E/TC:0 0 Panic 'unhandled pageable abort' at /usr/src/debug/optee-os/4.2.0+git/core/arch/arm/kernel/abort.c:582 <abort_handler>
E/TC:0 0 TEE load address @ 0x9e800000
E/TC:0 0 Call stack:
E/TC:0 0  0x9e808030
E/TC:0 0  0x9e81ebb0
E/TC:0 0  0x9e807884
E/TC:0 0  0x9e804a68

so, how to used the SDK10 on GP device?

  • Hi, I will try it once & get back to you.

    Thanks!

  • Hello,

    I am able to boot the U-Boot on AM62x-SK GP EVM

    U-Boot SPL 2024.04 (Oct 15 2024 - 11:33:46 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 13392 bytes
    Trying to boot from DFU
    ######################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    #################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    Loading Environment from nowhere... OK
    init_env from device 10 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    
    U-Boot SPL 2024.04 (Oct 15 2024 - 11:33:53 +0530)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 1904 bytes
    MMC: no card present
    ** Bad device specification mmc 1 **
    Couldn't find partition mmc 1:1
    Error: could not access storage.
    Trying to boot from DFU
    
    
    U-Boot 2024.04 (Oct 15 2024 - 11:33:53 +0530)
    
    SoC:   AM62X SR1.0 GP
    Model: Texas Instruments AM625 SK
    EEPROM not available at 0x50, trying to read at 0x51
    Reading on-board EEPROM at 0x51 failed -121
    DRAM:  2 GiB
    Core:  81 devices, 31 uclasses, devicetree: separate
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial
    Out:   serial
    Err:   serial
    EEPROM not available at 0x50, trying to read at 0x51
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    => 
     

    Do you see the issue on TI EVM as well? If so, can you share your the images you are booting?

    Thanks!

  • Thanks your reply!

    I tried the same thing on EVM. Our EVM models are: SK-AM62, PROC114E3:

    The attachment contains our images and compilation script. Could you please help check if they are correct?

    thank!

    ubootImages.raruboot_build_build.rar

  • Hello,

    The A53 U-Boot build command is using incorrect variable name for BINMAN_INDIRS.

    It should be:

    make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" CC="$CC_64" O=$OUTPUT_DIR/a53 BL31=$TFA_PATH TEE=$OPTEE_PATH BINMAN_INDIRS=$LNX_FW_PATH

  • You are great, buddy!!

  • make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" CC="$CC_64" O=$OUTPUT_DIR/a53 BL31=$TFA_PATH TEE=$OPTEE_PATH BINMAN_INDIRS=$LNX_FW_PATH

    I have similar issue, which file you changed?

    I see the BINMAN_INDIRS defined in SDK/Rules.make:

    TI_LINUX_FIRMWARE=$(TI_SDK_PATH)/board-support/prebuilt-images/$(PLATFORM)

    and SDK/makefules/Makefile_u-boot:

    u-boot-a53:
    @echo ===================================
    @echo Building U-boot for A53
    @echo ===================================
    mkdir -p $(TI_SDK_PATH)/board-support/u-boot-build/a53
    $(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm $(UBOOT_MACHINE) O=$(TI_SDK_PATH)/board-support/u-boot-build/a53
    $(MAKE) -j $(MAKE_JOBS) -C $(UBOOT_SRC_DIR) ARCH=arm CROSS_COMPILE=$(CROSS_COMPILE) CC="$(CC)" \
    BINMAN_INDIRS=$(TI_LINUX_FIRMWARE) BL31=$(UBOOT_ATF) TEE=$(UBOOT_TEE) O=$(TI_SDK_PATH)/board-support/u-boot-build/a53

    I can't figure out what is wrong, are you building u-boot from command line other than using the SDK makefile

  • I have similar issue, which file you changed?

    They have their own shell script for building U-Boot.

    Their error logs suggested that DM is not up & running. So, the first step was to check if there is a DM firmware blob in the A53 SPL (tispl.bin). It was not there (size is 0 bytes) meaning the A53 SPL was not built correctly.

    ❯ mkimage -l tispl.bin
    FIT description: Configuration to load ATF and SPL
    Created:         Sat Oct 12 12:19:02 2024
    ...
     Image 2 (dm)
      Description:  DM binary
      Created:      Sat Oct 12 12:19:02 2024
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    0 Bytes = 0.00 KiB = 0.00 MiB
      Architecture: Unknown Architecture
      OS:           Unknown OS
      Load Address: 0x89000000
    ...

    Looking at the A53 U-Boot build steps in their script, it was realized that they had used incorrect variable name for BINMAN_INDIRS.