mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-14 08:27:00 +02:00
The MSMC port defines were added to help in the case when some ports are not connected and have no cores attached. We can get the same functionality by defined the number of cores on that port to zero. This simplifies several code paths, do this here. Signed-off-by: Andrew F. Davis <afd@ti.com> Change-Id: I3247fe37af7b86c3227e647b4f617fab70c8ee8a
47 lines
966 B
C
47 lines
966 B
C
/*
|
|
* Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#include <platform_def.h>
|
|
|
|
#include <lib/psci/psci.h>
|
|
|
|
/* The power domain tree descriptor */
|
|
static unsigned char power_domain_tree_desc[] = {
|
|
PLATFORM_SYSTEM_COUNT,
|
|
PLATFORM_CLUSTER_COUNT,
|
|
K3_CLUSTER0_CORE_COUNT,
|
|
K3_CLUSTER1_CORE_COUNT,
|
|
K3_CLUSTER2_CORE_COUNT,
|
|
K3_CLUSTER3_CORE_COUNT,
|
|
};
|
|
|
|
const unsigned char *plat_get_power_domain_tree_desc(void)
|
|
{
|
|
return power_domain_tree_desc;
|
|
}
|
|
|
|
int plat_core_pos_by_mpidr(u_register_t mpidr)
|
|
{
|
|
unsigned int cluster = MPIDR_AFFLVL1_VAL(mpidr);
|
|
unsigned int core = MPIDR_AFFLVL0_VAL(mpidr);
|
|
|
|
if (MPIDR_AFFLVL3_VAL(mpidr) > 0 ||
|
|
MPIDR_AFFLVL2_VAL(mpidr) > 0) {
|
|
return -1;
|
|
}
|
|
|
|
if (cluster > 0)
|
|
core += K3_CLUSTER0_CORE_COUNT;
|
|
if (cluster > 1)
|
|
core += K3_CLUSTER1_CORE_COUNT;
|
|
if (cluster > 2)
|
|
core += K3_CLUSTER2_CORE_COUNT;
|
|
if (cluster > 3)
|
|
return -1;
|
|
|
|
return core;
|
|
}
|