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 uboot startup error

Part Number: AM625

Tool/software:

Hello engineer:

     We compiled the SDK10 with defconfig, and run on am6254, but the uboot startup is error:

U-Boot SPL 2024.04 (Oct 05 2024 - 13:39:40 +0800)
k3_system_controller sysctrler: k3_sysctrler_start: Boot Notification response failed. ret = -110
Firmware init failed on rproc (-110)

resetting ...

Can you provide some information on what these errors are related to?

Thanks!

  • Hi,

    Is this the default U-boot source code from SDK?

    How are you building it?

    Regards,
    Aparna

  • Thanks reply!

    Is this the default U-boot source code from SDK? yes

    How are you building it?

    We follow SPRADD1A "Linux Board Porting on AM62x Devices"

    We just used the  am62x_evm_r5_defconfig and  am62x_evm_a53_defconfig.

    It's compile u-boot sucessfully.

    we copy the tiboot3.bin, tispl.bin, u-boot.img to TFcard, and power on.

  • I am assuming you are using custom board. Is minimal dts is being used at U-boot and Linux?

  • Yes, we are using a custom d board, but it is very similar to TI's KIT. We can also start it with SDK8.2.

    Check the error in k3_stystem_comtrol. c

    static int k3_sysctrler_start(struct udevice *dev)
    {
    struct k3_sysctrler_privdata *priv = dev_get_priv(dev);
    struct k3_sec_proxy_msg msg;
    int ret;

    debug("%s(dev=%p)\n", __func__, dev);

    /* Receive the boot notification. Note that it is sent only once. */
    ret = mbox_recv(priv->has_boot_notify ? &priv->chan_boot_notify :
    &priv->chan_rx, &msg, priv->desc->max_rx_timeout_us);
    if (ret) {
    dev_err(dev, "%s: Boot Notification response failed. ret = %d\n",
    __func__, ret);
    return ret;
    }

    /* Process the response */
    ret = k3_sysctrler_boot_notification_response(dev, msg.buf);
    if (ret)
    return ret;

    debug("%s: Boot notification received successfully on dev %s\n",
    __func__, dev->name);

    return 0;
    }

    It seems to have failed in the early stages of startup.

    There is a doubt about the step of "Generated Binaries Based on Device Security Level", which I don't quite understand. And we directly used three files without suffixes to put them on the TF card. Is this a problem?

    Alternatively, more intuitive operation files can also be provided.

    Thanx!

  • We found that the problem is the difference between GP and HS-FS. Our chip is the GP version,

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

    Currently, the SD card startup has failed as follows:

    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
    

    Please help me check if there are any further modifications needed?

    Thanx!

  • Hi, 

    Yes, if you use the HS-FS images on GP board, the board will not boot at all. 

    However, since you have used the GP U-boot binaries, it should work. 

    For porting the U-boot using the minimal DTS files, and appropriate DDR configuration, refer: Porting U-Boot

    Regards,
    Aparna