[PATCH v4 00/13] am62: IO+DDR resume support

Markus Schneider-Pargmann msp at baylibre.com
Mon Nov 10 11:32:06 CET 2025


Hi Tom,

On Fri Nov 7, 2025 at 11:00 PM CET, Tom Rini wrote:
> On Thu, Oct 30, 2025 at 10:59:18AM +0100, Markus Schneider-Pargmann (TI.com) wrote:
>
>> Hi,
>> 
>> this series introduces support to resume from IO+DDR. IO+DDR is a low
>> power mode of am62a and am62p in which nearly everything is powered off
>> except DDR which is in self-refresh and a few pins which detect
>> activity and can wakeup the system again.
>> 
>> On resume uboot SPL is loaded and checks if this is a IO+DDR resume. If
>> it is, the DDR initialization sequence in k3-ddrss differs slightly as
>> it has to get the DDR out of the self-refresh.
>> 
>> Afterward a specific address determined from DT is used to get the
>> metadata that stores relevant context addresses. The context is restored
>> using the tisci message TI_SCI_MSG_MIN_CONTEXT_RESTORE. At the end all
>> further initializations are skipped and uboot SPL directly jumps into
>> the DM resume address which takes care of the rest.
>> 
>> k3-ddrss is using absolute register accesses at the moment. I am trying
>> to submit syscon DT patches upstream to access these through syscon,
>> unfortunately there is ongoing discussion regarding syscon.
>> 
>> I tested this on am62a.
>
> Please make sure this builds without warnings (enable CONFIG_WERROR):
> +(am62px_evm_r5) arch/arm/mach-k3/common.c: In function 'lpm_resume_from_ddr':
> +(am62px_evm_r5) arch/arm/mach-k3/common.c:252:42: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
> +(am62px_evm_r5)   252 |         struct lpm_meta_data lpm_data = *(struct lpm_meta_data *)meta_data_addr;
> +(am62px_evm_r5)       |                                          ^
> +(am62px_evm_r5) arch/arm/mach-k3/common.c:263:45: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
> +(am62px_evm_r5)   263 |         image_entry = (image_entry_noargs_t)(u64 *)lpm_data.dm_jump_address;
> +(am62px_evm_r5)       |                                             ^
> +(am62px_evm_r5) cc1: all warnings being treated as errors

Sorry, I missed these warnings in my checks. (defconfig didn't enable
the code in this patch so my tools didn't pick up this warning). Fixed
the warnings and my tool.

Thank you!

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/20251110/0a4e3001/attachment.sig>


More information about the U-Boot mailing list