summaryrefslogtreecommitdiff
path: root/plat/imx/imx8m/imx8mq/imx8mq_psci.c
diff options
context:
space:
mode:
authorJacky Bai <ping.bai@nxp.com>2020-01-10 15:31:52 +0800
committerJacky Bai <ping.bai@nxp.com>2020-02-09 20:58:49 +0800
commit59969da7c8ef1908b0e70c800a6b3222c6e36d2b (patch)
tree49ecd52b941b9cee223355ce35604d7f638d8118 /plat/imx/imx8m/imx8mq/imx8mq_psci.c
parent7fd86e0b33cc8ded9c5d95c8c85a74133aaea0ca (diff)
plat: imx8mq: Add anamix pll override setting for DSM mode
Add the anamix PLL override setting for DSM mode support, so that the PLL can be power down in DSM mode to save power. 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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/plat/imx/imx8m/imx8mq/imx8mq_psci.c b/plat/imx/imx8m/imx8mq/imx8mq_psci.c
index 2d7befe2..a2ed2077 100644
--- a/plat/imx/imx8m/imx8mq/imx8mq_psci.c
+++ b/plat/imx/imx8m/imx8mq/imx8mq_psci.c
@@ -72,13 +72,14 @@ void imx_domain_suspend(const psci_power_state_t *target_state)
}
if (is_local_state_off(CLUSTER_PWR_STATE(target_state)))
- imx_set_cluster_powerdown(core_id, true);
+ imx_set_cluster_powerdown(core_id, CLUSTER_PWR_STATE(target_state));
else
imx_set_cluster_standby(true);
if (is_local_state_retn(SYSTEM_PWR_STATE(target_state))) {
imx_set_sys_lpm(core_id, true);
dram_enter_retention();
+ imx_anamix_override(true);
}
}
@@ -90,13 +91,14 @@ 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_anamix_override(true);
imx_set_sys_lpm(core_id, false);
imx_clear_rbc_count();
}
/* check the cluster level power status */
if (is_local_state_off(CLUSTER_PWR_STATE(target_state)))
- imx_set_cluster_powerdown(core_id, false);
+ imx_set_cluster_powerdown(core_id, PSCI_LOCAL_STATE_RUN);
else
imx_set_cluster_standby(false);