• Soby Mathew's avatar
    Allow multi cluster topology definitions for ARM platforms · 0108047a
    Soby Mathew authored
    The common topology description helper funtions and macros for
    ARM Standard platforms assumed a dual cluster system. This is not
    flexible enough to scale to multi cluster platforms. This patch does
    the following changes for more flexibility in defining topology:
    
    1. The `plat_get_power_domain_tree_desc()` definition is moved from
       `arm_topology.c` to platform specific files, that is `fvp_topology.c`
       and `juno_topology.c`. Similarly the common definition of the porting
       macro `PLATFORM_CORE_COUNT` in `arm_def.h` is moved to platform
       specific `platform_def.h` header.
    
    2. The ARM common layer porting macros which were dual cluster specific
       are now removed and a new macro PLAT_ARM_CLUSTER_COUNT is introduced
       which must be defined by each ARM standard platform.
    
    3. A new mandatory ARM common layer porting API
       `plat_arm_get_cluster_core_count()` is introduced to enable the common
       implementation of `arm_check_mpidr()` to validate MPIDR.
    
    4. For the FVP platforms, a new build option `FVP_NUM_CLUSTERS` has been
       introduced which allows the user to specify the cluster count to be
       used to build the topology tree within Trusted Firmare. This enables
       Trusted Firmware to be built for multi cluster FVP models.
    
    Change-Id: Ie7a2e38e5661fe2fdb2c8fdf5641d2b2614c2b6b
    0108047a
arm_topology.c 2.46 KB