diff options
Diffstat (limited to 'product/rdn1e1/src/config_sid.c')
-rw-r--r-- | product/rdn1e1/src/config_sid.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/product/rdn1e1/src/config_sid.c b/product/rdn1e1/src/config_sid.c index 2e57223d..af33311a 100644 --- a/product/rdn1e1/src/config_sid.c +++ b/product/rdn1e1/src/config_sid.c @@ -10,6 +10,27 @@ #include <mod_sid.h> #include <scp_rdn1e1_mmap.h> +#define RDN1E1_CORE_PER_CLUSTER_MAX 16 +#define CORES_PER_CLUSTER_RDN1 4 +#define CORES_PER_CLUSTER_RDE1 16 +#define NUMBER_OF_CLUSTERS 2 +#define RDE1EDGE_CONFIG_NUM 2 + +unsigned int infra_get_core_count(void) +{ + int status; + const struct mod_sid_info *system_info; + + status = mod_sid_get_system_info(&system_info); + if (status != FWK_SUCCESS) + return status; + + if (system_info->config_number == RDE1EDGE_CONFIG_NUM) + return NUMBER_OF_CLUSTERS * CORES_PER_CLUSTER_RDE1; + else + return NUMBER_OF_CLUSTERS * CORES_PER_CLUSTER_RDN1; +} + static const struct fwk_element subsystem_table[] = { { .name = "RDN1E1", |