SCP-firmware merge requestshttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests2024-01-12T09:44:02Zhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/794timer: add overflow handler API2024-01-12T09:44:02ZDarryl Greentimer: add overflow handler API*Created by: Joe-Zhucg*
Some device need interrupt to update internal status. Add new driver API to do this if there is no acitve alarm.
Change-Id: I6a3106beb8dce8de7de29dfa5ff5742a9fd9692b*Created by: Joe-Zhucg*
Some device need interrupt to update internal status. Add new driver API to do this if there is no acitve alarm.
Change-Id: I6a3106beb8dce8de7de29dfa5ff5742a9fd9692bhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/903scp: Update repo references to Gitlab2024-01-11T14:20:02ZNicola Mazzucatoscp: Update repo references to GitlabSCP-firmware repository has moved from GitHub to Gitlab (the
Github instance is not accepting pull requests any longer).
Update URLs in the contributing and user_guide to point
to the active Gitlab repository.
Simplify descriptions at t...SCP-firmware repository has moved from GitHub to Gitlab (the
Github instance is not accepting pull requests any longer).
Update URLs in the contributing and user_guide to point
to the active Gitlab repository.
Simplify descriptions at the same time for submitting changes.
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: I1417b4172c54ef0b4d40644416bd9e6995ee3079https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/905RD-Fremont: Add support for MCP RAM Firmware - Part 32024-01-11T11:12:08ZShriram K.RD-Fremont: Add support for MCP RAM Firmware - Part 3The commits in this MR add support for a minimal MCP ramfw in RD-Fremont platform.The commits in this MR add support for a minimal MCP ramfw in RD-Fremont platform.Shriram K.Shriram K.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/904RD-Fremont platform support patches - Part 22024-01-10T09:37:55ZThomas AbrahamRD-Fremont platform support patches - Part 2This is the second part of the RD-Fremont platform support patches. These patches add multiple module configuration data file for the RD-Fremont platform. This part includes the last part of the SCP subsystem patches. Subsequent patches ...This is the second part of the RD-Fremont platform support patches. These patches add multiple module configuration data file for the RD-Fremont platform. This part includes the last part of the SCP subsystem patches. Subsequent patches will add support for MCP and LCP.Nicola MazzucatoNicola Mazzucatohttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/902RD-Fremont platform support patches - Part 12024-01-05T19:18:31ZThomas AbrahamRD-Fremont platform support patches - Part 1This is the first part of the RD-Fremont platform support patches. These patches add multiple module configuration data file for the RD-Fremont platform. The other parts of the RD-Fremont platform support patches will be posted subsequen...This is the first part of the RD-Fremont platform support patches. These patches add multiple module configuration data file for the RD-Fremont platform. The other parts of the RD-Fremont platform support patches will be posted subsequently.Nicola MazzucatoNicola Mazzucatohttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/901module/cmn_cyprus: suppress release build warnings2024-01-05T12:10:21ZShriram K.module/cmn_cyprus: suppress release build warningsA couple of helper functions and variables in the CMN Cyprus driver are
used only in the Debug build. So, if the module is compiled in a Release
build, the compiler throws unused variable/function warnings. Hence, add
workaround to suppr...A couple of helper functions and variables in the CMN Cyprus driver are
used only in the Debug build. So, if the module is compiled in a Release
build, the compiler throws unused variable/function warnings. Hence, add
workaround to suppress the warning.
Signed-off-by: Shriram K <shriram.k@arm.com>
Change-Id: I99fcc836f3a039655880fb0b861e1e883a0de3bfShriram K.Shriram K.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/898scmi: Shorten long error messages2024-01-02T15:29:01ZNicola Mazzucatoscmi: Shorten long error messagesTwo log messages are over 80 chars and thus are truncated.
Shorten them without losing the sense.
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: I840c6de0c555f5e8a7f7a30104eda3af44f80c4eTwo log messages are over 80 chars and thus are truncated.
Shorten them without losing the sense.
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: I840c6de0c555f5e8a7f7a30104eda3af44f80c4ehttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/900Add a GitHub Actions to auto comment PR2024-01-02T08:25:16ZWen Ping TehAdd a GitHub Actions to auto comment PRThe SCP repo in GitHub has been deprecated. The repo is now located at
GitLab. An automatic message will be triggered using GitHub Actions to
comment on raised PRs to notify the author that contributions are no
longer accepted in GitHub ...The SCP repo in GitHub has been deprecated. The repo is now located at
GitLab. An automatic message will be triggered using GitHub Actions to
comment on raised PRs to notify the author that contributions are no
longer accepted in GitHub and they have to submit a Merge Request in
GitLab.
Signed-off-by: Wen Ping Teh <wenping.teh@arm.com>
Change-Id: I92733a10e77b540c136e3d66eeb1d6385214f9a2https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/899module/cmn_cyprus: add driver module for CMN Cyprus interconnect2023-12-26T15:31:12ZShriram K.module/cmn_cyprus: add driver module for CMN Cyprus interconnectCMN‑Cyprus is a scalable and configurable coherent mesh interconnect
with support for Realm Management Extension (RME) and is based on the
Issue F of the AMBA 5 CHI Architecture Specification. Add support for
the cmn cyprus driver module.CMN‑Cyprus is a scalable and configurable coherent mesh interconnect
with support for Realm Management Extension (RME) and is based on the
Issue F of the AMBA 5 CHI Architecture Specification. Add support for
the cmn cyprus driver module.Shriram K.Shriram K.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/895module/fch_polled: fix build error when included interface only module2023-12-22T08:57:15ZNicola Mazzucatomodule/fch_polled: fix build error when included interface only moduleFor most modules that are common across some platforms, its path is
added in module/CMakeLists.txt, however, this also means it can be
treated as an interface-only module provided any dependent module
links the respective module using ta...For most modules that are common across some platforms, its path is
added in module/CMakeLists.txt, however, this also means it can be
treated as an interface-only module provided any dependent module
links the respective module using target_link_library call.
Although this works fine for most of the modules, occasionally
a build error can be seen if such a module also tries to set a build
flag for its compilation in its CMakeLists.txt. Since in build where
such module is not built, cmake prohibits setting compilation flag if
the module is included as interface only module.
A build error is generated for the code in
fch_polled/CMakeLists.txt(below)
if(BUILD_HAS_MOD_TRANSPORT_FC)
target_compile_definitions(${SCP_MODULE_TARGET}
PRIVATE "BUILD_HAS_MOD_TRANSPORT_FC")
endif()
A simple fix would be to define above flag only if the module
is compiled/built for the firmware. This change provides
this fix.
Change-Id: I52ca777fbcb3fa7aea04908bda35fc03ae459a5e
Signed-off-by: Girish Pathak <girish.pathak@arm.com>
Tested-by: Thomas Abraham <thomas.abraham@arm.com>
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/896module/power_domain Address incorrect state update and UTs2023-12-21T15:16:10ZKatherine Vincentmodule/power_domain Address incorrect state update and UTsEach power domain tracks its one power state in 3 variables in the
module context, to keep track of all the transitions. These consist
of current_state, requested_state and state_requested_to_driver.
During process_set_state_request(), ...Each power domain tracks its one power state in 3 variables in the
module context, to keep track of all the transitions. These consist
of current_state, requested_state and state_requested_to_driver.
During process_set_state_request(), the requested_state is updated
before the transaction takes effectively place and, in case of failure
to transition to the new power state, it is not restored to its
previous value.
In subsequent operations this may cause power transitions to
take place (or not) based on incorrect power state.
This patch makes sure that:
- the requested_state in process_set_state_request() is brought
back to its previous valid one, should the transition fail
- the state_requested_to_driver is updated only on successful
operation returned by the driver
Change-Id: I59098cce2f2e62d9994e4be6e0c85ee32a0504b4
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Signed-off-by: Katherine Vincent <katherine.vincent@arm.com>https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/894SCMI Power Capping protocol implementation2023-12-20T16:01:44ZAhmed GadallahSCMI Power Capping protocol implementationThese patches adds the implementation of the SCMI Power Capping protocol.These patches adds the implementation of the SCMI Power Capping protocol.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/893unit_test: Fix order of list modules2023-12-19T15:57:31ZNicola Mazzucatounit_test: Fix order of list modulesThe previous alphabetical reorder of modules left "ppu_v1" behind.
Place ppu_v1 in the correct alphabetical order.
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: Ic259ad6cb7807bc77803c5d52aa7358034a500e7The previous alphabetical reorder of modules left "ppu_v1" behind.
Place ppu_v1 in the correct alphabetical order.
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
Change-Id: Ic259ad6cb7807bc77803c5d52aa7358034a500e7https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/892clock: fix mod_pd_restricted_api object identifier2023-12-18T17:37:51ZAbhishek Rawatclock: fix mod_pd_restricted_api object identifierIn this patch the mod_pd_restricted_api object in clock
module is renamed to comply with MISRA C 2012 rule 5.7.
Signed-off-by: Abhishek Rawat <abhishek.rawat@arm.com>In this patch the mod_pd_restricted_api object in clock
module is renamed to comply with MISRA C 2012 rule 5.7.
Signed-off-by: Abhishek Rawat <abhishek.rawat@arm.com>https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/891scmi_perf: Correct the return status of scmi_perf_process_event2023-12-13T09:26:41ZDarryl Greenscmi_perf: Correct the return status of scmi_perf_process_event*Created by: chandnich*
Currently, when perf_prot_ops_process_events function returns successfully the scmi_perf_process_event function returns an error condition. Correct this behaviour so that the function does not return an error con...*Created by: chandnich*
Currently, when perf_prot_ops_process_events function returns successfully the scmi_perf_process_event function returns an error condition. Correct this behaviour so that the function does not return an error condition during successful case.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/888fix/unit-test: add variable initialization2023-12-11T13:34:22ZDarryl Greenfix/unit-test: add variable initialization*Created by: leandro-arm*
There are some variables unitilialized for testing resulting in unexpected behaviour.
This patch fixes that giving them a default `0` value to ensure that all bytes are zeroed.
Change-Id: I29265f415bd9f9b...*Created by: leandro-arm*
There are some variables unitilialized for testing resulting in unexpected behaviour.
This patch fixes that giving them a default `0` value to ensure that all bytes are zeroed.
Change-Id: I29265f415bd9f9b1462884da7bc97ef83f1581a0https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/889thermal_mgmt: Add derivative term for PI controller2023-12-11T11:14:53ZDarryl Greenthermal_mgmt: Add derivative term for PI controller*Created by: nicola-mazzucato-arm*
The current implementation of Thermal Management provides a PI controller, without a derivative term.
Improve the controller by adding the derivative term, thus becoming a PID control.
At the sam...*Created by: nicola-mazzucato-arm*
The current implementation of Thermal Management provides a PI controller, without a derivative term.
Improve the controller by adding the derivative term, thus becoming a PID control.
At the same time, update the TC2 configuration as required by this change.
This change originates from:
https://github.com/ARM-software/SCP-firmware/pull/856 and has been lightly reworked to improve readability, update unit testing and comply with coding style.
Change-Id: Ie0b667c680476714d4e6ad17afa3623ca36a56b8https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/887Refactor SMCF data driver tests and fix a memory bug2023-12-07T17:59:33ZDarryl GreenRefactor SMCF data driver tests and fix a memory bug*Created by: abhishek-arm*
Refactor SMCF data driver tests and fix a memory bug.*Created by: abhishek-arm*
Refactor SMCF data driver tests and fix a memory bug.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/885mod_transport: Make out-band message support optional2023-11-30T11:07:08ZDarryl Greenmod_transport: Make out-band message support optional*Created by: AndyJGraham*
The goal of this change is to make out-band message support option through use of conditional compilation.
The compilation flag that was added is:
BUILD_HAS_OUTBAND_MSG_SUPPORT
All platforms that use "mo...*Created by: AndyJGraham*
The goal of this change is to make out-band message support option through use of conditional compilation.
The compilation flag that was added is:
BUILD_HAS_OUTBAND_MSG_SUPPORT
All platforms that use "mod_transport" have been
updated to have this new flag by default.
Change-Id: I903f77ada1d61128ee4b76cb130cfe4fc4ff81abhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/884Update MPMM to use AMU driver and add TC2 AMU mmap config2023-11-30T11:05:41ZDarryl GreenUpdate MPMM to use AMU driver and add TC2 AMU mmap config*Created by: wenping-arm*
- Modify MPMM to use AMU driver API interface instead of directly accessing the memory to read AMU counters.
- Update TC2 MPMM configuration to include AMU driver API interface.
- Add TC2 AMU memory mapped dr...*Created by: wenping-arm*
- Modify MPMM to use AMU driver API interface instead of directly accessing the memory to read AMU counters.
- Update TC2 MPMM configuration to include AMU driver API interface.
- Add TC2 AMU memory mapped driver configuration.