diff options
Diffstat (limited to 'lib/psci/psci_suspend.c')
-rw-r--r-- | lib/psci/psci_suspend.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/psci/psci_suspend.c b/lib/psci/psci_suspend.c index 47988926..a9428ba1 100644 --- a/lib/psci/psci_suspend.c +++ b/lib/psci/psci_suspend.c @@ -234,8 +234,21 @@ exit: * requested at multiple power levels. This means that the cpu * context will be preserved. */ + +#ifdef SYSTEM_SUSPEND_USE_STANDBY + write_icc_igrpen1_el1(1); + write_scr_el3(read_scr_el3() | 0x4); + isb(); +#endif + wfi(); +#ifdef SYSTEM_SUSPEND_USE_STANDBY + write_icc_igrpen1_el1(0); + write_scr_el3(read_scr_el3() & (~0x4)); + isb(); +#endif + #if ENABLE_PSCI_STAT plat_psci_stat_accounting_stop(state_info); psci_stats_update_pwr_up(end_pwrlvl, state_info); |