diff options
author | Jacky Bai <ping.bai@nxp.com> | 2019-11-25 14:45:32 +0800 |
---|---|---|
committer | Anson Huang <Anson.Huang@nxp.com> | 2019-12-13 10:45:49 +0800 |
commit | fc444a01c1306fc09a43c9b8e064973f3ba5cb3d (patch) | |
tree | 8f5dad9980056ee55b8d036c9d9050f6c8ce5313 /plat/imx/imx8m/imx8m_psci_common.c | |
parent | 6e934c050c7e4a17e110ebd0f31238a7871e1ba1 (diff) |
plat: imx8mm: Enable dram retention suuport on imx8mm
Enable dram retention support on i.MX8MM.
Change-Id: I76ada615d386602e551d572ff4e60ee19bb8e418
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Diffstat (limited to 'plat/imx/imx8m/imx8m_psci_common.c')
-rw-r--r-- | plat/imx/imx8m/imx8m_psci_common.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/plat/imx/imx8m/imx8m_psci_common.c b/plat/imx/imx8m/imx8m_psci_common.c index d6416288..fd5e7147 100644 --- a/plat/imx/imx8m/imx8m_psci_common.c +++ b/plat/imx/imx8m/imx8m_psci_common.c @@ -13,6 +13,7 @@ #include <lib/mmio.h> #include <lib/psci/psci.h> +#include <dram.h> #include <gpc.h> #include <imx8m_psci.h> #include <plat_imx8.h> @@ -118,8 +119,10 @@ void imx_domain_suspend(const psci_power_state_t *target_state) if (!is_local_state_run(CLUSTER_PWR_STATE(target_state))) imx_set_cluster_powerdown(core_id, CLUSTER_PWR_STATE(target_state)); - if (is_local_state_off(SYSTEM_PWR_STATE(target_state))) + if (is_local_state_off(SYSTEM_PWR_STATE(target_state))) { imx_set_sys_lpm(core_id, true); + dram_enter_retention(); + } } void imx_domain_suspend_finish(const psci_power_state_t *target_state) @@ -127,8 +130,10 @@ void imx_domain_suspend_finish(const psci_power_state_t *target_state) uint64_t mpidr = read_mpidr_el1(); unsigned int core_id = MPIDR_AFFLVL0_VAL(mpidr); - if (is_local_state_off(SYSTEM_PWR_STATE(target_state))) + if (is_local_state_off(SYSTEM_PWR_STATE(target_state))) { + dram_exit_retention(); imx_set_sys_lpm(core_id, false); + } if (!is_local_state_run(CLUSTER_PWR_STATE(target_state))) { imx_clear_rbc_count(); |