diff options
author | Soby Mathew <soby.mathew@arm.com> | 2018-12-03 13:29:33 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-03 13:29:33 +0000 |
commit | 41771df84944f7739a5bff18b1207e1dc2d3cc59 (patch) | |
tree | 72a8689db3884e7a8275414fe75e3d0b38739cc6 | |
parent | 500db01352337c56c200b4e3e1aa4b245fe53277 (diff) | |
parent | a83d4bd765af515e74062425ca45012d4247945a (diff) | |
download | platform_external_arm-trusted-firmware-41771df84944f7739a5bff18b1207e1dc2d3cc59.tar.gz platform_external_arm-trusted-firmware-41771df84944f7739a5bff18b1207e1dc2d3cc59.tar.bz2 platform_external_arm-trusted-firmware-41771df84944f7739a5bff18b1207e1dc2d3cc59.zip |
Merge pull request #1699 from chandnich/sgi-mt-support
Add support to implement multi-threaded platforms for SGI
-rw-r--r-- | include/plat/arm/common/arm_def.h | 1 | ||||
-rw-r--r-- | include/plat/arm/css/common/css_pm.h | 3 | ||||
-rw-r--r-- | plat/arm/board/juno/include/platform_def.h | 3 | ||||
-rw-r--r-- | plat/arm/board/n1sdp/include/platform_def.h | 2 | ||||
-rw-r--r-- | plat/arm/board/sgi575/include/platform_def.h | 5 | ||||
-rw-r--r-- | plat/arm/board/sgiclarka/include/platform_def.h | 5 | ||||
-rw-r--r-- | plat/arm/css/sgi/include/sgi_base_platform_def.h | 2 | ||||
-rw-r--r-- | plat/arm/css/sgi/sgi_topology.c | 8 | ||||
-rw-r--r-- | plat/arm/css/sgm/include/sgm_base_platform_def.h | 4 |
9 files changed, 28 insertions, 5 deletions
diff --git a/include/plat/arm/common/arm_def.h b/include/plat/arm/common/arm_def.h index d02a4059a..cbac247fc 100644 --- a/include/plat/arm/common/arm_def.h +++ b/include/plat/arm/common/arm_def.h @@ -34,6 +34,7 @@ #define ARM_PWR_LVL0 MPIDR_AFFLVL0 #define ARM_PWR_LVL1 MPIDR_AFFLVL1 #define ARM_PWR_LVL2 MPIDR_AFFLVL2 +#define ARM_PWR_LVL3 MPIDR_AFFLVL3 /* * Macros for local power states in ARM platforms encoded by State-ID field diff --git a/include/plat/arm/css/common/css_pm.h b/include/plat/arm/css/common/css_pm.h index eeb72de51..ff75c6916 100644 --- a/include/plat/arm/css/common/css_pm.h +++ b/include/plat/arm/css/common/css_pm.h @@ -11,9 +11,6 @@ #include <psci.h> #include <stdint.h> -/* System power domain at level 2, as currently implemented by CSS platforms */ -#define CSS_SYSTEM_PWR_DMN_LVL ARM_PWR_LVL2 - /* Macros to read the CSS power domain state */ #define CSS_CORE_PWR_STATE(state) (state)->pwr_domain_state[ARM_PWR_LVL0] #define CSS_CLUSTER_PWR_STATE(state) (state)->pwr_domain_state[ARM_PWR_LVL1] diff --git a/plat/arm/board/juno/include/platform_def.h b/plat/arm/board/juno/include/platform_def.h index 0bbe3e195..8098bc3fe 100644 --- a/plat/arm/board/juno/include/platform_def.h +++ b/plat/arm/board/juno/include/platform_def.h @@ -295,4 +295,7 @@ #define PLAT_ARM_PRIVATE_SDEI_EVENTS ARM_SDEI_PRIVATE_EVENTS #define PLAT_ARM_SHARED_SDEI_EVENTS ARM_SDEI_SHARED_EVENTS +/* System power domain level */ +#define CSS_SYSTEM_PWR_DMN_LVL ARM_PWR_LVL2 + #endif /* PLATFORM_DEF_H */ diff --git a/plat/arm/board/n1sdp/include/platform_def.h b/plat/arm/board/n1sdp/include/platform_def.h index 3e4839781..fa639ca95 100644 --- a/plat/arm/board/n1sdp/include/platform_def.h +++ b/plat/arm/board/n1sdp/include/platform_def.h @@ -32,6 +32,8 @@ N1SDP_MAX_CPUS_PER_CLUSTER * \ N1SDP_MAX_PE_PER_CPU) +/* System power domain level */ +#define CSS_SYSTEM_PWR_DMN_LVL ARM_PWR_LVL2 /* * PLAT_ARM_MMAP_ENTRIES depends on the number of entries in the diff --git a/plat/arm/board/sgi575/include/platform_def.h b/plat/arm/board/sgi575/include/platform_def.h index c06a0a1fa..16e2898de 100644 --- a/plat/arm/board/sgi575/include/platform_def.h +++ b/plat/arm/board/sgi575/include/platform_def.h @@ -20,4 +20,9 @@ #define SGI575_DMC620_BASE0 UL(0x4e000000) #define SGI575_DMC620_BASE1 UL(0x4e100000) +/* System power domain level */ +#define CSS_SYSTEM_PWR_DMN_LVL ARM_PWR_LVL2 + +#define PLAT_MAX_PWR_LVL ARM_PWR_LVL1 + #endif /* PLATFORM_DEF_H */ diff --git a/plat/arm/board/sgiclarka/include/platform_def.h b/plat/arm/board/sgiclarka/include/platform_def.h index ba6d0434b..39907e8bc 100644 --- a/plat/arm/board/sgiclarka/include/platform_def.h +++ b/plat/arm/board/sgiclarka/include/platform_def.h @@ -20,4 +20,9 @@ #define SGICLARKA_DMC620_BASE0 UL(0x4e000000) #define SGICLARKA_DMC620_BASE1 UL(0x4e100000) +/* System power domain level */ +#define CSS_SYSTEM_PWR_DMN_LVL ARM_PWR_LVL2 + +#define PLAT_MAX_PWR_LVL ARM_PWR_LVL1 + #endif /* PLATFORM_DEF_H */ diff --git a/plat/arm/css/sgi/include/sgi_base_platform_def.h b/plat/arm/css/sgi/include/sgi_base_platform_def.h index 1395373ce..8705d63b1 100644 --- a/plat/arm/css/sgi/include/sgi_base_platform_def.h +++ b/plat/arm/css/sgi/include/sgi_base_platform_def.h @@ -119,8 +119,6 @@ #define PLAT_ARM_NSRAM_BASE 0x06000000 #define PLAT_ARM_NSRAM_SIZE 0x00080000 /* 512KB */ -#define PLAT_MAX_PWR_LVL U(1) - #define PLAT_ARM_G1S_IRQ_PROPS(grp) CSS_G1S_IRQ_PROPS(grp) #define PLAT_ARM_G0_IRQ_PROPS(grp) ARM_G0_IRQ_PROPS(grp) diff --git a/plat/arm/css/sgi/sgi_topology.c b/plat/arm/css/sgi/sgi_topology.c index 3b7a57ad2..e524f11f7 100644 --- a/plat/arm/css/sgi/sgi_topology.c +++ b/plat/arm/css/sgi/sgi_topology.c @@ -44,3 +44,11 @@ const uint32_t plat_css_core_pos_to_scmi_dmn_id_map[32] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, \ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }; + +/****************************************************************************** + * Return the number of PE's supported by the CPU. + *****************************************************************************/ +unsigned int plat_arm_get_cpu_pe_count(u_register_t mpidr) +{ + return CSS_SGI_MAX_PE_PER_CPU; +} diff --git a/plat/arm/css/sgm/include/sgm_base_platform_def.h b/plat/arm/css/sgm/include/sgm_base_platform_def.h index a9795a484..2178f069a 100644 --- a/plat/arm/css/sgm/include/sgm_base_platform_def.h +++ b/plat/arm/css/sgm/include/sgm_base_platform_def.h @@ -239,4 +239,8 @@ */ #define PLAT_ARM_MEM_PROT_ADDR (V2M_FLASH0_BASE + \ V2M_FLASH0_SIZE - V2M_FLASH_BLOCK_SIZE) + +/* System power domain level */ +#define CSS_SYSTEM_PWR_DMN_LVL ARM_PWR_LVL2 + #endif /* SGM_BASE_PLATFORM_DEF_H */ |