aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChandni Cherukuri <chandni.cherukuri@arm.com>2018-11-13 16:17:49 +0530
committerSandrine Bailleux <sandrine.bailleux@arm.com>2018-12-13 10:23:09 +0000
commitc6f0a5c47753e3d64c1882a230aa2b15b9268b87 (patch)
tree30403b5637ce6f02714f9d93c1991f0593dc38fa
parent8624474e73fce7c5bcd5ff3c66f3ed8a83dca044 (diff)
downloadtf-a-tests-c6f0a5c47753e3d64c1882a230aa2b15b9268b87.tar.gz
plat/arm/board/sgi: Add board support for SGI-575 platform
SGI-575 consists of two clusters of four Cortex-A75 CPU's each. The FVP for this platform does not support system suspend and resume functionality as there is no wakeup source supported. So all the system suspend and resume related tests are skipped. Change-Id: I758069d5ad1a3e3868260960b879a5a4d6b26496 Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com>
-rw-r--r--plat/arm/board/sgi/sgi575/include/platform_def.h16
-rw-r--r--plat/arm/board/sgi/sgi575/platform.mk13
-rw-r--r--plat/arm/board/sgi/sgi575/sgi575_topology.c58
-rw-r--r--plat/arm/board/sgi/sgi575/tests_to_skip.txt9
4 files changed, 96 insertions, 0 deletions
diff --git a/plat/arm/board/sgi/sgi575/include/platform_def.h b/plat/arm/board/sgi/sgi575/include/platform_def.h
new file mode 100644
index 000000000..3bceec3aa
--- /dev/null
+++ b/plat/arm/board/sgi/sgi575/include/platform_def.h
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2018, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef PLATFORM_DEF_H
+#define PLATFORM_DEF_H
+
+#include <sgi_base_platform_def.h>
+
+#define SGI_CLUSTER_COUNT 2
+#define SGI_MAX_CPUS_PER_CLUSTER 4
+#define SGI_MAX_PE_PER_CPU 1
+
+#endif /* PLATFORM_DEF_H */
diff --git a/plat/arm/board/sgi/sgi575/platform.mk b/plat/arm/board/sgi/sgi575/platform.mk
new file mode 100644
index 000000000..b5eb8b47d
--- /dev/null
+++ b/plat/arm/board/sgi/sgi575/platform.mk
@@ -0,0 +1,13 @@
+#
+# Copyright (c) 2018, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+include plat/arm/sgi/common/sgi_common.mk
+
+PLAT_INCLUDES += -Iplat/arm/board/sgi/sgi575/include/
+
+PLAT_SOURCES += plat/arm/board/sgi/sgi575/sgi575_topology.c
+
+PLAT_TESTS_SKIP_LIST := plat/arm/board/sgi/sgi575/tests_to_skip.txt
diff --git a/plat/arm/board/sgi/sgi575/sgi575_topology.c b/plat/arm/board/sgi/sgi575/sgi575_topology.c
new file mode 100644
index 000000000..bda06d3f3
--- /dev/null
+++ b/plat/arm/board/sgi/sgi575/sgi575_topology.c
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2018, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include <assert.h>
+#include <plat_topology.h>
+#include <tftf_lib.h>
+
+static const struct {
+ unsigned int cluster_id;
+ unsigned int cpu_id;
+} sgi575_cores[] = {
+ /* Cluster0: 4 cores*/
+ { 0, 0 },
+ { 0, 1 },
+ { 0, 2 },
+ { 0, 3 },
+ /* Cluster1: 4 cores */
+ { 1, 0 },
+ { 1, 1 },
+ { 1, 2 },
+ { 1, 3 },
+};
+
+/*
+ * The power domain tree descriptor. The cluster power domains are
+ * arranged so that when the PSCI generic code creates the power domain tree,
+ * the indices of the CPU power domain nodes it allocates match the linear
+ * indices returned by plat_core_pos_by_mpidr().
+ */
+const unsigned char sgi575_pd_tree_desc[] = {
+ /* Number of root nodes */
+ SGI_CLUSTER_COUNT,
+ /* Number of children for the 1st node */
+ SGI_MAX_CPUS_PER_CLUSTER,
+ /* Number of children for the 2nd node */
+ SGI_MAX_CPUS_PER_CLUSTER
+};
+
+const unsigned char *tftf_plat_get_pwr_domain_tree_desc(void)
+{
+ return sgi575_pd_tree_desc;
+}
+
+uint64_t tftf_plat_get_mpidr(unsigned int core_pos)
+{
+ unsigned int mpid;
+
+ assert(core_pos < PLATFORM_CORE_COUNT);
+
+ mpid = make_mpid(
+ sgi575_cores[core_pos].cluster_id,
+ sgi575_cores[core_pos].cpu_id);
+
+ return mpid;
+}
diff --git a/plat/arm/board/sgi/sgi575/tests_to_skip.txt b/plat/arm/board/sgi/sgi575/tests_to_skip.txt
new file mode 100644
index 000000000..802b5f706
--- /dev/null
+++ b/plat/arm/board/sgi/sgi575/tests_to_skip.txt
@@ -0,0 +1,9 @@
+#
+# Copyright (c) 2018, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+# System suspend is not supported as there are no wakeup sources in SGI-575 FVP
+PSCI STAT/Stats test cases after system suspend
+PSCI System Suspend Validation