]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
mach-k3: am64x: clear MCU_RST_SRC before reset
authorAnshul Dalal <anshuld@ti.com>
Mon, 13 Jul 2026 05:37:05 +0000 (11:07 +0530)
committerTom Rini <trini@konsulko.com>
Thu, 16 Jul 2026 18:02:48 +0000 (12:02 -0600)
In warm reset, the value of CTRLMMR_MCU_RST_SRC was not being reset.

This leads to a reset-loop boot failure when a warm reset is triggered
from the MAIN domain (by writing 0x2006 to MCU_RST_CTRL).

Signed-off-by: Anshul Dalal <anshuld@ti.com>
arch/arm/mach-k3/am64x/am642_init.c

index d6cc7a85aae5ec6659b85334cd2f78d1dd234da7..94c006aa350b0a16cf44a9ecdd0bad8131d0964e 100644 (file)
@@ -255,6 +255,8 @@ void board_init_f(ulong dummy)
        if (rst_src == COLD_BOOT || rst_src & (SW_POR_MCU | SW_POR_MAIN)) {
                printf("Resetting on cold boot to workaround ErrataID:i2331\n");
                printf("Please resend tiboot3.bin in case of UART/DFU boot\n");
+               /* clear MCU_RST_SRC register before reset */
+               writel(0xFFFFFFFF, CTRLMMR_MCU_RST_SRC);
                do_reset(NULL, 0, 0, NULL);
        }
 #endif