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: Chandni Cherukuri <chandni.cherukuri@arm.com>
This commit is contained in:
Chandni Cherukuri 2018-10-16 14:15:31 +05:30
parent 19b56cf4a2
commit 982261f7ec
2 changed files with 30 additions and 1 deletions

View File

@ -12,6 +12,7 @@
/* SID Version values for SGI-Clark */
#define SGI_CLARK_SID_VER_PART_NUM 0x0786
#define SGI_CLARK_HELIOS_CONFIG_ID 0x2
/* Structure containing SGI platform variant information */
typedef struct sgi_platform_info {

View File

@ -5,6 +5,7 @@
*/
#include <plat_arm.h>
#include <sgi_variant.h>
/* Topology */
/*
@ -19,12 +20,39 @@ const unsigned char sgi_pd_tree_desc[] = {
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.
******************************************************************************/
const unsigned char *plat_get_power_domain_tree_desc(void)
{
return sgi_pd_tree_desc;
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;
}
/*******************************************************************************