diff options
author | Anson Huang <Anson.Huang@nxp.com> | 2018-09-08 11:38:47 +0800 |
---|---|---|
committer | Anson Huang <Anson.Huang@nxp.com> | 2018-09-08 11:38:47 +0800 |
commit | 49ff2ef20f2eea76bc48167e0d8fc5f109146058 (patch) | |
tree | e9f1f022170df18eedf56b8f3303a5872ed7d113 | |
parent | 68983a41738a153a91376a7b6913ac4e87b7f57a (diff) |
imx8qm/imx8qxp: support random CPU resume when system suspend
Using sc_pm_set_cpu_resume API instead of sc_pm_set_cpu_resume_addr
to support random CPU resume for system suspend, as Linux kernel
now supports non CPU0 suspend, we have to specify the CPU ID for
SCFW to wake up when system resume.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
-rw-r--r-- | plat/imx/imx8qm/imx8qm_psci.c | 4 | ||||
-rw-r--r-- | plat/imx/imx8qxp/imx8qxp_psci.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/plat/imx/imx8qm/imx8qm_psci.c b/plat/imx/imx8qm/imx8qm_psci.c index 76bdc637..4cfa7b69 100644 --- a/plat/imx/imx8qm/imx8qm_psci.c +++ b/plat/imx/imx8qm/imx8qm_psci.c @@ -229,7 +229,7 @@ void imx_domain_suspend(const psci_power_state_t *target_state) sc_pm_set_resource_power_mode(ipc_handle, SC_R_GIC, SC_PM_PW_MODE_OFF); if (cluster_id == 0) { - sc_pm_set_cpu_resume_addr(ipc_handle, ap_core_index[cpu_id], 0x080000000); + sc_pm_set_cpu_resume(ipc_handle, ap_core_index[cpu_id], true, 0x080000000); if (wakeup_src_irqsteer) sc_pm_req_cpu_low_power_mode(ipc_handle, ap_core_index[cpu_id], SC_PM_PW_MODE_OFF, SC_PM_WAKE_SRC_IRQSTEER); @@ -237,7 +237,7 @@ void imx_domain_suspend(const psci_power_state_t *target_state) sc_pm_req_cpu_low_power_mode(ipc_handle, ap_core_index[cpu_id], SC_PM_PW_MODE_OFF, SC_PM_WAKE_SRC_SCU); } else { - sc_pm_set_cpu_resume_addr(ipc_handle, ap_core_index[cpu_id + 4], 0x080000000); + sc_pm_set_cpu_resume(ipc_handle, ap_core_index[cpu_id + 4], true, 0x080000000); if (wakeup_src_irqsteer) sc_pm_req_cpu_low_power_mode(ipc_handle, ap_core_index[cpu_id + 4], SC_PM_PW_MODE_OFF, SC_PM_WAKE_SRC_IRQSTEER); diff --git a/plat/imx/imx8qxp/imx8qxp_psci.c b/plat/imx/imx8qxp/imx8qxp_psci.c index c98a5762..267ea225 100644 --- a/plat/imx/imx8qxp/imx8qxp_psci.c +++ b/plat/imx/imx8qxp/imx8qxp_psci.c @@ -193,7 +193,7 @@ void imx_domain_suspend(const psci_power_state_t *target_state) /* Put GIC in OFF mode. */ sc_pm_set_resource_power_mode(ipc_handle, SC_R_GIC, SC_PM_PW_MODE_OFF); - sc_pm_set_cpu_resume_addr(ipc_handle, ap_core_index[cpu_id], 0x080000000); + sc_pm_set_cpu_resume(ipc_handle, ap_core_index[cpu_id], true, 0x080000000); if (wakeup_src_irqsteer) sc_pm_req_cpu_low_power_mode(ipc_handle, ap_core_index[cpu_id], SC_PM_PW_MODE_OFF, SC_PM_WAKE_SRC_IRQSTEER); |