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.

Signed-off-by: Markus Schneider-Pargmann <m...@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 
62b90726cf14273cfc1cdbeb89d6723ed864818a..f660352320e60d01c6fa1c89e6879f544c3637e2
 100644
--- a/arch/arm/mach-k3/am62ax/am62a7_init.c
+++ b/arch/arm/mach-k3/am62ax/am62a7_init.c
@@ -196,6 +196,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);
+       }
 #endif
        spl_enable_cache();
 

-- 
2.49.0

Reply via email to