diff options
Diffstat (limited to 'plat/freescale/imx8qxp/imx8qxp_psci.c')
-rw-r--r-- | plat/freescale/imx8qxp/imx8qxp_psci.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/plat/freescale/imx8qxp/imx8qxp_psci.c b/plat/freescale/imx8qxp/imx8qxp_psci.c index b2356ec0..6f2883f4 100644 --- a/plat/freescale/imx8qxp/imx8qxp_psci.c +++ b/plat/freescale/imx8qxp/imx8qxp_psci.c @@ -193,6 +193,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, @@ -203,6 +211,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 */ |