From 013000907cc277b268b0f446050d72a0c43af40f Mon Sep 17 00:00:00 2001 From: Pranav Madhu Date: Wed, 16 Mar 2022 22:02:24 +0530 Subject: [PATCH 1/6] product/rdv1: Update configuration data for SCMI perf Add perf_doms_count element to SCMI perf configuration data for Rd-V1 platform. After the addition of SCMI perf plugin, the SCMI perf module expects perf_doms_count data as well in the SCMI perf configuration data. Change-Id: I7363518fd74e810b22bccd5ee406543aff8d78b2 Signed-off-by: Pranav Madhu --- product/rdv1/scp_ramfw/config_scmi_perf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/product/rdv1/scp_ramfw/config_scmi_perf.c b/product/rdv1/scp_ramfw/config_scmi_perf.c index 2c4518b3f..6308ef366 100644 --- a/product/rdv1/scp_ramfw/config_scmi_perf.c +++ b/product/rdv1/scp_ramfw/config_scmi_perf.c @@ -95,6 +95,7 @@ static const struct mod_scmi_perf_domain_config domains[16] = { 0 }; const struct fwk_module_config config_scmi_perf = { .data = &((struct mod_scmi_perf_config){ .domains = &domains, + .perf_doms_count = FWK_ARRAY_SIZE(domains), #ifdef BUILD_HAS_SCMI_PERF_FAST_CHANNELS .fast_channels_alarm_id = FWK_ID_SUB_ELEMENT_INIT( FWK_MODULE_IDX_TIMER, -- GitLab From 02465071b563ba7026b12996a8924f6189553f80 Mon Sep 17 00:00:00 2001 From: Pranav Madhu Date: Thu, 17 Mar 2022 14:11:30 +0530 Subject: [PATCH 2/6] product/rdv1mc: Update configuration data for SCMI perf Add perf_doms_count element to SCMI perf configuration data for Rd-V1-MC platform. After the addition of SCMI perf plugin, the SCMI perf module expects perf_doms_count data as well in the SCMI perf configuration data. Change-Id: Id55913d2339e2a771b52fff99f01ca9e5688e61c Signed-off-by: Pranav Madhu --- product/rdv1mc/scp_ramfw/config_scmi_perf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/product/rdv1mc/scp_ramfw/config_scmi_perf.c b/product/rdv1mc/scp_ramfw/config_scmi_perf.c index eacb13a51..12f88dd6b 100644 --- a/product/rdv1mc/scp_ramfw/config_scmi_perf.c +++ b/product/rdv1mc/scp_ramfw/config_scmi_perf.c @@ -71,6 +71,7 @@ static const struct mod_scmi_perf_domain_config domains[4] = { 0 }; const struct fwk_module_config config_scmi_perf = { .data = &((struct mod_scmi_perf_config){ .domains = &domains, + .perf_doms_count = FWK_ARRAY_SIZE(domains), #ifdef BUILD_HAS_SCMI_PERF_FAST_CHANNELS .fast_channels_alarm_id = FWK_ID_SUB_ELEMENT_INIT( FWK_MODULE_IDX_TIMER, -- GitLab From ed26a591926ad31c45df2fe2b9c19fd954d30112 Mon Sep 17 00:00:00 2001 From: Pranav Madhu Date: Wed, 16 Mar 2022 22:22:01 +0530 Subject: [PATCH 3/6] product/rdn2: Update configuration data for SCMI perf Add perf_doms_count element to SCMI perf configuration data for Rd-N2 platform. After the addition of SCMI perf plugin, the SCMI perf module expects perf_doms_count data as well in the SCMI perf configuration data. Change-Id: If240facbb80e3b00a829dc2625626b9cee49557e Signed-off-by: Pranav Madhu --- product/rdn2/scp_ramfw/config_scmi_perf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/product/rdn2/scp_ramfw/config_scmi_perf.c b/product/rdn2/scp_ramfw/config_scmi_perf.c index ca0a9a4d4..8d0818187 100644 --- a/product/rdn2/scp_ramfw/config_scmi_perf.c +++ b/product/rdn2/scp_ramfw/config_scmi_perf.c @@ -101,6 +101,7 @@ static const struct mod_scmi_perf_domain_config domains[8] = { 0 }; const struct fwk_module_config config_scmi_perf = { .data = &((struct mod_scmi_perf_config){ .domains = &domains, + .perf_doms_count = FWK_ARRAY_SIZE(domains), #ifdef BUILD_HAS_SCMI_PERF_FAST_CHANNELS .fast_channels_alarm_id = FWK_ID_SUB_ELEMENT_INIT( FWK_MODULE_IDX_TIMER, -- GitLab From 45e002f390c0367f7ce1284a22e0a56197465e13 Mon Sep 17 00:00:00 2001 From: Pranav Madhu Date: Tue, 22 Mar 2022 22:42:09 +0530 Subject: [PATCH 4/6] cmake: Add DVFS and SCMI Perf support for RD-V1 Enable Dynamic Voltage/Frequency support (DVFS) and SCMI perf support for RD-V1 platform. This is required to support ACPI CPPC mechanism for the platform. Also enable the SCMI fastchannel, as fastchannel is the communication medium used by the application processor to request the performance level. Change-Id: Ib8dd057d5990bf0e81063f9049afd67b405688dc Signed-off-by: Pranav Madhu --- product/rdv1/scp_ramfw/CMakeLists.txt | 6 +++++- product/rdv1/scp_ramfw/Firmware.cmake | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/product/rdv1/scp_ramfw/CMakeLists.txt b/product/rdv1/scp_ramfw/CMakeLists.txt index eee5d9b08..fa6dd4931 100755 --- a/product/rdv1/scp_ramfw/CMakeLists.txt +++ b/product/rdv1/scp_ramfw/CMakeLists.txt @@ -1,6 +1,6 @@ # # Arm SCP/MCP Software -# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -37,6 +37,10 @@ target_sources( "config_clock.c" "config_apcontext.c" "config_scmi_power_domain.c" + "config_psu.c" + "config_mock_psu.c" + "config_dvfs.c" + "config_scmi_perf.c" "../src/config_system_info.c" "../src/config_pl011.c" "../src/config_sid.c") diff --git a/product/rdv1/scp_ramfw/Firmware.cmake b/product/rdv1/scp_ramfw/Firmware.cmake index 68e8203b9..94f7d740c 100755 --- a/product/rdv1/scp_ramfw/Firmware.cmake +++ b/product/rdv1/scp_ramfw/Firmware.cmake @@ -19,6 +19,8 @@ set(SCP_ENABLE_NOTIFICATIONS TRUE) set(SCP_ENABLE_IPO_INIT FALSE) +set(SCP_ENABLE_FAST_CHANNELS TRUE) + list(PREPEND SCP_MODULE_PATHS "${CMAKE_CURRENT_LIST_DIR}/../module/platform_system") @@ -52,3 +54,7 @@ list(APPEND SCP_MODULES "power-domain") list(APPEND SCP_MODULES "scmi-power-domain") list(APPEND SCP_MODULES "scmi-system-power") list(APPEND SCP_MODULES "platform-system") +list(APPEND SCP_MODULES "psu") +list(APPEND SCP_MODULES "mock-psu") +list(APPEND SCP_MODULES "dvfs") +list(APPEND SCP_MODULES "scmi-perf") -- GitLab From d89a93376b25ba060b9b254d0c82e3b22120ae4a Mon Sep 17 00:00:00 2001 From: Pranav Madhu Date: Tue, 22 Mar 2022 22:45:12 +0530 Subject: [PATCH 5/6] cmake: Add DVFS and SCMI Perf support for RD-V1-MC Enable Dynamic Voltage/Frequency support (DVFS) and SCMI perf support for RD-V1-MC platform. This is required to support ACPI CPPC mechanism for the platform. Also enable the SCMI fastchannel, as fastchannel is the communication medium used by the application processor to request the performance level. Change-Id: I382e955a17c4841c1cc602c3c7de246d09ce43f2 Signed-off-by: Pranav Madhu --- product/rdv1mc/scp_ramfw/CMakeLists.txt | 6 +++++- product/rdv1mc/scp_ramfw/Firmware.cmake | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/product/rdv1mc/scp_ramfw/CMakeLists.txt b/product/rdv1mc/scp_ramfw/CMakeLists.txt index 314507707..ad41099ae 100755 --- a/product/rdv1mc/scp_ramfw/CMakeLists.txt +++ b/product/rdv1mc/scp_ramfw/CMakeLists.txt @@ -1,6 +1,6 @@ # # Arm SCP/MCP Software -# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -37,6 +37,10 @@ target_sources( "${CMAKE_CURRENT_SOURCE_DIR}/config_css_clock.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_clock.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_apcontext.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_psu.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_mock_psu.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_dvfs.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_scmi_perf.c" "${CMAKE_CURRENT_SOURCE_DIR}/../src/config_system_info.c" "${CMAKE_CURRENT_SOURCE_DIR}/../src/config_pl011.c" "${CMAKE_CURRENT_SOURCE_DIR}/../src/config_sid.c") diff --git a/product/rdv1mc/scp_ramfw/Firmware.cmake b/product/rdv1mc/scp_ramfw/Firmware.cmake index c0ee89b26..d49b178dd 100755 --- a/product/rdv1mc/scp_ramfw/Firmware.cmake +++ b/product/rdv1mc/scp_ramfw/Firmware.cmake @@ -23,6 +23,8 @@ set(SCP_ENABLE_IPO_INIT FALSE) set(SCP_ARCHITECTURE "arm-m") +set(SCP_ENABLE_FAST_CHANNELS TRUE) + list(PREPEND SCP_MODULE_PATHS "${CMAKE_CURRENT_LIST_DIR}/../module/platform_system") @@ -56,3 +58,7 @@ list(APPEND SCP_MODULES "power-domain") list(APPEND SCP_MODULES "scmi-power-domain") list(APPEND SCP_MODULES "scmi-system-power") list(APPEND SCP_MODULES "platform-system") +list(APPEND SCP_MODULES "psu") +list(APPEND SCP_MODULES "mock-psu") +list(APPEND SCP_MODULES "dvfs") +list(APPEND SCP_MODULES "scmi-perf") -- GitLab From d50a2692c5ce6f8a0e714e29d5e2ad9567b7a9ad Mon Sep 17 00:00:00 2001 From: Pranav Madhu Date: Tue, 22 Mar 2022 22:46:13 +0530 Subject: [PATCH 6/6] cmake: Add DVFS and SCMI Perf support for RD-N2 Enable Dynamic Voltage/Frequency support (DVFS) and SCMI perf support for RD-N2 platform. This is required to support ACPI CPPC mechanism for the platform. Also enable the SCMI fastchannel, as fastchannel is the communication medium used by the application processor to request the performance level. Change-Id: I5f3b57dfeb5bcaa867db89d743bb40f77dfe6ea9 Signed-off-by: Pranav Madhu --- product/rdn2/scp_ramfw/CMakeLists.txt | 6 +++++- product/rdn2/scp_ramfw/Firmware.cmake | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/product/rdn2/scp_ramfw/CMakeLists.txt b/product/rdn2/scp_ramfw/CMakeLists.txt index f708071e3..e09c30a11 100644 --- a/product/rdn2/scp_ramfw/CMakeLists.txt +++ b/product/rdn2/scp_ramfw/CMakeLists.txt @@ -1,6 +1,6 @@ # # Arm SCP/MCP Software -# Copyright (c) 2021, Arm Limited and Contributors. All rights reserved. +# Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # @@ -55,6 +55,10 @@ target_sources( "${CMAKE_CURRENT_SOURCE_DIR}/config_pcie_integ_ctrl.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_apremap.c" "${CMAKE_CURRENT_SOURCE_DIR}/config_scmi_power_domain.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_psu.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_mock_psu.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_dvfs.c" + "${CMAKE_CURRENT_SOURCE_DIR}/config_scmi_perf.c" "${CMAKE_CURRENT_SOURCE_DIR}/../src/config_system_info.c" "${CMAKE_CURRENT_SOURCE_DIR}/../src/config_pl011.c" "${CMAKE_CURRENT_SOURCE_DIR}/../src/config_sid.c") diff --git a/product/rdn2/scp_ramfw/Firmware.cmake b/product/rdn2/scp_ramfw/Firmware.cmake index e54f2349e..419cf1223 100644 --- a/product/rdn2/scp_ramfw/Firmware.cmake +++ b/product/rdn2/scp_ramfw/Firmware.cmake @@ -24,6 +24,8 @@ set(SCP_ARCHITECTURE "arm-m") set(SCP_ENABLE_NEWLIB_NANO FALSE) +set(SCP_ENABLE_FAST_CHANNELS TRUE) + list(PREPEND SCP_MODULE_PATHS "${CMAKE_CURRENT_LIST_DIR}/../module/platform_system") list(PREPEND SCP_MODULE_PATHS @@ -62,3 +64,7 @@ list(APPEND SCP_MODULES "power-domain") list(APPEND SCP_MODULES "scmi-power-domain") list(APPEND SCP_MODULES "scmi-system-power") list(APPEND SCP_MODULES "platform-system") +list(APPEND SCP_MODULES "psu") +list(APPEND SCP_MODULES "mock-psu") +list(APPEND SCP_MODULES "dvfs") +list(APPEND SCP_MODULES "scmi-perf") -- GitLab