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.

AM620-Q1: Replace DM and got error ti_sci_get_response with error code ret = -11

Part Number: AM620-Q1

Tool/software:

Hi, TI Expert

I try to learn to replace DM in tispl.bin, and I get error message as below when I boot.

Welcome to minicom 2.7.1

OPTIONS: I18n 
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB0, 17:58:54

Press CTRL-A Z for help on special keys


U-Boot SPL 2024.04-dirty (Aug 12 2025 - 15:19:11 +0800)
SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
SPL initial stack usage: 13392 bytes
Trying to boot from MMC2
alloc space exhausted
Could not get FIT buffer of 2348544 bytes
        check CONFIG_SPL_SYS_MALLOC_SIZE
Authentication passed
Authentication passed
Authentication passed
Authentication passed
Authentication passed                                                                                                                                                                               
Starting ATF on ARM64 core...                                                                                                                                                                       
                                                                                                                                                                                                    
NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty                                                                                                                                       
NOTICE:  BL31: Built : 04:20:32, Nov  1 2024                                                                                                                                                        
                                                                                                                                                                                                    
U-Boot SPL 2024.04-dirty (Aug 12 2025 - 17:57:59 +0800)                                                                                                                                             
SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')                                                                                                                                
SPL initial stack usage: 1904 bytes                                                                                                                                                                 
ti_sci system-controller@44043000: ti_sci_get_response: Message receive failed. ret = -110                                                                                                          
ti-sci-pm-domains power-controller: ti_sci_power_domain_on: get_device(186) failed (-110)                                                                                                           
Trying to boot from MMC2                                                                                                                                                                            
ti_sci system-controller@44043000: ti_sci_get_response: Message receive failed. ret = -110  

Here are my steps.

(1) Use MCU SDK project "ipc_rpmsg_echo_linux_am62x-sk-lp_r5fss0-0_freertos_ti-arm-clang" to build simple DM

(2) copy "ipc_rpmsg_echo_linux.wkup-r5f0_0.strip.out" from MCU SDK project to "ti-processor-sdk-linux-am62xx-evm-10.01.10.04/board-support/prebuilt-images/am62xx-lp-evm/ti-dm/am62xx", and replace file name as "ipc_echo_testb_mcu1_0_release_strip.xer5f", because *.out is sane as *.xer5f

(3) re-build tispl.bin w/ DM, script as below.

$ cd ~/ti-processor-sdk-linux-<version>/
$ pwd
$ export SDK_INSTALL_DIR="/home/gibbs/work/am62_lp/ti-processor-sdk-linux-am62xx-evm-10.01.10.04"
$ export CROSS_COMPILE_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-"
$ export SYSROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux"
$ export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
$ export CROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"

$ export UBOOT_DIR="${SDK_INSTALL_DIR}/board-support/ti-u-boot-2024.04+git"
$ export TI_LINUX_FW_DIR="${SDK_INSTALL_DIR}/board-support/prebuilt-images/am62xx-lp-evm"

cd board-support/ti-u-boot-<version>
$ // no need to rebuild tiboot3.bin
$ // let's rebuild tispl.bin
$ make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" am62x_evm_a53_defconfig O=$UBOOT_DIR/out/a53
$ make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_64" CC="$CC_64" BL31=$TI_LINUX_FW_DIR/bl31.bin TEE=$TI_LINUX_FW_DIR/bl32.bin O=$UBOOT_DIR/out/a53 BINMAN_INDIRS=$TI_LINUX_FW_DIR

(4) copy tispl.bin to SD boot partition.

I already ref these documents.

https://dev.ti.com/tirex/explore/node?node=A__AEIJm0rwIeU.2P1OBWwlaA__AM62-ACADEMY__uiYMDcq__LATEST

Do I miss something?

Thank You.

Gibbs

  • Hello Gibbs,

    FYI: DM R5F potential crash

    First off, if you have any AM62x customers going to production on SDK 10.1 or earlier, please make sure they are aware of the potential DM R5F crash after 49 days. Details are here:  [FAQ] [Alert] DM R5F can crash in certain conditions: AM62x, AM62Ax, AM62Dx, AM62Px, AM67, AM67A 

    Back to your question 

    I wonder if the DM R5F binary output is too big, based on this output in your boot log:

    alloc space exhausted
    Could not get FIT buffer of 2348544 bytes

    Can I get you to confirm the size of your binary file?

    What happens if you strip the binary file like this?

    // on my Linux computer
    /path/to/ti/ti-cgt-armllvm_3.2.2.LTS/bin/tiarmstrip -p filename.release.out -o filename.tiarmstrip.out
    
    // probably this is the command on Windows?
    .\tiarmstrip.exe -p filename.release.out -o filename.tiarmstrip.out

    Regards,

    Nick

  • Hi, Nick

    Thanks you replies.

    It does not work.

    Show my debug process.

    (1) Strip binary

    The binary strip to 271.9KB

    /ti/ti-cgt-armllvm_3.2.2.LTS/bin/tiarmstrip -p ipc_rpmsg_echo_linux.wkup-r5f0_0.strip.out -o ipc_echo_testb_mcu1_0_release_strip.xer5f
    

    (2) Boot log.

    U-Boot SPL 2024.04-dirty (Aug 14 2025 - 13:37:03 +0800)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')
    SPL initial stack usage: 13392 bytes
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.11.0(release):v2.11.0-906-g58b25570c9-dirty
    NOTICE:  BL31: Built : 04:20:32, Nov  1 2024                                                                                                                                        
                                                                                                                                                                                        
    U-Boot SPL 2024.04-dirty (Aug 14 2025 - 13:37:15 +0800)                                                                                                                             
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.1.8--v10.01.08 (Fiery Fox)')                                                                                                                
    SPL initial stack usage: 1904 bytes                                                                                                                                                 
    ti_sci system-controller@44043000: ti_sci_get_response: Message receive failed. ret = -110                                                                                          
    ti-sci-pm-domains power-controller: ti_sci_power_domain_on: get_device(186) failed (-110)                                                                                           
    Trying to boot from MMC2                                                                                                                                                            
    ti_sci system-controller@44043000: ti_sci_get_response: Message receive failed. ret = -110  

    I think binary size should be no concern now, but it still not boot.

    Many Thanks

    Gibbs

  • Update, problem solved

    Pls reference this thread.

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1410686/am625-about-am62-wkup_uart0/5419620?tisearch=e2e-sitesearch&keymatch=am62%20%20elf%20.xer5f.signed#5419620

    I am not sure the reason, but I found :

    1. Pls do not import this project into CCS and build code, the binary generated from CCS which can not boot.

    2. Pls direct use SDK example build. path as below.

    >> /mcu_plus_sdk_am62x_10_01_00_33$ make -s -f makefile.am62x examples
    >> /mcu_plus_sdk_am62x_10_01_00_33$ make -s -C examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk-lp/r5fss0-0_freertos/ti-arm-clang clean
    >> /mcu_plus_sdk_am62x_10_01_00_33$ make -s -C examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk-lp/r5fss0-0_freertos/ti-arm-clang all
    >> /mcu_plus_sdk_am62x_10_01_00_33/examples/drivers/ipc/ipc_rpmsg_echo_linux/am62x-sk-lp/r5fss0-0_freertos/ti-arm-clang/ipc_rpmsg_echo_linux.wkup-r5f0_0.release.strip.out

    3. It could be "release" or "debug" build issue, even the DM binary not over size limition.

    Gibbs

  • Hello Gibbs,

    I am glad to hear that you are able to get things working with a makefile build! Thank you for replying back with your solution.

    Additional thoughts

    I still suspect that we are running into a size issue with the CCS build. When Tony tried stripping the output binary, he got it down to about the same size as the smallest binaries in the output folder. So looking at your folder, I would expect your stripped output to be about 195kB, not 270kB. I have not tested at this point to see if different input binaries will give differently sized output binaries.

    Where this was Tony's generated CCS files:

    and then after running this command:

    this was his stripped output:

    No pressure to do additional tests. But if you do any more tests, please let me know what you observe. I need to add additional information about stripping binaries to the docs, and any datapoint is useful.

    Regards,

    Nick

  • I always use the makefile when I am generating my DM R5F binaries, so I have not played around much with CCS at this point in time.