diff options
Diffstat (limited to 'plat/rockchip/common/plat_pm.c')
-rw-r--r-- | plat/rockchip/common/plat_pm.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/plat/rockchip/common/plat_pm.c b/plat/rockchip/common/plat_pm.c index fcd47a8c..d20a683b 100644 --- a/plat/rockchip/common/plat_pm.c +++ b/plat/rockchip/common/plat_pm.c @@ -52,7 +52,6 @@ static struct rockchip_pm_ops_cb *rockchip_ops; static void plat_rockchip_sys_pwr_domain_resume(void) { - plat_rockchip_gic_init(); if (rockchip_ops && rockchip_ops->sys_pwr_dm_resume) rockchip_ops->sys_pwr_dm_resume(); } @@ -62,8 +61,6 @@ static void plat_rockchip_cores_pwr_domain_resume(void) if (rockchip_ops && rockchip_ops->cores_pwr_dm_resume) rockchip_ops->cores_pwr_dm_resume(); - /* Enable the gic cpu interface */ - plat_rockchip_gic_pcpu_init(); /* Program the gic per-cpu distributor or re-distributor interface */ plat_rockchip_gic_cpuif_enable(); } @@ -256,6 +253,16 @@ static void __dead2 rockchip_system_reset(void) } /******************************************************************************* + * RockChip handlers to power off the system + ******************************************************************************/ +static void __dead2 rockchip_system_poweroff(void) +{ + assert(rockchip_ops && rockchip_ops->system_off); + + rockchip_ops->system_off(); +} + +/******************************************************************************* * Export the platform handlers via plat_rockchip_psci_pm_ops. The rockchip * standard * platform layer will take care of registering the handlers with PSCI. @@ -268,6 +275,7 @@ const plat_psci_ops_t plat_rockchip_psci_pm_ops = { .pwr_domain_on_finish = rockchip_pwr_domain_on_finish, .pwr_domain_suspend_finish = rockchip_pwr_domain_suspend_finish, .system_reset = rockchip_system_reset, + .system_off = rockchip_system_poweroff, .validate_power_state = rockchip_validate_power_state, .get_sys_suspend_power_state = rockchip_get_sys_suspend_power_state }; |