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: R5 reset during SPL boot (uboot)

Part Number: AM625

I "just" want to trigger a reset during R5 SPL boot on a AM62x.

Tested both:

reset_cpu();
do_reset(NULL, 0, 0, NULL); // At the end it calls reset_cpu...

Without any result.

I have also activated these configs:

SPL_SYSRESET, SYSRESET_TI_SCI

Leading to (when calling reset_cpu):

U-Boot SPL 2023.04-00026-g0db5fb465be8-dirty (Nov 08 2023 - 18:23:57 +0100)
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
Resetting ...
ti_sci system-controller@44043000: ti_sci_get_response: Message receive failed. ret = -110
ti_sci system-controller@44043000: Message not acknowledgedti-sci-sysreset sysreset-controller: ti_sci_sysreset_request: reboot_device failed (-19)
ti_sci system-controller@44043000: ti_sci_get_response: Message receive failed. ret = -110
ti_sci system-controller@44043000: Message not acknowledgedti-sci-sysreset sysreset-controller: ti_sci_sysreset_request: reboot_device failed (-19)
no sysreset
### ERROR ### Please RESET the board ###

Is there any method to reset R5 core during SPL boot?

  • do_reset(NULL, 0, 0, NULL);

    This should be the right call to trigger a device reset, same is used in arch/arm/mach-k3/am642_init.c.

    ti_sci_sysreset_request: reboot_device failed (-19)
    no sysreset

    There's two things you need for reset support. First, you need the equivalent of the below DTS code snippet. Note that in the case of the TI SK/EVM board the below .dtsi file gets explicitly included by arch/arm/dts/k3-am642-r5-evm.dts and hence is available for the initial boot stage (R5 SPL). Later U-Boot stages will _implicitly_ include this file by way of *-u-boot.dtsi extension.

    arch/arm/dts/k3-am642-evm-u-boot.dtsi-&dmsc {
    arch/arm/dts/k3-am642-evm-u-boot.dtsi-  bootph-pre-ram;
    arch/arm/dts/k3-am642-evm-u-boot.dtsi:  k3_sysreset: sysreset-controller {
    arch/arm/dts/k3-am642-evm-u-boot.dtsi:          compatible = "ti,sci-sysreset";
    arch/arm/dts/k3-am642-evm-u-boot.dtsi-          bootph-pre-ram;
    arch/arm/dts/k3-am642-evm-u-boot.dtsi-  };
    arch/arm/dts/k3-am642-evm-u-boot.dtsi-};

    Second, you need to enable CONFIG_RESET_TI_SCI=y in the R5 SPL defconfig.

    Regards, Andreas

  • Hello ,

    If I do exactly what you propose I do not obtain any result (do_reset is called, but nothing happen).

    If I add these configs:

    SYSRESET=y
    SPL_SYSRESET=y
    SYSRESET_CMD_RESET=y

    then I obtain the error I reported in my first post.

    I have tried to call reset from A53 SPL and I'm able to reset it in board_init_f after early_console_init

    Regards, Emanuele