diff options
Diffstat (limited to 'include/bl31/services/psci.h')
-rw-r--r-- | include/bl31/services/psci.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/bl31/services/psci.h b/include/bl31/services/psci.h index 95e77809..20aa52e9 100644 --- a/include/bl31/services/psci.h +++ b/include/bl31/services/psci.h @@ -80,6 +80,10 @@ #define PSCI_FEATURES 0x8400000A #define PSCI_SYSTEM_SUSPEND_AARCH32 0x8400000E #define PSCI_SYSTEM_SUSPEND_AARCH64 0xc400000E +#define PSCI_STAT_RESIDENCY_AARCH32 0x84000010 +#define PSCI_STAT_RESIDENCY_AARCH64 0xc4000010 +#define PSCI_STAT_COUNT_AARCH32 0x84000011 +#define PSCI_STAT_COUNT_AARCH64 0xc4000011 /* Macro to help build the psci capabilities bitfield */ #define define_psci_cap(x) (1 << (x & 0x1f)) @@ -87,7 +91,11 @@ /* * Number of PSCI calls (above) implemented */ +#if ENABLE_PSCI_STAT +#define PSCI_NUM_CALLS 22 +#else #define PSCI_NUM_CALLS 18 +#endif /******************************************************************************* * PSCI Migrate and friends @@ -274,6 +282,11 @@ typedef struct plat_psci_ops { int (*validate_ns_entrypoint)(uintptr_t ns_entrypoint); void (*get_sys_suspend_power_state)( psci_power_state_t *req_state); + int (*get_pwr_lvl_state_idx)(plat_local_state_t pwr_domain_state, + int pwrlvl); + int (*translate_power_state_by_mpidr)(u_register_t mpidr, + unsigned int power_state, + psci_power_state_t *output_state); } plat_psci_ops_t; /******************************************************************************* |