From: Anshul Dalal Date: Mon, 13 Jul 2026 05:37:05 +0000 (+0530) Subject: mach-k3: am64x: clear MCU_RST_SRC before reset X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=28d09d6ab68c4a3ac3b95c508a79dabbaa9d3e89;p=thirdparty%2Fu-boot.git mach-k3: am64x: clear MCU_RST_SRC before reset 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 --- diff --git a/arch/arm/mach-k3/am64x/am642_init.c b/arch/arm/mach-k3/am64x/am642_init.c index d6cc7a85aae..94c006aa350 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