diff options
author | Anson Huang <Anson.Huang@nxp.com> | 2017-09-01 21:26:29 +0800 |
---|---|---|
committer | Abel Vesa <abel.vesa@nxp.com> | 2018-06-11 10:08:39 +0300 |
commit | 25a563d2b42458c963d186d1705620530c1e67c2 (patch) | |
tree | 5b77d116ff8885fe5c599597f23c9953d7867832 /plat/imx/imx8qxp | |
parent | 48cbdf4c441c549f425e9c56a2e14d961f678346 (diff) |
imx8qxp: add board reset support
Add i.MX8QXP board reset support.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Diffstat (limited to 'plat/imx/imx8qxp')
-rw-r--r-- | plat/imx/imx8qxp/imx8qxp_psci.c | 9 | ||||
-rw-r--r-- | plat/imx/imx8qxp/include/sec_rsrc.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/plat/imx/imx8qxp/imx8qxp_psci.c b/plat/imx/imx8qxp/imx8qxp_psci.c index 516dd59d..2517ac6d 100644 --- a/plat/imx/imx8qxp/imx8qxp_psci.c +++ b/plat/imx/imx8qxp/imx8qxp_psci.c @@ -172,6 +172,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, @@ -182,6 +190,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/imx/imx8qxp/include/sec_rsrc.h b/plat/imx/imx8qxp/include/sec_rsrc.h index 46585881..4d7e62de 100644 --- a/plat/imx/imx8qxp/include/sec_rsrc.h +++ b/plat/imx/imx8qxp/include/sec_rsrc.h @@ -10,6 +10,7 @@ sc_rsrc_t secure_rsrcs[] = { SC_R_A35_2, SC_R_A35_3, SC_R_GIC, + SC_R_SYSTEM, }; /* resources that have register access for non-secure domain */ |