All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Schultz <d.schultz@phytec.de>
To: "Sverdlin, Alexander" <alexander.sverdlin@siemens.com>,
	"bb@ti.com" <bb@ti.com>,
	"trini@konsulko.com" <trini@konsulko.com>,
	"u-boot@lists.denx.de" <u-boot@lists.denx.de>,
	"kishon@ti.com" <kishon@ti.com>,
	"c-vankar@ti.com" <c-vankar@ti.com>,
	"s-vadapalli@ti.com" <s-vadapalli@ti.com>
Cc: "upstream@lists.phytec.de" <upstream@lists.phytec.de>
Subject: Re: [PATCH] arm: mach-k3: am625: Unlock MMR registers again
Date: Wed, 10 Sep 2025 13:50:46 +0200	[thread overview]
Message-ID: <d47cb78e-e3e4-4a65-a0d0-b7dbf22e7339@phytec.de> (raw)
In-Reply-To: <63e0078fbf5cb045b79a441dca0f2f71fd3962e5.camel@siemens.com>

Hi Alexander,

On 8/21/25 18:21, Sverdlin, Alexander wrote:
> 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?

I really can't tell why those registers are locked again. I figured out 
they're only locked again after loading the TIFS firmware on HS-SE 
devices. So, I also assume the firmware itself locks those registers 
again as part of a secure/security feature.

The A53 SPL will unlock those registers again, which will be permanent. 
Only the watchdog is problematic because enable_mcu_esm_reset is 
currently only called in the R5 SPL (config only enabled in the R5 SPL 
defconfig).

BTW: We have seen the same behavior with the AM68A/J721S2.

- Daniel

>
>> Signed-off-by: Daniel Schultz <d.schultz@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);
>>   

  reply	other threads:[~2025-09-10 11:51 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-15 16:02 [PATCH] arm: mach-k3: am625: Unlock MMR registers again Daniel Schultz
2025-08-21 16:21 ` Sverdlin, Alexander
2025-09-10 11:50   ` Daniel Schultz [this message]
2025-09-10 12:08     ` bb
2025-09-10 12:27       ` Sverdlin, Alexander
2025-09-10 12:53         ` bb
2025-09-10 13:01           ` Sverdlin, Alexander
2025-09-10 13:26             ` bb
2025-09-10 14:06               ` Daniel Schultz
2026-01-12  3:04                 ` [Upstream] " Wadim Egorov
2026-01-13  3:02                   ` bb
2026-01-12  7:31 ` Sverdlin, Alexander

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d47cb78e-e3e4-4a65-a0d0-b7dbf22e7339@phytec.de \
    --to=d.schultz@phytec.de \
    --cc=alexander.sverdlin@siemens.com \
    --cc=bb@ti.com \
    --cc=c-vankar@ti.com \
    --cc=kishon@ti.com \
    --cc=s-vadapalli@ti.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=upstream@lists.phytec.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.