summaryrefslogtreecommitdiff
path: root/meta-arm/meta-arm-bsp/recipes-bsp/scp-firmware/files/tc/0003-tc0-rename-platform-variant-to-platform-feature-set.patch
blob: 87dfbfacf146ed4e3d93e92f5e099678ec7c767b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
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