summaryrefslogtreecommitdiff
path: root/plat/imx/imx8mm/imx8mm_psci.c
diff options
context:
space:
mode:
authorBai Ping <ping.bai@nxp.com>2018-06-10 20:22:45 +0800
committerAbel Vesa <abel.vesa@nxp.com>2018-06-11 11:38:52 +0300
commit8b2305c1464839bdf2683f8ece9482c52cd30720 (patch)
treefbd726c66a2c43cb15c147d2c2b219ce6dd6cde1 /plat/imx/imx8mm/imx8mm_psci.c
parentede5b2ccebd7b5e22d38304def6d449aaa8096d3 (diff)
plat: imx8m: add a common dram PM code for imx8m soc
re-design the dram power management code to make it more common for all i.MX8M SOCs. code need to refact and optimize to make more better. Using this common code on i.MX8MM first, for i.MX8MQ, will move to this later. Signed-off-by: Bai Ping <ping.bai@nxp.com>
Diffstat (limited to 'plat/imx/imx8mm/imx8mm_psci.c')
-rw-r--r--plat/imx/imx8mm/imx8mm_psci.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/plat/imx/imx8mm/imx8mm_psci.c b/plat/imx/imx8mm/imx8mm_psci.c
index 9c7bec12..10e96063 100644
--- a/plat/imx/imx8mm/imx8mm_psci.c
+++ b/plat/imx/imx8mm/imx8mm_psci.c
@@ -8,6 +8,7 @@
#include <arch_helpers.h>
#include <debug.h>
#include <stdbool.h>
+#include <dram.h>
#include <plat_imx8.h>
#include <psci.h>
#include <mmio.h>
@@ -129,6 +130,7 @@ void imx_domain_suspend(const psci_power_state_t *target_state)
/* do system level power mode setting */
if (is_local_state_retn(SYSTEM_PWR_STATE(target_state))) {
+ dram_enter_retention();
imx_set_sys_lpm(true);
imx_anamix_pre_suspend();
noc_wrapper_pre_suspend(core_id);
@@ -150,6 +152,7 @@ void imx_domain_suspend_finish(const psci_power_state_t *target_state)
imx_anamix_post_resume();
noc_wrapper_post_resume(core_id);
imx_clear_rbc_count();
+ dram_exit_retention();
}
/* check the cluster level power status */