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 Thanks! -- Tom
signature.asc
Description: PGP signature

