SCP-firmware merge requestshttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests2023-11-28T13:30:06Zhttps://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/882Add SENSOR SMCF data driver2023-11-28T13:30:06ZDarryl GreenAdd SENSOR SMCF data driver*Created by: abhishek-arm*
This change added Sensor data driver patch for SMCF(System Monitoring Control Framework). The new sensor_smcf driver exposes data fetcher api for clients to fetch data samples in buffer using (SMCF).
It also...*Created by: abhishek-arm*
This change added Sensor data driver patch for SMCF(System Monitoring Control Framework). The new sensor_smcf driver exposes data fetcher api for clients to fetch data samples in buffer using (SMCF).
It also implements the generic sensor data api where it fetches the 64 bit value for the sensor using SMCF.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/872Pre-requisite patches for extending RD-Fremont platform support2023-11-14T15:57:42ZDarryl GreenPre-requisite patches for extending RD-Fremont platform support*Created by: ghost*
This pull request contains the set of patches that are pre-requisite patches for extending RD-Fremont platform support with updates for SCP, MCP and LCP.*Created by: ghost*
This pull request contains the set of patches that are pre-requisite patches for extending RD-Fremont platform support with updates for SCP, MCP and LCP.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/879Resource perms UT and Refactoring2023-11-22T16:09:30ZDarryl GreenResource perms UT and Refactoring*Created by: khaledAhmed-arm*
- Add UT for resource_perms component and Generalize set_agent_resource_<protocol>_permissions functions to be only one function can handle all set permissions for all protocols set_agent_resource_permissio...*Created by: khaledAhmed-arm*
- Add UT for resource_perms component and Generalize set_agent_resource_<protocol>_permissions functions to be only one function can handle all set permissions for all protocols set_agent_resource_permissions.
- Move default permissions backing up allocation into init of the resource perms.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/881Halt SCP boot if DDR4 training fails for morello and n1sdp2023-11-28T13:37:35ZDarryl GreenHalt SCP boot if DDR4 training fails for morello and n1sdp*Created by: sah01Kaushal*
Currently, the SCP boot continues if the DDR4 training fails, the boot then later hangs when it reaches tf-a stage. These patches will halt the boot in SCP itself.*Created by: sah01Kaushal*
Currently, the SCP boot continues if the DDR4 training fails, the boot then later hangs when it reaches tf-a stage. These patches will halt the boot in SCP itself.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/878cmn700: fix address and size alignment check.2023-11-21T12:24:30ZDarryl Greencmn700: fix address and size alignment check.*Created by: nissha03*
Fix the logical error in the cmn700 address alignment check. Due to the logical error, the check only failed if the address and size were unaligned.
Updated the logic to allow it to fail if either value is unal...*Created by: nissha03*
Fix the logical error in the cmn700 address alignment check. Due to the logical error, the check only failed if the address and size were unaligned.
Updated the logic to allow it to fail if either value is unaligned. Also fixed the wrong address mask calculation.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/877interface/cmn: Add a interface for CMN drivers2023-11-21T09:14:28ZDarryl Greeninterface/cmn: Add a interface for CMN drivers*Created by: nissha03*
CMN module drivers can change between platforms; this makes it challenging to write a generic module that uses CMN APIs to map regions during runtime.
Add a generic API interface that CMN modules use to define th...*Created by: nissha03*
CMN module drivers can change between platforms; this makes it challenging to write a generic module that uses CMN APIs to map regions during runtime.
Add a generic API interface that CMN modules use to define their APIs and use the module ID provided by the platform configuration to bind to the correct CMN module.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/870module/power_domain: Refactor the power domain module2023-11-22T16:02:40ZDarryl Greenmodule/power_domain: Refactor the power domain module*Created by: Jmc18134*
This PR breaks up the power domain module to make things more readable and easier to modify.
Notification-related functions are now only included when notifications are enabled. State-related utilities and notif...*Created by: Jmc18134*
This PR breaks up the power domain module to make things more readable and easier to modify.
Notification-related functions are now only included when notifications are enabled. State-related utilities and notifications have been moved to their own files.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/875morello: print the temperature sensor values during boot2023-11-20T10:32:01ZDarryl Greenmorello: print the temperature sensor values during boot*Created by: sah01Kaushal*
Currently, on SCP, there is no way for users to get CPU temperature values during or after boot. This change will show reference temperature values during boot, so that the alarm or shutdown threshold does not...*Created by: sah01Kaushal*
Currently, on SCP, there is no way for users to get CPU temperature values during or after boot. This change will show reference temperature values during boot, so that the alarm or shutdown threshold does not come as a surprise.
Change-Id: I6079a750d4aeaa7768784aee640919cf2faa76b0https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/876rdn2/pcie_integ_ctrl: Move module from common module directory to rdn22023-11-21T09:14:05ZDarryl Greenrdn2/pcie_integ_ctrl: Move module from common module directory to rdn2*Created by: nissha03*
PCIe Integration controller is only present in RD-N2 family of platforms and other platform does not use this code.
Move the module to the RD-N2 platform module directory.
*Created by: nissha03*
PCIe Integration controller is only present in RD-N2 family of platforms and other platform does not use this code.
Move the module to the RD-N2 platform module directory.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/874Add AMU SMCF data driver2023-11-15T17:07:57ZDarryl GreenAdd AMU SMCF data driver*Created by: abhishek-arm*
This change added Activity Monitor Units(AMU) data driver patch for SMCF. The new amu_smcf driver exposes data fetcher api for clients to fetch AMU data using System Monitoring Control Framework (SMCF).*Created by: abhishek-arm*
This change added Activity Monitor Units(AMU) data driver patch for SMCF. The new amu_smcf driver exposes data fetcher api for clients to fetch AMU data using System Monitoring Control Framework (SMCF).https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/873check_copyright: Exclude moved files from checks2023-11-14T16:42:43ZDarryl Greencheck_copyright: Exclude moved files from checks*Created by: nicola-mazzucato-arm*
Files that are moved from one directory into another with 100% similarity should be excluded from the copyright check, in other words, they should not need an updated copyright year.
Add a new git o...*Created by: nicola-mazzucato-arm*
Files that are moved from one directory into another with 100% similarity should be excluded from the copyright check, in other words, they should not need an updated copyright year.
Add a new git operation and introduce a further comparison for files that are simply moved across directories to be excluded from the copyright check in the loop.
Change-Id: Ia9f4ece2d467eee61fc6a6afd8a07ba8339d54c6https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/871PPU Max Cores Per Cluster Count Configuration2023-11-14T11:17:36ZDarryl GreenPPU Max Cores Per Cluster Count Configuration*Created by: katvin01*
These patches change the number of cores per cluster to become part of the module configuration, and introduce initial unit tests for PPU_V1 to cover this.
They also include some code styling changes, found du...*Created by: katvin01*
These patches change the number of cores per cluster to become part of the module configuration, and introduce initial unit tests for PPU_V1 to cover this.
They also include some code styling changes, found during the process of this change. https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/869unit_test: List modules in alphabetical order2023-11-14T16:42:14ZDarryl Greenunit_test: List modules in alphabetical order*Created by: nicola-mazzucato-arm*
Reorder the UNIT_MODULE list in alphabetical order to ease the search of modules and explicitly request to maintain such ordering.
No functional change as consequence of this patch, only cosmetics.
...*Created by: nicola-mazzucato-arm*
Reorder the UNIT_MODULE list in alphabetical order to ease the search of modules and explicitly request to maintain such ordering.
No functional change as consequence of this patch, only cosmetics.
Change-Id: Ibf8f4fe63c2071e455d5216fe41668a8a6ad8390https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/868doc: add interface documentation2023-11-13T11:34:21ZDarryl Greendoc: add interface documentation*Created by: leandro-arm*
The documentation for the build system has been updated to include information about interfaces. Interfaces provide a common set of functionalities and define APIs and data structures for modules to implement s...*Created by: leandro-arm*
The documentation for the build system has been updated to include information about interfaces. Interfaces provide a common set of functionalities and define APIs and data structures for modules to implement specific features. The updated documentation explains the folder structure and usage of interfaces.
Change-Id: Ib9965fb23b46fd974f777b73c60dc25af4da1e74https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/867amu_mmap: `AMU` memory mapped driver2023-11-13T17:14:37ZDarryl Greenamu_mmap: `AMU` memory mapped driver*Created by: mohamedasaker-arm*
Add a memory-mapped `AMU` driver which implements the `AMU` interface when the
`AMU` counters are memory-mapped into the `SCP` memory.
*Created by: mohamedasaker-arm*
Add a memory-mapped `AMU` driver which implements the `AMU` interface when the
`AMU` counters are memory-mapped into the `SCP` memory.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/866interface: `AMU`2023-11-12T14:27:43ZDarryl Greeninterface: `AMU`*Created by: mohamedasaker-arm*
Add AMU interface definition.
The interface introduces an API to get the `AMU` counters of CPUs.
The definition of `AMU` interface to be implemented by multiple
drivers as counters access from SCP ...*Created by: mohamedasaker-arm*
Add AMU interface definition.
The interface introduces an API to get the `AMU` counters of CPUs.
The definition of `AMU` interface to be implemented by multiple
drivers as counters access from SCP differs across platforms.
https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/865product/rdn2: IONCICLK ctrl/div and TCU/IONCI clock enable should be RW2023-11-10T10:39:44ZDarryl Greenproduct/rdn2: IONCICLK ctrl/div and TCU/IONCI clock enable should be RW*Created by: lstarret*
IONCICLK_CTRL/IONCICLK_DIV1 were incorrectly marked as RO and WO, which breaks the read/modify/write behavior in mod_pik_clock.c. Also updated TCUx_CLK_ENABLE and NCIx_CLK_ENABLE R/W attributes, even though not y...*Created by: lstarret*
IONCICLK_CTRL/IONCICLK_DIV1 were incorrectly marked as RO and WO, which breaks the read/modify/write behavior in mod_pik_clock.c. Also updated TCUx_CLK_ENABLE and NCIx_CLK_ENABLE R/W attributes, even though not yet referened in the existing SW.https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/864mpmm/unit_test: Add unit test for mpmm2023-11-08T14:22:03ZDarryl Greenmpmm/unit_test: Add unit test for mpmm*Created by: wenping-arm*
This patch adds unit tests for mpmm module.
Change-Id: Ibc8a7a5730cf923f4af5d34881d90f673c1fecf7*Created by: wenping-arm*
This patch adds unit tests for mpmm module.
Change-Id: Ibc8a7a5730cf923f4af5d34881d90f673c1fecf7https://gitlab.arm.com/firmware/SCP-firmware/-/merge_requests/863morello: Add firmware version information to SDS2023-11-13T13:17:09ZDarryl Greenmorello: Add firmware version information to SDS*Created by: wernerlewis*
Adds a firmware information structure to the SDS region on Morello, containing Morello-specific SCP, PCC, and MCC version information. This is to provide access to this versioning in further firmware stages. Ad...*Created by: wernerlewis*
Adds a firmware information structure to the SDS region on Morello, containing Morello-specific SCP, PCC, and MCC version information. This is to provide access to this versioning in further firmware stages. Additional commit resolves I2C issues where multiple SCP2PCC requests are made in succession, such as when fetching the PCC and MCC versions.https://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: I38062d1e3a551c37b6f1267fa4935ce9fa3d657d