[PATCH] mach-k3: j722s: unlock mmr after spl_early_init

Udit Kumar u-kumar1 at ti.com
Mon Feb 23 15:45:58 CET 2026


unlocking control mmr before spl_early_init leads to
unpredicable behaviour.
So unlock it after spl_early_init.

Fixes: 5e291ee34fd4 ("arch: mach-k3: Introduce basic files to support J722S SoC family")
Reported-by: Diwakar Dhyani <d-dhyani at ti.com>
Signed-off-by: Udit Kumar <u-kumar1 at ti.com>
---
On HS-SE of J722S in particular, enable_mcu_esm_reset function is not able to reset bit-17 of ctrl mmr CTRLMMR_MCU_RST_CTRL.
Which leads to wdt is not functional. With this change
bit-17 was getting reset properly on HS-SE and HS-FS devices.

HS-FS
https://gist.github.com/uditkumarti/4ba05c9335212630ce9240ac67e11c2d#file-hs-fs

HS-SE
https://gist.github.com/uditkumarti/4ba05c9335212630ce9240ac67e11c2d#file-hs-se

 arch/arm/mach-k3/j722s/j722s_init.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-k3/j722s/j722s_init.c b/arch/arm/mach-k3/j722s/j722s_init.c
index 1180c75f551..a0dab5d7032 100644
--- a/arch/arm/mach-k3/j722s/j722s_init.c
+++ b/arch/arm/mach-k3/j722s/j722s_init.c
@@ -84,13 +84,13 @@ static void k3_spl_init(void)
 	 */
 	store_boot_info_from_rom();
 
-	ctrl_mmr_unlock();
-
 	/* Init DM early */
 	ret = spl_early_init();
 	if (ret)
 		panic("spl_early_init() failed: %d\n", ret);
 
+	ctrl_mmr_unlock();
+
 	/*
 	 * Process pinctrl for the serial0 a.k.a. WKUP_UART0 module and continue
 	 * regardless of the result of pinctrl. Do this without probing the
-- 
2.34.1



More information about the U-Boot mailing list