tc: Add SVE test config for TC3

Take the TC2 SVE test config as a reference.

Change-Id: I4bdfdd9e3ffe5670c5eb885e82f047a8b2a7e7b0
Signed-off-by: David Vincze <david.vincze@arm.com>
diff --git a/group/tf-l2-boot-tests-misc/fvp-tc3-sve,fvp-tc3-cpu-extensions+sve:fvp-fip.tc.tftf-tc3+sve b/group/tf-l2-boot-tests-misc/fvp-tc3-sve,fvp-tc3-cpu-extensions+sve:fvp-fip.tc.tftf-tc3+sve
new file mode 100644
index 0000000..19363ec
--- /dev/null
+++ b/group/tf-l2-boot-tests-misc/fvp-tc3-sve,fvp-tc3-cpu-extensions+sve:fvp-fip.tc.tftf-tc3+sve
@@ -0,0 +1,5 @@
+#
+# Copyright (c) 2024 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
diff --git a/run_config/fvp-fip.tc.tftf b/run_config/fvp-fip.tc.tftf
index aecc23f..4a90f60 100644
--- a/run_config/fvp-fip.tc.tftf
+++ b/run_config/fvp-fip.tc.tftf
@@ -7,13 +7,22 @@
 source "$ci_root/run_config/tc_rse_utils.sh"
 
 post_tf_build() {
-	# Use SCP binary from SCP build if it exists, or fetch pre-built ones.
-	if [ ! -f "$archive/scp_ram.bin" ]; then
-		url="$scp_mcp_downloads/totalcompute/tc$plat_variant/platform_variant_0/release/tc$plat_variant-bl2.bin" saveas="scp_ram.bin" fetch_file
-		archive_file "scp_ram.bin"
+	if [ $plat_variant -eq 3 ]; then
+		# Use pre-built SCP BL2 binary
+		url="$tfa_downloads/total_compute/tc$plat_variant/scp/$scp_revision/tc$plat_variant-bl2.bin" saveas="scp_ram.bin" fetch_file
+	else
+		# Use SCP binary from SCP build if it exists, or fetch pre-built ones.
+		if [ ! -f "$archive/scp_ram.bin" ]; then
+			url="$scp_mcp_downloads/totalcompute/tc$plat_variant/platform_variant_0/release/tc$plat_variant-bl2.bin" saveas="scp_ram.bin" fetch_file
+		fi
 	fi
+	archive_file "scp_ram.bin"
 
-	build_fip BL33="$archive/tftf.bin" SCP_BL2="$archive/scp_ram.bin"
+	if [ $plat_variant -eq 3 ]; then
+		build_fip BL33="$archive/tftf.bin" SCP_BL2="$archive/scp_ram.bin"
+	else
+		build_fip BL33="$archive/tftf.bin"
+	fi
 }
 
 fetch_tf_resource() {
diff --git a/run_config/fvp-tc3+sve b/run_config/fvp-tc3+sve
new file mode 100644
index 0000000..1ff9182
--- /dev/null
+++ b/run_config/fvp-tc3+sve
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2022-2024, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+generate_lava_job() {
+	local model="tc3"
+
+	uart="1" set_expect_variable "num_cpus" "8"
+
+	set_run_env "ports_script" "$ci_root/model/tc3-ports.awk"
+	set_run_env "num_uarts" "4"
+
+	model="$model" \
+		sve_plugin="1" \
+		gen_model_params
+	model="$model" gen_fvp_yaml
+}
diff --git a/tf_config/fvp-tc3-sve b/tf_config/fvp-tc3-sve
new file mode 100644
index 0000000..4088594
--- /dev/null
+++ b/tf_config/fvp-tc3-sve
@@ -0,0 +1,14 @@
+CROSS_COMPILE=aarch64-none-elf-
+ARM_ARCH_MAJOR=8
+ARM_ARCH_MINOR=7
+PLAT=tc
+TARGET_PLATFORM=3
+ENABLE_FEAT_AMU=1
+ENABLE_FEAT_AMUv1p1=1
+ENABLE_AMU_AUXILIARY_COUNTERS=1
+ENABLE_MPMM=1
+ENABLE_SVE_FOR_NS=1
+ENABLE_SVE_FOR_SWD=1
+ARM_ARCH_FEATURE=sve
+ARM_GPT_SUPPORT=1
+SCP_BL2=/dev/null
diff --git a/tftf_config/fvp-tc3-cpu-extensions+sve b/tftf_config/fvp-tc3-cpu-extensions+sve
new file mode 100644
index 0000000..59ea82e
--- /dev/null
+++ b/tftf_config/fvp-tc3-cpu-extensions+sve
@@ -0,0 +1,8 @@
+ARM_ARCH_FEATURE=memtag+sve
+ARM_ARCH_MAJOR=8
+ARM_ARCH_MINOR=7
+CROSS_COMPILE=aarch64-none-elf-
+PLAT=tc
+TARGET_PLATFORM=3
+TESTS=cpu-extensions
+PLAT_AMU_GROUP1_COUNTERS_MASK=4