diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/plat/arm/common/arm_def.h | 8 | ||||
-rw-r--r-- | include/plat/arm/common/plat_arm.h | 10 | ||||
-rw-r--r-- | include/plat/arm/css/common/css_pm.h | 1 |
3 files changed, 14 insertions, 5 deletions
diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h index c236970a..452c3856 100644 --- a/include/plat/arm/common/arm_def.h +++ b/include/plat/arm/common/arm_def.h @@ -44,7 +44,8 @@ /* Special value used to verify platform parameters from BL2 to BL3-1 */ #define ARM_BL31_PLAT_PARAM_VAL 0x0f1e2d3c4b5a6978ULL -#define ARM_CLUSTER_COUNT 2ull +#define ARM_CLUSTER_COUNT 2 +#define ARM_SYSTEM_COUNT 1 #define ARM_CACHE_WRITEBACK_SHIFT 6 @@ -54,6 +55,7 @@ */ #define ARM_PWR_LVL0 MPIDR_AFFLVL0 #define ARM_PWR_LVL1 MPIDR_AFFLVL1 +#define ARM_PWR_LVL2 MPIDR_AFFLVL2 /* * Macros for local power states in ARM platforms encoded by State-ID field @@ -179,10 +181,6 @@ #define ADDR_SPACE_SIZE (1ull << 32) -#define PLAT_NUM_PWR_DOMAINS (ARM_CLUSTER_COUNT + \ - PLATFORM_CORE_COUNT) -#define PLAT_MAX_PWR_LVL ARM_PWR_LVL1 - /* * This macro defines the deepest retention state possible. A higher state * id will represent an invalid or a power down state. diff --git a/include/plat/arm/common/plat_arm.h b/include/plat/arm/common/plat_arm.h index ad41f4f0..044e18ef 100644 --- a/include/plat/arm/common/plat_arm.h +++ b/include/plat/arm/common/plat_arm.h @@ -35,6 +35,7 @@ #include <cassert.h> #include <cpu_data.h> #include <stdint.h> +#include <xlat_tables.h> /* @@ -123,6 +124,11 @@ void arm_configure_mmu_el3(unsigned long total_base, (((lvl1_state) << ARM_LOCAL_PSTATE_WIDTH) | \ arm_make_pwrstate_lvl0(lvl0_state, pwr_lvl, type)) +/* Make composite power state parameter till power level 2 */ +#define arm_make_pwrstate_lvl2(lvl2_state, lvl1_state, lvl0_state, pwr_lvl, type) \ + (((lvl2_state) << (ARM_LOCAL_PSTATE_WIDTH * 2)) | \ + arm_make_pwrstate_lvl1(lvl1_state, lvl0_state, pwr_lvl, type)) + #endif /* __ARM_RECOM_STATE_ID_ENC__ */ @@ -135,10 +141,14 @@ void arm_io_setup(void); /* Security utility functions */ void arm_tzc_setup(void); +/* Systimer utility function */ +void arm_configure_sys_timer(void); + /* PM utility functions */ int arm_validate_power_state(unsigned int power_state, psci_power_state_t *req_state); int arm_validate_ns_entrypoint(uintptr_t entrypoint); +void arm_system_pwr_domain_resume(void); /* Topology utility function */ int arm_check_mpidr(u_register_t mpidr); diff --git a/include/plat/arm/css/common/css_pm.h b/include/plat/arm/css/common/css_pm.h index c19df92b..ea6a5d25 100644 --- a/include/plat/arm/css/common/css_pm.h +++ b/include/plat/arm/css/common/css_pm.h @@ -44,5 +44,6 @@ void css_pwr_domain_suspend_finish( void __dead2 css_system_off(void); void __dead2 css_system_reset(void); void css_cpu_standby(plat_local_state_t cpu_state); +void css_get_sys_suspend_power_state(psci_power_state_t *req_state); #endif /* __CSS_PM_H__ */ |