blob: 87dfbfacf146ed4e3d93e92f5e099678ec7c767b [file] [log] [blame]
From 50e63f11762348bcd95d809af248f620f03d9ce4 Mon Sep 17 00:00:00 2001
From: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Date: Fri, 11 Feb 2022 18:16:54 +0000
Subject: [PATCH 3/4] tc0: rename platform variant to platform feature set
THe PLATFORM_VARIANT flag was added to differentiate the software
features enabled in SCP firmware. But this flag misleads to a new
variant of same platform. This commits renames PLATFORM_VARIANT to
PLATFORM_FEATURE_SET
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Change-Id: I93c0bc3e11fe18192bb8246df851345bdc473974
Upstream-Status: Pending [Not submitted to upstream yet]
Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com>
---
product/tc0/doc/{variants.md => features.md} | 28 +++++++++-----------
product/tc0/scp_ramfw/CMakeLists.txt | 26 +++---------------
product/tc0/scp_ramfw/Firmware.cmake | 2 +-
product/tc0/scp_ramfw/config_scmi_perf.c | 8 +++---
product/tc0/scp_romfw/CMakeLists.txt | 6 ++---
product/tc0/scp_romfw/Firmware.cmake | 2 +-
6 files changed, 25 insertions(+), 47 deletions(-)
rename product/tc0/doc/{variants.md => features.md} (77%)
diff --git a/product/tc0/doc/variants.md b/product/tc0/doc/features.md
similarity index 77%
rename from product/tc0/doc/variants.md
rename to product/tc0/doc/features.md
index fbf616db..3ef520e2 100644
--- a/product/tc0/doc/variants.md
+++ b/product/tc0/doc/features.md
@@ -1,4 +1,4 @@
-# TC0 Platform Variants
+# TC0 Platform Features
Copyright (c) 2022, Arm Limited. All rights reserved.
@@ -7,30 +7,27 @@ Copyright (c) 2022, Arm Limited. All rights reserved.
Documentation for TC0 platform can be found at [1].
+### Standard
+
+The standard build provides all the features described in [1].
+For this default features, it's not required to provide any extra parameters in
+the build commands.
+
+### MPMM/Power/Performance (Experimental)
+
For the purpose of experimenting some of the software features that have been
-introduced in SCP-firmware a new variant of TC0 has been created.
-The variant(s) can be chosen at build time by adding:
+introduced in SCP-firmware of TC0. This can be enabled at build time, by adding:
```sh
make -f Makefile.cmake \
PRODUCT=tc0 \
MODE=<debug,release> \
- PLATFORM_VARIANT=<0,1>
+ EXTRA_CONFIG_ARGS+=-DSCP_PLATFORM_FEATURE_SET=1
```
-
-### Variant 0 (Standard build)
-
-The standard build provides all the features described in [1].
-For this default variant, it's not required to provide any extra parameters in
-the build commands.
-
-
-### Variant 1 (Power/Performance testing)
-
-This variant adds support for the following software features:
+This adds support for the following software features:
- Traffic Cop
- MPMM (Maximum Power Mitigation Mechanism)
- Thermal Management
@@ -63,7 +60,6 @@ Once built, the features above will act as:
## Limitations
-- The "variant" option is available only with the CMake build.
- The Thermal functionality is limited at this time cause the constant
temperature being sampled.
diff --git a/product/tc0/scp_ramfw/CMakeLists.txt b/product/tc0/scp_ramfw/CMakeLists.txt
index 96310320..ce3178ee 100644
--- a/product/tc0/scp_ramfw/CMakeLists.txt
+++ b/product/tc0/scp_ramfw/CMakeLists.txt
@@ -11,25 +11,13 @@
add_executable(tc0-bl2)
+set(SCP_PLATFORM_FEATURE_SET ${SCP_PLATFORM_FEATURE_SET_INIT} CACHE STRING "1")
-# SCP_PLATFORM_VARIANT options:
-# - 'TC0_VARIANT_STD' for TC0 standard build
-# - 'TC0_VAR_EXPERIMENT_POWER' for TC0 with power/performance plugins used for
-# evaluation purposes
-
-
-target_compile_definitions(tc0-bl2 PUBLIC -DTC0_VARIANT_STD=0)
-target_compile_definitions(tc0-bl2 PUBLIC -DTC0_VAR_EXPERIMENT_POWER=1)
-
-
-set(SCP_PLATFORM_VARIANT ${SCP_PLATFORM_VARIANT_INIT} CACHE STRING "1")
-
-
-if (SCP_PLATFORM_VARIANT STREQUAL "1")
- message(NOTICE "SCP_PLATFORM_VARIANT set to EXPERIMENT_POWER (tc0-bl2)\n")
+if (SCP_PLATFORM_FEATURE_SET STREQUAL "1")
+ message(NOTICE "TC0 platform features MPMM/POWER/PERFORMANCE is experimental (tc0-bl2)\n")
target_compile_definitions(tc0-bl2
- PUBLIC -DPLATFORM_VARIANT=TC0_VAR_EXPERIMENT_POWER)
+ PUBLIC -DTC0_FEATURES_MPMM_POWER_PERF)
set(SCP_ENABLE_PLUGIN_HANDLER TRUE PARENT_SCOPE)
set(SCP_ENABLE_FAST_CHANNELS TRUE PARENT_SCOPE)
@@ -56,12 +44,6 @@ if (SCP_PLATFORM_VARIANT STREQUAL "1")
list(PREPEND SCP_MODULE_PATHS
"${CMAKE_CURRENT_LIST_DIR}/../module/tc0_power_model")
target_sources(tc0-bl2 PRIVATE "config_tc0_power_model.c")
-
-else()
- message(NOTICE "SCP_PLATFORM_VARIANT set to STANDARD (tc0-bl2)\n")
-
- target_compile_definitions(tc0-bl2
- PUBLIC -DPLATFORM_VARIANT=TC0_VARIANT_STD)
endif()
diff --git a/product/tc0/scp_ramfw/Firmware.cmake b/product/tc0/scp_ramfw/Firmware.cmake
index 11d8eaab..4a555296 100644
--- a/product/tc0/scp_ramfw/Firmware.cmake
+++ b/product/tc0/scp_ramfw/Firmware.cmake
@@ -27,7 +27,7 @@ set(SCP_ENABLE_FAST_CHANNELS_INIT FALSE)
set(SCP_ENABLE_PLUGIN_HANDLER_INIT FALSE)
-set(SCP_PLATFORM_VARIANT_INIT 0)
+set(SCP_PLATFORM_FEATURE_SET_INIT 0)
set(SCP_ARCHITECTURE "armv7-m")
diff --git a/product/tc0/scp_ramfw/config_scmi_perf.c b/product/tc0/scp_ramfw/config_scmi_perf.c
index a4a47b3a..3e91939a 100644
--- a/product/tc0/scp_ramfw/config_scmi_perf.c
+++ b/product/tc0/scp_ramfw/config_scmi_perf.c
@@ -129,7 +129,7 @@ static const struct mod_scmi_perf_domain_config domains[] = {
},
};
-#if defined(PLATFORM_VARIANT) && (PLATFORM_VARIANT == TC0_VAR_EXPERIMENT_POWER)
+#ifdef TC0_FEATURES_MPMM_POWER_PERF
static const struct mod_scmi_plugin_config plugins_table[] = {
[0] = {
.id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_TRAFFIC_COP),
@@ -156,9 +156,9 @@ const struct fwk_module_config config_scmi_perf = {
#else
.fast_channels_alarm_id = FWK_ID_NONE_INIT,
#endif
-#if defined(PLATFORM_VARIANT) && (PLATFORM_VARIANT == TC0_VAR_EXPERIMENT_POWER)
- .plugins = plugins_table,
- .plugins_count = FWK_ARRAY_SIZE(plugins_table),
+#ifdef TC0_FEATURES_MPMM_POWER_PERF
+ .plugins = plugins_table,
+ .plugins_count = FWK_ARRAY_SIZE(plugins_table),
#endif
})
};
diff --git a/product/tc0/scp_romfw/CMakeLists.txt b/product/tc0/scp_romfw/CMakeLists.txt
index f9f40ad3..09cd2f5d 100644
--- a/product/tc0/scp_romfw/CMakeLists.txt
+++ b/product/tc0/scp_romfw/CMakeLists.txt
@@ -48,6 +48,6 @@ target_include_directories(tc0-bl1
PUBLIC $<TARGET_PROPERTY:cmsis::core-m,INTERFACE_INCLUDE_DIRECTORIES>)
cmake_dependent_option(
- SCP_PLATFORM_VARIANT "Choose platform software variant?"
- "${SCP_PLATFORM_VARIANT_INIT}" "DEFINED SCP_PLATFORM_VARIANT_INIT"
- "${SCP_PLATFORM_VARIANT}")
+ SCP_PLATFORM_FEATURE_SET "Choose platform software features?"
+ "${SCP_PLATFORM_FEATURE_SET_INIT}" "DEFINED SCP_PLATFORM_FEATURE_SET_INIT"
+ "${SCP_PLATFORM_FEATURE_SET}")
diff --git a/product/tc0/scp_romfw/Firmware.cmake b/product/tc0/scp_romfw/Firmware.cmake
index ab4468be..e1360159 100644
--- a/product/tc0/scp_romfw/Firmware.cmake
+++ b/product/tc0/scp_romfw/Firmware.cmake
@@ -21,7 +21,7 @@ set(SCP_ENABLE_NOTIFICATIONS_INIT TRUE)
set(SCP_ENABLE_IPO_INIT FALSE)
-set(SCP_PLATFORM_VARIANT_INIT 0)
+set(SCP_PLATFORM_FEATURE_SET_INIT 0)
set(SCP_ARCHITECTURE "armv7-m")
--
2.30.2