Commit 982261f7 authored by Chandni Cherukuri's avatar Chandni Cherukuri
Browse files

plat/arm/sgi: add platform support for SGI-Clark.Helios platform



SGI-Clark.Helios platform is based on multi-threaded CPUs and uses an
additional thread power domain level as well.

Define a power domain tree descriptor 'sgi_clark_helios_pd_tree_desc'
for SGI-Clark.Helios platform and let the function
'plat_get_power_domain_tree_desc' pick up the correct power
domain tree descriptor based on the platform.

Change-Id: Ibc6d551b570bc740053316a3608c455679d9155b
Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
parent 19b56cf4
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
/* SID Version values for SGI-Clark */ /* SID Version values for SGI-Clark */
#define SGI_CLARK_SID_VER_PART_NUM 0x0786 #define SGI_CLARK_SID_VER_PART_NUM 0x0786
#define SGI_CLARK_HELIOS_CONFIG_ID 0x2
/* Structure containing SGI platform variant information */ /* Structure containing SGI platform variant information */
typedef struct sgi_platform_info { typedef struct sgi_platform_info {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
*/ */
#include <plat_arm.h> #include <plat_arm.h>
#include <sgi_variant.h>
/* Topology */ /* Topology */
/* /*
...@@ -19,11 +20,38 @@ const unsigned char sgi_pd_tree_desc[] = { ...@@ -19,11 +20,38 @@ const unsigned char sgi_pd_tree_desc[] = {
CSS_SGI_MAX_CPUS_PER_CLUSTER CSS_SGI_MAX_CPUS_PER_CLUSTER
}; };
/* SGI-Clark.Helios platform consists of 16 physical CPUS and 32 threads */
const unsigned char sgi_clark_helios_pd_tree_desc[] = {
PLAT_ARM_CLUSTER_COUNT,
CSS_SGI_MAX_CPUS_PER_CLUSTER,
CSS_SGI_MAX_CPUS_PER_CLUSTER,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU,
CSS_SGI_MAX_PE_PER_CPU
};
/******************************************************************************* /*******************************************************************************
* This function returns the topology tree information. * This function returns the topology tree information.
******************************************************************************/ ******************************************************************************/
const unsigned char *plat_get_power_domain_tree_desc(void) const unsigned char *plat_get_power_domain_tree_desc(void)
{ {
if (sgi_plat_info.platform_id == SGI_CLARK_SID_VER_PART_NUM &&
sgi_plat_info.config_id == SGI_CLARK_HELIOS_CONFIG_ID)
return sgi_clark_helios_pd_tree_desc;
else
return sgi_pd_tree_desc; return sgi_pd_tree_desc;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment