[PATCH] arm: mach-k3: am625: Unlock MMR registers again
Sverdlin, Alexander
alexander.sverdlin at siemens.com
Thu Aug 21 18:21:59 CEST 2025
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.schultz at 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
More information about the U-Boot
mailing list