The watchdog requires to have the MCU ESM error source enabled to
trigger a system reboot. When booting HS-SE (security enforced)
devices, the MMR registers are locked again and all write commands
are simply ignored.

Unlock the MMR registers again to successfully enable the MCU ESM
source.

Signed-off-by: Daniel Schultz <d.schu...@phytec.de>
---
 arch/arm/mach-k3/am62x/am625_init.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-k3/am62x/am625_init.c 
b/arch/arm/mach-k3/am62x/am625_init.c
index a422919fab1..498bbe45b38 100644
--- a/arch/arm/mach-k3/am62x/am625_init.c
+++ b/arch/arm/mach-k3/am62x/am625_init.c
@@ -84,6 +84,9 @@ static void ctrl_mmr_unlock(void)
 
 static __maybe_unused void enable_mcu_esm_reset(void)
 {
+       /* CTRLMMR_MCU_RST registers are locked again on HS-SE devices */
+       mmr_unlock(MCU_CTRL_MMR0_BASE, 6);
+
        /* Set CTRLMMR_MCU_RST_CTRL:MCU_ESM_ERROR_RST_EN_Z  to '0' (low active) 
*/
        u32 stat = readl(CTRLMMR_MCU_RST_CTRL);
 
-- 
2.25.1

Reply via email to