summaryrefslogtreecommitdiff
path: root/plat/imx/imx8qxp/imx8qxp_psci.c
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2017-09-01 21:26:29 +0800
committerAbel Vesa <abel.vesa@nxp.com>2018-06-11 10:08:39 +0300
commit25a563d2b42458c963d186d1705620530c1e67c2 (patch)
tree5b77d116ff8885fe5c599597f23c9953d7867832 /plat/imx/imx8qxp/imx8qxp_psci.c
parent48cbdf4c441c549f425e9c56a2e14d961f678346 (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/imx8qxp_psci.c')
-rw-r--r--plat/imx/imx8qxp/imx8qxp_psci.c9
1 files changed, 9 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 */