Brad Bishop | bec4ebc | 2022-08-03 09:55:16 -0400 | [diff] [blame] | 1 | From 50e63f11762348bcd95d809af248f620f03d9ce4 Mon Sep 17 00:00:00 2001 |
| 2 | From: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> |
| 3 | Date: Fri, 11 Feb 2022 18:16:54 +0000 |
| 4 | Subject: [PATCH 3/4] tc0: rename platform variant to platform feature set |
| 5 | |
| 6 | THe PLATFORM_VARIANT flag was added to differentiate the software |
| 7 | features enabled in SCP firmware. But this flag misleads to a new |
| 8 | variant of same platform. This commits renames PLATFORM_VARIANT to |
| 9 | PLATFORM_FEATURE_SET |
| 10 | |
| 11 | Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> |
| 12 | Change-Id: I93c0bc3e11fe18192bb8246df851345bdc473974 |
| 13 | Upstream-Status: Pending [Not submitted to upstream yet] |
| 14 | Signed-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 | |
| 25 | diff --git a/product/tc0/doc/variants.md b/product/tc0/doc/features.md |
| 26 | similarity index 77% |
| 27 | rename from product/tc0/doc/variants.md |
| 28 | rename to product/tc0/doc/features.md |
| 29 | index 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 | |
| 88 | diff --git a/product/tc0/scp_ramfw/CMakeLists.txt b/product/tc0/scp_ramfw/CMakeLists.txt |
| 89 | index 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 | |
| 135 | diff --git a/product/tc0/scp_ramfw/Firmware.cmake b/product/tc0/scp_ramfw/Firmware.cmake |
| 136 | index 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 | |
| 148 | diff --git a/product/tc0/scp_ramfw/config_scmi_perf.c b/product/tc0/scp_ramfw/config_scmi_perf.c |
| 149 | index 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 | }; |
| 174 | diff --git a/product/tc0/scp_romfw/CMakeLists.txt b/product/tc0/scp_romfw/CMakeLists.txt |
| 175 | index 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}") |
| 188 | diff --git a/product/tc0/scp_romfw/Firmware.cmake b/product/tc0/scp_romfw/Firmware.cmake |
| 189 | index 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 | -- |
| 202 | 2.30.2 |
| 203 | |