SCP-firmware merge requestshttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests2023-11-06T11:11:17Zhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/862rdn2/scp_ramfw: Exclude SCMI-Perf Ops by default2023-11-06T11:11:17ZDarryl Greenrdn2/scp_ramfw: Exclude SCMI-Perf Ops by default*Created by: nicola-mazzucato-arm*
RDN2 does not require the SCMI-Perf protocol support, but only the FastChannels support.
Set SCP_TARGET_EXCLUDE_SCMI_PERF_PROTOCOL_OPS by default for the scp ramfw.
Change-Id: I38062d1e3a551c37...*Created by: nicola-mazzucato-arm*
RDN2 does not require the SCMI-Perf protocol support, but only the FastChannels support.
Set SCP_TARGET_EXCLUDE_SCMI_PERF_PROTOCOL_OPS by default for the scp ramfw.
Change-Id: I38062d1e3a551c37b6f1267fa4935ce9fa3d657dhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/855increment nest counter inside critical section2023-11-15T09:52:26ZDarryl Greenincrement nest counter inside critical section*Created by: paulatsense*
The implementation for arch_interrupts_disable is incrementing the nest counter outside the critical section. This can lead to unexpected behavior because there is no guarantee the counter will be incremented a...*Created by: paulatsense*
The implementation for arch_interrupts_disable is incrementing the nest counter outside the critical section. This can lead to unexpected behavior because there is no guarantee the counter will be incremented atomically.
This change first aquires the critical section (by disabling irqs) then increments the counter thus guarantees the counter will be incremented atomically.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/852contrib/cmsis: Bump CMSIS version to 5.9.02023-09-29T17:51:12ZDarryl Greencontrib/cmsis: Bump CMSIS version to 5.9.0*Created by: artkopotev*
contrib/cmsis: Bump CMSIS version to 5.9.0
CMSIS submodule is updated to 5.9.0.
Change-Id: Iad1610d721867d2e32afc896ad5bb33e5ef8ca70
Signed-off-by: Artem Kopotev <artem.kopotev@arm.com>*Created by: artkopotev*
contrib/cmsis: Bump CMSIS version to 5.9.0
CMSIS submodule is updated to 5.9.0.
Change-Id: Iad1610d721867d2e32afc896ad5bb33e5ef8ca70
Signed-off-by: Artem Kopotev <artem.kopotev@arm.com>https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/851Unify TC1 and TC2 folders into Totalcompute2023-09-29T16:05:26ZDarryl GreenUnify TC1 and TC2 folders into Totalcompute*Created by: quockhanh-le-arm*
-Move the same or almost the same files to totalcompute/common folder
-Move the different files to totalcompute/$platformspecific folder
-This is to reduce the fragmentation of TC folders -tc1 and tc2 ...*Created by: quockhanh-le-arm*
-Move the same or almost the same files to totalcompute/common folder
-Move the different files to totalcompute/$platformspecific folder
-This is to reduce the fragmentation of TC folders -tc1 and tc2 are now in totalcompute/tc1 and totalcompute/tc2,
list of products in ci_cmake.py are updated to build and testhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/861TCx: Fix Resource Permissions inclusion in build2023-10-19T10:50:49ZDarryl GreenTCx: Fix Resource Permissions inclusion in build*Created by: nicola-mazzucato-arm*
Fix the CMake scripts to correctly include the Resource Permissions module in the ramfw target.
For both TC1 & TC2.*Created by: nicola-mazzucato-arm*
Fix the CMake scripts to correctly include the Resource Permissions module in the ramfw target.
For both TC1 & TC2.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/860module/optee: Add voltage domain regulators2023-11-09T16:54:44ZDarryl Greenmodule/optee: Add voltage domain regulators*Created by: etienne-lms*
Implements an OP-TEE voltage domain regulator module for voltage domains accessed through OP-TEE voltage regulators. OP-TEE regulator framework API is described in _drivers/regulator.h_ header file [1].
The ...*Created by: etienne-lms*
Implements an OP-TEE voltage domain regulator module for voltage domains accessed through OP-TEE voltage regulators. OP-TEE regulator framework API is described in _drivers/regulator.h_ header file [1].
The module treats voltage domains with a NULL OP-TEE regulator reference as voltage domain client cannot use yet allowing the client to query information about. In such case, the domain is treated as a reserved always off zero volt fixed voltage regulator.
[1] https://github.com/OP-TEE/optee_os/blob/master/core/include/drivers/regulator.hhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/857module/atu: add driver module for address translation unit2023-10-12T15:36:27ZDarryl Greenmodule/atu: add driver module for address translation unit*Created by: shriram-k-arm*
The Address Translation Unit(ATU) provides means to convert the logical address (32 bit LA) from the MSCP memory space to the physical address residing in the system memory.
Add a driver module for the ATU...*Created by: shriram-k-arm*
The Address Translation Unit(ATU) provides means to convert the logical address (32 bit LA) from the MSCP memory space to the physical address residing in the system memory.
Add a driver module for the ATU that provides an interface for modules to request a translation region to be mapped, unmapped or output bus attributes to be configured during the runtime phase.
Change-Id: Ic9bf58cf75c74ecc2d760e041369f3df824e1efahttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/859fwk_list: Add a watermark to monitor list max sizes2023-10-17T14:31:18ZDarryl Greenfwk_list: Add a watermark to monitor list max sizes*Created by: khaledAhmed-arm*
Enable queue monitors and tracing the maximum queue elements as a watermark for both isr and event queues.
To enable queue monitor and watermark for tracing, `SCP_ENABLE_FWK_EVENT_WATERMARK_TRACING` shal...*Created by: khaledAhmed-arm*
Enable queue monitors and tracing the maximum queue elements as a watermark for both isr and event queues.
To enable queue monitor and watermark for tracing, `SCP_ENABLE_FWK_EVENT_WATERMARK_TRACING` shall be true.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/854Add cold-state power for thermal management2023-10-02T15:06:58ZDarryl GreenAdd cold-state power for thermal management*Created by: khaledAhmed-arm*
Add cold_state_power configuration to be used instead of TDP when
temperature is below `switch_on_temperature`.
To accommodate the cases where it's possible not to limit or use
different limits than TDP ...*Created by: khaledAhmed-arm*
Add cold_state_power configuration to be used instead of TDP when
temperature is below `switch_on_temperature`.
To accommodate the cases where it's possible not to limit or use
different limits than TDP for the distributable power when
the system is "cold."
Configure cold state power of thermal management in TC2.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/850Use of transport based fast channel interface.2023-09-29T11:11:52ZDarryl GreenUse of transport based fast channel interface.*Created by: girishpathak*
This PR requests groups two patch sets that enable the use of a new transport-based fast channel interface as documented in the module/transport/doc/transport.md(part of this commit).
1. It introduces a ne...*Created by: girishpathak*
This PR requests groups two patch sets that enable the use of a new transport-based fast channel interface as documented in the module/transport/doc/transport.md(part of this commit).
1. It introduces a new module fch_polled which implements a fast channel driver that polls(regular interval as configured by the platform) fast channel memory and directs callback to the appropriate protocol.
2. Re-factors existing scmi_perf code to use the new interface.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/848ppu power status2023-09-26T15:19:59ZDarryl Greenppu power status*Created by: khaledAhmed-arm*
After set power received, PPU report the current power state hardcoded without
any check the HW state.
Return the current power status if the set power return in successful
state otherwise get the curr...*Created by: khaledAhmed-arm*
After set power received, PPU report the current power state hardcoded without
any check the HW state.
Return the current power status if the set power return in successful
state otherwise get the current power status from direct reading HW.
Fix error messages logs by replacing [PD] by [PPU].https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/849module/scmi_system_power_req: Enable multiple elements2023-09-27T10:26:48ZDarryl Greenmodule/scmi_system_power_req: Enable multiple elements*Created by: katvin01*
This change enables handling multiple elements in this module and also removes the use of events to handle the scmi messages and responses.
It also includes updates for the corresponding unit tests.
Change...*Created by: katvin01*
This change enables handling multiple elements in this module and also removes the use of events to handle the scmi messages and responses.
It also includes updates for the corresponding unit tests.
Change-Id: I5c91b8c36aeddc891f78daf11336467bf54da495https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/844smcf_utils: Utility for helping with the configuration.2023-09-20T16:46:28ZDarryl Greensmcf_utils: Utility for helping with the configuration.*Created by: khaledAhmed-arm*
Add a helper function to configure SMCF RAM based on SMCF header configuration and data size.*Created by: khaledAhmed-arm*
Add a helper function to configure SMCF RAM based on SMCF header configuration and data size.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/847scp: Update list of maintainers for SCP-firmware2023-09-25T17:55:17ZDarryl Greenscp: Update list of maintainers for SCP-firmware*Created by: leandro-arm*
Change-Id: I72de1508b656c378c8c6bf8132b89c234e0a173b*Created by: leandro-arm*
Change-Id: I72de1508b656c378c8c6bf8132b89c234e0a173bhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/846module/power_domain: Only respond to `SYSTEM_SHUTDOWN` if necessary2023-09-25T16:15:55ZDarryl Greenmodule/power_domain: Only respond to `SYSTEM_SHUTDOWN` if necessary*Created by: leandro-arm*
Upon receiving a `PD_EVENT_IDX_SYSTEM_SHUTDOWN` event, `check_and_notify_system_shutdown()` checks for subscribers to the `MOD_PD_NOTIFICATION_IDX_PRE_SHUTDOWN` notification and notifies them. If there are subs...*Created by: leandro-arm*
Upon receiving a `PD_EVENT_IDX_SYSTEM_SHUTDOWN` event, `check_and_notify_system_shutdown()` checks for subscribers to the `MOD_PD_NOTIFICATION_IDX_PRE_SHUTDOWN` notification and notifies them. If there are subscribers, the `is_delayed_response` flag of the `PD_EVENT_IDX_SYSTEM_SHUTDOWN` event is set in order to wait for the subscribers answer. However, this message does not require an answer as the `response_requested` field of this event is never set.
Check that:
- The `response_requested` flag is set in the `event` input parameter in order to only answer if a response was requested.
- `mod_pd_ctx.system_shutdown.cookie` was set if a delayed answer is expected. The cookie and the `ongoing` are then reset.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/841doc: Update user_guide.md2023-09-13T14:27:09ZDarryl Greendoc: Update user_guide.md*Created by: wenping-arm*
Remove deprecated command and path. Update binary path.
Change-Id: I9a401d76d0b542122b530d01b0c5563c5ec5e101*Created by: wenping-arm*
Remove deprecated command and path. Update binary path.
Change-Id: I9a401d76d0b542122b530d01b0c5563c5ec5e101https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/843SMCF: Fix enablement of START and END sample identifiers in WRCFG2023-09-20T16:47:14ZDarryl GreenSMCF: Fix enablement of START and END sample identifiers in WRCFG*Created by: abhishek-arm*
This change fixes the enablement of start and end sample identifiers. Currently if start sample identifier is already enabled and then end identifier is also requested, it results in WRCFG.NUM_SAMPLE_ID to be ...*Created by: abhishek-arm*
This change fixes the enablement of start and end sample identifiers. Currently if start sample identifier is already enabled and then end identifier is also requested, it results in WRCFG.NUM_SAMPLE_ID to be written with an invalid value 0b11 whereas the expected value as per specification is 0b10 to enable both START and END sample identifiers in data header.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/842product/morello: Add SCMI sensor management2023-09-20T08:55:47ZDarryl Greenproduct/morello: Add SCMI sensor management*Created by: anukou*
This change enables scmi-sensor module for Morello and implements an accessor method to retrieve the
sensor-related information provided via sensor module configuration.
Change-Id: Ic2905108c39a55b411d850217fa...*Created by: anukou*
This change enables scmi-sensor module for Morello and implements an accessor method to retrieve the
sensor-related information provided via sensor module configuration.
Change-Id: Ic2905108c39a55b411d850217fa08a8652b87faahttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/839Allow a selected list of PID/CID registers to compare2023-09-05T14:33:46ZDarryl GreenAllow a selected list of PID/CID registers to compare*Created by: leandro-arm*
Certain peripherals have only a partial set of valid PID and CID
identification registers. On such peripherals, the PID and CID
register address offsets remain the same even though only a partial
set of regi...*Created by: leandro-arm*
Certain peripherals have only a partial set of valid PID and CID
identification registers. On such peripherals, the PID and CID
register address offsets remain the same even though only a partial
set of registers are valid. Reading the invalid PID/CID registers
lead to a implementation specific behaviour. For example, such
reads could cause bus aborts.
For the supported platforms, allow the module configuration data to
specify the valid set of PID/CID registers to be compared. The valid
set of registers are represented as a bitmap.
Peripherals could implement a smaller set of PID/CID registers for its
identification and reading unimplemented registers could cause aborts.
So allow modules to specify a valid set of PID/CID register values
that have to be examined against a set of expected values.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/838SMCF: Add MGI validate header for MGI struct definition validation2023-09-21T12:10:45ZDarryl GreenSMCF: Add MGI validate header for MGI struct definition validation*Created by: abhishek-arm*
This change added mgi_validate_header.h which has static asserts for each MGI field against its offsets based on the specification. So that any change that doesn't comply with the MGI specification can be trac...*Created by: abhishek-arm*
This change added mgi_validate_header.h which has static asserts for each MGI field against its offsets based on the specification. So that any change that doesn't comply with the MGI specification can be traced down at the compilation itself.