[PATCH] mach-k3: am64x: clear MCU_RST_SRC before reset

Anshul Dalal anshuld at ti.com
Thu Jul 2 08:59:35 CEST 2026


In cold boot, 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 at ti.com>
---
 arch/arm/mach-k3/am64x/am642_init.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/mach-k3/am64x/am642_init.c b/arch/arm/mach-k3/am64x/am642_init.c
index a15adf1cb1e7..a177c2658d49 100644
--- a/arch/arm/mach-k3/am64x/am642_init.c
+++ b/arch/arm/mach-k3/am64x/am642_init.c
@@ -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

---
base-commit: e800cc67f5b6cb50a20f37c993ec1cd4063bdbd3
change-id: 20260702-am64x_sw_rst_fix-eb5436122780

Best regards,
--  
Anshul Dalal <anshuld at ti.com>



More information about the U-Boot mailing list