Commit a50a5830 authored by Chandni Cherukuri's avatar Chandni Cherukuri
Browse files

plat/arm/sgi: remove unused code



On SGI platforms, the interconnect is setup by the SCP and so the
existing unused interconnect setup in sgi575 platform code can be
removed. As a result of this, sgi_plat_config.c and sgi_bl1_setup.c
files can be removed as these files are now empty or can be
substainated by the existing weak functions.

Change-Id: I3c883e4d1959d890bf2213a9be01f02551ea3a45
Signed-off-by: default avatarChandni Cherukuri <chandni.cherukuri@arm.com>
parent 91e6f26f
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef __SGI_PLAT_CONFIG_H__
#define __SGI_PLAT_CONFIG_H__
#include <ccn.h>
#include <gicv3.h>
/* The type of interconnect */
typedef enum {
ARM_CCI = 0,
ARM_CCN,
ARM_CMN
} css_inteconn_type_t;
typedef ccn_desc_t inteconn_desc_t;
/* Interconnect configurations */
typedef struct css_inteconn_config {
css_inteconn_type_t ip_type;
const inteconn_desc_t *plat_inteconn_desc;
} css_inteconn_config_t;
/* Topology configurations */
typedef struct css_topology {
const unsigned char *power_tree;
unsigned int plat_cluster_core_count;
} css_topology_t;
typedef struct css_plat_config {
const gicv3_driver_data_t *gic_data;
const css_inteconn_config_t *inteconn;
const css_topology_t *topology;
} css_plat_config_t;
void plat_config_init(void);
css_plat_config_t *get_plat_config(void);
#endif /* __SGI_PLAT_CONFIG_H__ */
...@@ -33,9 +33,7 @@ ENT_GIC_SOURCES := drivers/arm/gic/common/gic_common.c \ ...@@ -33,9 +33,7 @@ ENT_GIC_SOURCES := drivers/arm/gic/common/gic_common.c \
PLAT_BL_COMMON_SOURCES += ${CSS_ENT_BASE}/sgi_plat.c \ PLAT_BL_COMMON_SOURCES += ${CSS_ENT_BASE}/sgi_plat.c \
${CSS_ENT_BASE}/aarch64/sgi_helper.S ${CSS_ENT_BASE}/aarch64/sgi_helper.S
BL1_SOURCES += ${INTERCONNECT_SOURCES} \ BL1_SOURCES += ${INTERCONNECT_SOURCES}
${CSS_ENT_BASE}/sgi_bl1_setup.c \
${CSS_ENT_BASE}/sgi_plat_config.c
BL2_SOURCES += ${CSS_ENT_BASE}/sgi_security.c \ BL2_SOURCES += ${CSS_ENT_BASE}/sgi_security.c \
${CSS_ENT_BASE}/sgi_image_load.c ${CSS_ENT_BASE}/sgi_image_load.c
...@@ -43,8 +41,7 @@ BL2_SOURCES += ${CSS_ENT_BASE}/sgi_security.c \ ...@@ -43,8 +41,7 @@ BL2_SOURCES += ${CSS_ENT_BASE}/sgi_security.c \
BL31_SOURCES += ${INTERCONNECT_SOURCES} \ BL31_SOURCES += ${INTERCONNECT_SOURCES} \
${ENT_GIC_SOURCES} \ ${ENT_GIC_SOURCES} \
${CSS_ENT_BASE}/sgi_bl31_setup.c \ ${CSS_ENT_BASE}/sgi_bl31_setup.c \
${CSS_ENT_BASE}/sgi_topology.c \ ${CSS_ENT_BASE}/sgi_topology.c
${CSS_ENT_BASE}/sgi_plat_config.c
ifeq (${RAS_EXTENSION},1) ifeq (${RAS_EXTENSION},1)
BL31_SOURCES += ${CSS_ENT_BASE}/sgi_ras.c BL31_SOURCES += ${CSS_ENT_BASE}/sgi_ras.c
......
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <bl_common.h>
#include <debug.h>
#include <plat_arm.h>
#include <sgi_plat_config.h>
#include <soc_css.h>
void bl1_early_platform_setup(void)
{
/* Initialize the platform configuration structure */
plat_config_init();
arm_bl1_early_platform_setup();
}
...@@ -7,15 +7,11 @@ ...@@ -7,15 +7,11 @@
#include <bl_common.h> #include <bl_common.h>
#include <debug.h> #include <debug.h>
#include <plat_arm.h> #include <plat_arm.h>
#include <sgi_plat_config.h>
#include <sgi_ras.h> #include <sgi_ras.h>
void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1, void bl31_early_platform_setup2(u_register_t arg0, u_register_t arg1,
u_register_t arg2, u_register_t arg3) u_register_t arg2, u_register_t arg3)
{ {
/* Initialize the platform configuration structure */
plat_config_init();
arm_bl31_early_platform_setup((void *)arg0, arg1, arg2, (void *)arg3); arm_bl31_early_platform_setup((void *)arg0, arg1, arg2, (void *)arg3);
} }
......
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
#include <arch_helpers.h> #include <arch_helpers.h>
#include <debug.h> #include <debug.h>
#include <sgi_plat_config.h>
/* /*
* For SGI575 which support FCM (with automatic interconnect enter/exit), * For SGI575 which support FCM (with automatic interconnect enter/exit),
......
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <assert.h>
#include <debug.h>
#include <plat_arm.h>
#include <platform_def.h>
#include <sgi_variant.h>
#include <sgi_plat_config.h>
#include <string.h>
static css_plat_config_t *css_plat_info;
/* GIC */
/* The GICv3 driver only needs to be initialized in EL3 */
uintptr_t rdistif_base_addrs[PLATFORM_CORE_COUNT];
/* Interconnect configuration for SGI575 */
const css_inteconn_config_t sgi575_inteconn = {
.ip_type = ARM_CMN,
.plat_inteconn_desc = NULL
};
/* Configuration structure for SGI575 */
css_plat_config_t sgi575_config = {
.inteconn = &sgi575_inteconn,
};
/*******************************************************************************
* This function initializes the platform sturcture.
******************************************************************************/
void plat_config_init(void)
{
/* Get the platform configurations */
switch (GET_SGI_PART_NUM) {
case SGI575_SSC_VER_PART_NUM:
css_plat_info = &sgi575_config;
break;
default:
ERROR("Not a valid sgi variant!\n");
panic();
}
}
/*******************************************************************************
* This function returns the platform structure pointer.
******************************************************************************/
css_plat_config_t *get_plat_config(void)
{
assert(css_plat_info != NULL);
return css_plat_info;
}
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
*/ */
#include <plat_arm.h> #include <plat_arm.h>
#include <sgi_plat_config.h>
/* Topology */ /* Topology */
/* /*
...@@ -20,18 +19,12 @@ const unsigned char sgi_pd_tree_desc[] = { ...@@ -20,18 +19,12 @@ const unsigned char sgi_pd_tree_desc[] = {
CSS_SGI_MAX_CPUS_PER_CLUSTER CSS_SGI_MAX_CPUS_PER_CLUSTER
}; };
/* Topology configuration for sgi platform */
const css_topology_t sgi_topology = {
.power_tree = sgi_pd_tree_desc,
.plat_cluster_core_count = CSS_SGI_MAX_CPUS_PER_CLUSTER
};
/******************************************************************************* /*******************************************************************************
* 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)
{ {
return sgi_topology.power_tree; return sgi_pd_tree_desc;
} }
/******************************************************************************* /*******************************************************************************
...@@ -40,7 +33,7 @@ const unsigned char *plat_get_power_domain_tree_desc(void) ...@@ -40,7 +33,7 @@ const unsigned char *plat_get_power_domain_tree_desc(void)
******************************************************************************/ ******************************************************************************/
unsigned int plat_arm_get_cluster_core_count(u_register_t mpidr) unsigned int plat_arm_get_cluster_core_count(u_register_t mpidr)
{ {
return sgi_topology.plat_cluster_core_count; return CSS_SGI_MAX_CPUS_PER_CLUSTER;
} }
/******************************************************************************* /*******************************************************************************
......
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