Dear Daniel, TI team, On Fri, 2025-08-15 at 09:02 -0700, Daniel Schultz wrote: > 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.
I'm just curious, could you please elaborate a bit, where the registers are being locked again if they are being unlocked by ctrl_mmr_unlock() in board_init_f() before enable_mcu_esm_reset()? Is it TIFS firmware? What else could be affected? Do we expect to leave General Purpose Control Registers unlocked when we return from board_init_f()? Does it mean that the whole ctrl_mmr_unlock() has to be re-done after k3_sysfw_loader() call? > 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); > -- Alexander Sverdlin Siemens AG www.siemens.com