blob: 87dfbfacf146ed4e3d93e92f5e099678ec7c767b [file] [log] [blame]
Brad Bishopbec4ebc2022-08-03 09:55:16 -04001From 50e63f11762348bcd95d809af248f620f03d9ce4 Mon Sep 17 00:00:00 2001
2From: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
3Date: Fri, 11 Feb 2022 18:16:54 +0000
4Subject: [PATCH 3/4] tc0: rename platform variant to platform feature set
5
6THe PLATFORM_VARIANT flag was added to differentiate the software
7features enabled in SCP firmware. But this flag misleads to a new
8variant of same platform. This commits renames PLATFORM_VARIANT to
9PLATFORM_FEATURE_SET
10
11Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
12Change-Id: I93c0bc3e11fe18192bb8246df851345bdc473974
13Upstream-Status: Pending [Not submitted to upstream yet]
14Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com>
15---
16 product/tc0/doc/{variants.md => features.md} | 28 +++++++++-----------
17 product/tc0/scp_ramfw/CMakeLists.txt | 26 +++---------------
18 product/tc0/scp_ramfw/Firmware.cmake | 2 +-
19 product/tc0/scp_ramfw/config_scmi_perf.c | 8 +++---
20 product/tc0/scp_romfw/CMakeLists.txt | 6 ++---
21 product/tc0/scp_romfw/Firmware.cmake | 2 +-
22 6 files changed, 25 insertions(+), 47 deletions(-)
23 rename product/tc0/doc/{variants.md => features.md} (77%)
24
25diff --git a/product/tc0/doc/variants.md b/product/tc0/doc/features.md
26similarity index 77%
27rename from product/tc0/doc/variants.md
28rename to product/tc0/doc/features.md
29index fbf616db..3ef520e2 100644
30--- a/product/tc0/doc/variants.md
31+++ b/product/tc0/doc/features.md
32@@ -1,4 +1,4 @@
33-# TC0 Platform Variants
34+# TC0 Platform Features
35
36 Copyright (c) 2022, Arm Limited. All rights reserved.
37
38@@ -7,30 +7,27 @@ Copyright (c) 2022, Arm Limited. All rights reserved.
39
40 Documentation for TC0 platform can be found at [1].
41
42+### Standard
43+
44+The standard build provides all the features described in [1].
45+For this default features, it's not required to provide any extra parameters in
46+the build commands.
47+
48+### MPMM/Power/Performance (Experimental)
49+
50 For the purpose of experimenting some of the software features that have been
51-introduced in SCP-firmware a new variant of TC0 has been created.
52-The variant(s) can be chosen at build time by adding:
53+introduced in SCP-firmware of TC0. This can be enabled at build time, by adding:
54
55 ```sh
56
57 make -f Makefile.cmake \
58 PRODUCT=tc0 \
59 MODE=<debug,release> \
60- PLATFORM_VARIANT=<0,1>
61+ EXTRA_CONFIG_ARGS+=-DSCP_PLATFORM_FEATURE_SET=1
62
63 ```
64
65-
66-### Variant 0 (Standard build)
67-
68-The standard build provides all the features described in [1].
69-For this default variant, it's not required to provide any extra parameters in
70-the build commands.
71-
72-
73-### Variant 1 (Power/Performance testing)
74-
75-This variant adds support for the following software features:
76+This adds support for the following software features:
77 - Traffic Cop
78 - MPMM (Maximum Power Mitigation Mechanism)
79 - Thermal Management
80@@ -63,7 +60,6 @@ Once built, the features above will act as:
81
82 ## Limitations
83
84-- The "variant" option is available only with the CMake build.
85 - The Thermal functionality is limited at this time cause the constant
86 temperature being sampled.
87
88diff --git a/product/tc0/scp_ramfw/CMakeLists.txt b/product/tc0/scp_ramfw/CMakeLists.txt
89index 96310320..ce3178ee 100644
90--- a/product/tc0/scp_ramfw/CMakeLists.txt
91+++ b/product/tc0/scp_ramfw/CMakeLists.txt
92@@ -11,25 +11,13 @@
93
94 add_executable(tc0-bl2)
95
96+set(SCP_PLATFORM_FEATURE_SET ${SCP_PLATFORM_FEATURE_SET_INIT} CACHE STRING "1")
97
98-# SCP_PLATFORM_VARIANT options:
99-# - 'TC0_VARIANT_STD' for TC0 standard build
100-# - 'TC0_VAR_EXPERIMENT_POWER' for TC0 with power/performance plugins used for
101-# evaluation purposes
102-
103-
104-target_compile_definitions(tc0-bl2 PUBLIC -DTC0_VARIANT_STD=0)
105-target_compile_definitions(tc0-bl2 PUBLIC -DTC0_VAR_EXPERIMENT_POWER=1)
106-
107-
108-set(SCP_PLATFORM_VARIANT ${SCP_PLATFORM_VARIANT_INIT} CACHE STRING "1")
109-
110-
111-if (SCP_PLATFORM_VARIANT STREQUAL "1")
112- message(NOTICE "SCP_PLATFORM_VARIANT set to EXPERIMENT_POWER (tc0-bl2)\n")
113+if (SCP_PLATFORM_FEATURE_SET STREQUAL "1")
114+ message(NOTICE "TC0 platform features MPMM/POWER/PERFORMANCE is experimental (tc0-bl2)\n")
115
116 target_compile_definitions(tc0-bl2
117- PUBLIC -DPLATFORM_VARIANT=TC0_VAR_EXPERIMENT_POWER)
118+ PUBLIC -DTC0_FEATURES_MPMM_POWER_PERF)
119
120 set(SCP_ENABLE_PLUGIN_HANDLER TRUE PARENT_SCOPE)
121 set(SCP_ENABLE_FAST_CHANNELS TRUE PARENT_SCOPE)
122@@ -56,12 +44,6 @@ if (SCP_PLATFORM_VARIANT STREQUAL "1")
123 list(PREPEND SCP_MODULE_PATHS
124 "${CMAKE_CURRENT_LIST_DIR}/../module/tc0_power_model")
125 target_sources(tc0-bl2 PRIVATE "config_tc0_power_model.c")
126-
127-else()
128- message(NOTICE "SCP_PLATFORM_VARIANT set to STANDARD (tc0-bl2)\n")
129-
130- target_compile_definitions(tc0-bl2
131- PUBLIC -DPLATFORM_VARIANT=TC0_VARIANT_STD)
132 endif()
133
134
135diff --git a/product/tc0/scp_ramfw/Firmware.cmake b/product/tc0/scp_ramfw/Firmware.cmake
136index 11d8eaab..4a555296 100644
137--- a/product/tc0/scp_ramfw/Firmware.cmake
138+++ b/product/tc0/scp_ramfw/Firmware.cmake
139@@ -27,7 +27,7 @@ set(SCP_ENABLE_FAST_CHANNELS_INIT FALSE)
140
141 set(SCP_ENABLE_PLUGIN_HANDLER_INIT FALSE)
142
143-set(SCP_PLATFORM_VARIANT_INIT 0)
144+set(SCP_PLATFORM_FEATURE_SET_INIT 0)
145
146 set(SCP_ARCHITECTURE "armv7-m")
147
148diff --git a/product/tc0/scp_ramfw/config_scmi_perf.c b/product/tc0/scp_ramfw/config_scmi_perf.c
149index a4a47b3a..3e91939a 100644
150--- a/product/tc0/scp_ramfw/config_scmi_perf.c
151+++ b/product/tc0/scp_ramfw/config_scmi_perf.c
152@@ -129,7 +129,7 @@ static const struct mod_scmi_perf_domain_config domains[] = {
153 },
154 };
155
156-#if defined(PLATFORM_VARIANT) && (PLATFORM_VARIANT == TC0_VAR_EXPERIMENT_POWER)
157+#ifdef TC0_FEATURES_MPMM_POWER_PERF
158 static const struct mod_scmi_plugin_config plugins_table[] = {
159 [0] = {
160 .id = FWK_ID_MODULE_INIT(FWK_MODULE_IDX_TRAFFIC_COP),
161@@ -156,9 +156,9 @@ const struct fwk_module_config config_scmi_perf = {
162 #else
163 .fast_channels_alarm_id = FWK_ID_NONE_INIT,
164 #endif
165-#if defined(PLATFORM_VARIANT) && (PLATFORM_VARIANT == TC0_VAR_EXPERIMENT_POWER)
166- .plugins = plugins_table,
167- .plugins_count = FWK_ARRAY_SIZE(plugins_table),
168+#ifdef TC0_FEATURES_MPMM_POWER_PERF
169+ .plugins = plugins_table,
170+ .plugins_count = FWK_ARRAY_SIZE(plugins_table),
171 #endif
172 })
173 };
174diff --git a/product/tc0/scp_romfw/CMakeLists.txt b/product/tc0/scp_romfw/CMakeLists.txt
175index f9f40ad3..09cd2f5d 100644
176--- a/product/tc0/scp_romfw/CMakeLists.txt
177+++ b/product/tc0/scp_romfw/CMakeLists.txt
178@@ -48,6 +48,6 @@ target_include_directories(tc0-bl1
179 PUBLIC $<TARGET_PROPERTY:cmsis::core-m,INTERFACE_INCLUDE_DIRECTORIES>)
180
181 cmake_dependent_option(
182- SCP_PLATFORM_VARIANT "Choose platform software variant?"
183- "${SCP_PLATFORM_VARIANT_INIT}" "DEFINED SCP_PLATFORM_VARIANT_INIT"
184- "${SCP_PLATFORM_VARIANT}")
185+ SCP_PLATFORM_FEATURE_SET "Choose platform software features?"
186+ "${SCP_PLATFORM_FEATURE_SET_INIT}" "DEFINED SCP_PLATFORM_FEATURE_SET_INIT"
187+ "${SCP_PLATFORM_FEATURE_SET}")
188diff --git a/product/tc0/scp_romfw/Firmware.cmake b/product/tc0/scp_romfw/Firmware.cmake
189index ab4468be..e1360159 100644
190--- a/product/tc0/scp_romfw/Firmware.cmake
191+++ b/product/tc0/scp_romfw/Firmware.cmake
192@@ -21,7 +21,7 @@ set(SCP_ENABLE_NOTIFICATIONS_INIT TRUE)
193
194 set(SCP_ENABLE_IPO_INIT FALSE)
195
196-set(SCP_PLATFORM_VARIANT_INIT 0)
197+set(SCP_PLATFORM_FEATURE_SET_INIT 0)
198
199 set(SCP_ARCHITECTURE "armv7-m")
200
201--
2022.30.2
203