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 
d50de75ff669938c0803c0622d040fc1e5d0cf4c..7f2e8265bc2af942edbfcb94b8149ec15862d41f
 100644
--- a/arch/arm/mach-k3/am62ax/am62a7_init.c
+++ b/arch/arm/mach-k3/am62ax/am62a7_init.c
@@ -192,6 +192,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