diff options
author | Anson Huang <Anson.Huang@nxp.com> | 2017-08-31 18:47:39 +0800 |
---|---|---|
committer | Anson Huang <Anson.Huang@nxp.com> | 2017-09-01 21:10:47 +0800 |
commit | 579d0a02c4bcb58dbb85ae8036891c050d77edee (patch) | |
tree | fb65e9cfa2cfa5ef6e4b1e0074708714ca1b1914 | |
parent | 8fa9a67cc4938ce6c2c1c09a2d0c9e3f7dcd835c (diff) |
imx8qm: add board reboot support
Add i.MX8QM board reboot support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
-rw-r--r-- | plat/freescale/imx8qm/imx8qm_psci.c | 9 | ||||
-rw-r--r-- | plat/freescale/imx8qm/include/sec_rsrc.h | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/plat/freescale/imx8qm/imx8qm_psci.c b/plat/freescale/imx8qm/imx8qm_psci.c index 1f038f18..7cc80c88 100644 --- a/plat/freescale/imx8qm/imx8qm_psci.c +++ b/plat/freescale/imx8qm/imx8qm_psci.c @@ -216,6 +216,14 @@ void imx_get_sys_suspend_power_state(psci_power_state_t *req_state) req_state->pwr_domain_state[i] = PLAT_MAX_RET_STATE; } +void __attribute__((noreturn)) imx_system_reset(void) +{ + sc_pm_reset(ipc_handle, SC_PM_RESET_TYPE_BOARD); + + while (1) + ; +} + static const plat_psci_ops_t imx_plat_psci_ops = { .pwr_domain_on = imx_pwr_domain_on, .pwr_domain_on_finish = imx_pwr_domain_on_finish, @@ -226,6 +234,7 @@ static const plat_psci_ops_t imx_plat_psci_ops = { .pwr_domain_suspend = imx_domain_suspend, .pwr_domain_suspend_finish = imx_domain_suspend_finish, .get_sys_suspend_power_state = imx_get_sys_suspend_power_state, + .system_reset = imx_system_reset, }; /* export the platform specific psci ops */ diff --git a/plat/freescale/imx8qm/include/sec_rsrc.h b/plat/freescale/imx8qm/include/sec_rsrc.h index b05f0aa0..7a1ee361 100644 --- a/plat/freescale/imx8qm/include/sec_rsrc.h +++ b/plat/freescale/imx8qm/include/sec_rsrc.h @@ -14,7 +14,8 @@ sc_rsrc_t secure_rsrcs[] = { SC_R_A72_1, SC_R_GIC, SC_R_GIC_SMMU, - SC_R_CCI + SC_R_CCI, + SC_R_SYSTEM }; /* resources that have register access for non-secure domain */ |