[PATCH v6 08/13] arm: mach-k3: am62a7_init: Resume on LPM exit

Markus Schneider-Pargmann msp at baylibre.com
Thu Dec 4 20:50:39 CET 2025


On Mon Nov 24, 2025 at 5:07 AM CET, Udit Kumar wrote:
>
> On 11/20/2025 9:33 PM, Markus Schneider-Pargmann (TI.com) wrote:
>> When exiting a low power mode with DDR self-refresh, we can directly
>> resume after DDR setup is done. Call the common function to resume.
>>
>> Tested-by: Anshul Dalal <anshuld at ti.com>
>> Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp at baylibre.com>
>> ---
>>   arch/arm/mach-k3/am62ax/am62a7_init.c | 9 +++++++++
>>   1 file changed, 9 insertions(+)
>>
>> diff --git a/arch/arm/mach-k3/am62ax/am62a7_init.c b/arch/arm/mach-k3/am62ax/am62a7_init.c
>> index 60645272c816023798cc5d6fa46a2c569143343b..4f0a8ed66179e7f7445f9c250ffb4f53f4977546 100644
>> --- a/arch/arm/mach-k3/am62ax/am62a7_init.c
>> +++ b/arch/arm/mach-k3/am62ax/am62a7_init.c
>> @@ -195,6 +195,15 @@ void board_init_f(ulong dummy)
>>   	ret = uclass_get_device(UCLASS_RAM, 0, &dev);
>>   	if (ret)
>>   		panic("DRAM init failed: %d\n", ret);
>> +
>> +	if (wkup_ctrl_is_lpm_exit()) {
>> +		u64 meta_data_addr;
>> +
>> +		ret = wkup_r5f_am62_lpm_meta_data_addr(&meta_data_addr);
>> +		if (ret)
>> +			panic("Failed to get LPM meta data address %d\n", ret);
>> +		lpm_resume_from_ddr(meta_data_addr);
>
> Do be you want to protect this code with DDR_IO config ?

It is protected by K3_IODDR. wkup_ctrl_is_lpm_exit() only checks the
actual registers if K3_IODDR is set:

	bool wkup_ctrl_is_lpm_exit(void)
	{
		return IS_ENABLED(CONFIG_K3_IODDR) &&
			wkup_ctrl_canuart_wakeup_active() &&
			wkup_ctrl_canuart_magic_word_set();
	)

Best
Markus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 289 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20251204/4da4e6fb/attachment.sig>


More information about the U-Boot mailing list