summaryrefslogtreecommitdiff
path: root/plat/imx/imx8m/imx8mq/imx8mq_psci.c
diff options
context:
space:
mode:
authorJacky Bai <ping.bai@nxp.com>2020-01-07 16:44:46 +0800
committerJacky Bai <ping.bai@nxp.com>2020-02-09 20:58:49 +0800
commite73e454d11dab13a87b6068a24509a1f118ac812 (patch)
treebdbef88443b7359053a13ab066877e75e762c9a3 /plat/imx/imx8m/imx8mq/imx8mq_psci.c
parent059a9519ad1cb49f3c04210d59e89773221704a3 (diff)
plat: imx8mq: Add the dram retention support for imx8mq
Add the dram retention support for i.MX8MQ. As there is no enough ocram space available before entering TF-A, so the timing info need to be copied from dram into ocram. Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Diffstat (limited to 'plat/imx/imx8m/imx8mq/imx8mq_psci.c')
-rw-r--r--plat/imx/imx8m/imx8mq/imx8mq_psci.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/plat/imx/imx8m/imx8mq/imx8mq_psci.c b/plat/imx/imx8m/imx8mq/imx8mq_psci.c
index 04e191ff..78a6ea70 100644
--- a/plat/imx/imx8m/imx8mq/imx8mq_psci.c
+++ b/plat/imx/imx8m/imx8mq/imx8mq_psci.c
@@ -12,6 +12,7 @@
#include <lib/mmio.h>
#include <lib/psci/psci.h>
+#include <dram.h>
#include <gpc.h>
#include <imx8m_psci.h>
#include <plat_imx8.h>
@@ -63,6 +64,7 @@ void imx_domain_suspend(const psci_power_state_t *target_state)
if (is_local_state_retn(SYSTEM_PWR_STATE(target_state))) {
imx_set_sys_lpm(core_id, true);
+ dram_enter_retention();
}
}
@@ -73,6 +75,7 @@ void imx_domain_suspend_finish(const psci_power_state_t *target_state)
/* check the system level status */
if (is_local_state_retn(SYSTEM_PWR_STATE(target_state))) {
+ dram_exit_retention();
imx_set_sys_lpm(core_id, false);
imx_clear_rbc_count();
}