This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into permanent memory.
- Parameters
-
| PeiServices | Pointer to the PEI Services Table. |
| TemporaryMemoryBase | Source Address in temporary memory from which the SEC or PEIM will copy the Temporary RAM contents. |
| PermanentMemoryBase | Destination Address in permanent memory into which the SEC or PEIM will copy the Temporary RAM contents. |
| CopySize | Amount of memory to migrate from temporary to permanent memory. |
- Return values
-
| EFI_SUCCESS | The data was successfully returned. |
| EFI_INVALID_PARAMETER | PermanentMemoryBase + CopySize > TemporaryMemoryBase when TemporaryMemoryBase > PermanentMemoryBase. |
Return total number of SCMI protocols supported by the SCP firmware.
- Parameters
-
| [in] | This | A Pointer to SCMI_BASE_PROTOCOL Instance. |
| [out] | TotalProtocols | Total number of SCMI protocols supported. |
- Return values
-
| EFI_SUCCESS | Total number of protocols supported are returned. |
| EFI_DEVICE_ERROR | SCP returns a SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return vendor name.
- Parameters
-
| [in] | This | A Pointer to SCMI_BASE_PROTOCOL Instance. |
| [out] | VendorIdentifier | Null terminated ASCII string of up to 16 bytes with a vendor name. |
- Return values
-
| EFI_SUCCESS | VendorIdentifier is returned. |
| EFI_DEVICE_ERROR | SCP returns a SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return sub vendor name.
- Parameters
-
| [in] | This | A Pointer to SCMI_BASE_PROTOCOL Instance. |
| [out] | VendorIdentifier | Null terminated ASCII string of up to 16 bytes with a vendor name. |
- Return values
-
| EFI_SUCCESS | VendorIdentifier is returned. |
| EFI_DEVICE_ERROR | SCP returns a SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return implementation version.
- Parameters
-
| [in] | This | A Pointer to SCMI_BASE_PROTOCOL Instance. |
| [out] | ImplementationVersion | Vendor specific implementation version. |
- Return values
-
| EFI_SUCCESS | Implementation version is returned. |
| EFI_DEVICE_ERROR | SCP returns a SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return list of protocols.
- Parameters
-
| [in] | This | A Pointer to SCMI_BASE_PROTOCOL Instance. |
| [out] | ProtocolListSize | Size of the ProtocolList. |
| [out] | ProtocolList | Protocol list. |
- Return values
-
| EFI_SUCCESS | List of protocols is returned. |
| EFI_BUFFER_TOO_SMALL | ProtocolListSize is too small for the result. It has been updated to the size needed. |
| EFI_DEVICE_ERROR | SCP returns a SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return protocol attributes of the performance management protocol.
- Parameters
-
| [in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
| [out] | Attributes | Protocol attributes. |
- Return values
-
| EFI_SUCCESS | Protocol attributes are returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return performance domain attributes.
- Parameters
-
| [in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
| [in] | DomainId | Identifier for the performance domain. |
| [out] | Attributes | Performance domain attributes. |
- Return values
-
| EFI_SUCCESS | Domain attributes are returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return list of performance domain levels of a given domain.
- Parameters
-
| [in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
| [in] | DomainId | Identifier for the performance domain. |
| [out] | NumLevels | Total number of levels a domain can support. |
| [in,out] | LevelArraySize | Size of the performance level array. |
| [out] | LevelArray | Array of the performance levels. |
- Return values
-
| EFI_SUCCESS | Domain levels are returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| EFI_BUFFER_TOO_SMALL | LevelArraySize is too small for the result. It has been updated to the size needed. |
| !(EFI_SUCCESS) | Other errors. |
Set performance limits of a domain.
- Parameters
-
| [in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
| [in] | DomainId | Identifier for the performance domain. |
| [in] | Limit | Performance limit to set. |
- Return values
-
| EFI_SUCCESS | Performance limits set successfully. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Get performance limits of a domain.
- Parameters
-
| [in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
| [in] | DomainId | Identifier for the performance domain. |
| [out] | Limit | Performance Limits of the domain. |
- Return values
-
| EFI_SUCCESS | Performance limits are returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Set performance level of a domain.
- Parameters
-
| [in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
| [in] | DomainId | Identifier for the performance domain. |
| [in] | Level | Performance level of the domain. |
- Return values
-
| EFI_SUCCESS | Performance level set successfully. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Get performance level of a domain.
- Parameters
-
| [in] | This | A Pointer to SCMI_PERFORMANCE_PROTOCOL Instance. |
| [in] | DomainId | Identifier for the performance domain. |
| [out] | Level | Performance level of the domain. |
- Return values
-
| EFI_SUCCESS | Performance level got successfully. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return total number of clock devices supported by the clock management protocol.
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK_PROTOCOL Instance. |
| [out] | TotalClocks | Total number of clocks supported. |
- Return values
-
| EFI_SUCCESS | Total number of clocks supported is returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return attributes of a clock device.
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [out] | Enabled | If TRUE, the clock device is enabled. |
| [out] | ClockAsciiName | A NULL terminated ASCII string with the clock name, of up to 16 bytes. |
- Return values
-
| EFI_SUCCESS | Clock device attributes are returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return list of rates supported by a given clock device.
- Parameters
-
| [in] | This | A pointer to SCMI_CLOCK_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [out] | Format | ScmiClockRateFormatDiscrete: Clock device supports range of clock rates which are non-linear. |
ScmiClockRateFormatLinear: Clock device supports range of linear clock rates from Min to Max in steps.
- Parameters
-
| [out] | TotalRates | Total number of rates. |
| [in,out] | RateArraySize | Size of the RateArray. |
| [out] | RateArray | List of clock rates. |
- Return values
-
| EFI_SUCCESS | List of clock rates are returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| EFI_BUFFER_TOO_SMALL | RateArraySize is too small for the result. It has been updated to the size needed. |
| !(EFI_SUCCESS) | Other errors. |
Get clock rate.
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [out] | Rate | Clock rate. |
- Return values
-
| EFI_SUCCESS | Clock rate is returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Set clock rate.
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [in] | Rate | Clock rate. |
- Return values
-
| EFI_SUCCESS | Clock rate set success. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return total number of clock devices supported by the clock management protocol.
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
| [out] | TotalClocks | Total number of clocks supported. |
- Return values
-
| EFI_SUCCESS | Total number of clocks supported is returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return attributes of a clock device.
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [out] | Enabled | If TRUE, the clock device is enabled. |
| [out] | ClockAsciiName | A NULL terminated ASCII string with the clock name, of up to 16 bytes. |
- Return values
-
| EFI_SUCCESS | Clock device attributes are returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Return list of rates supported by a given clock device.
- Parameters
-
| [in] | This | A pointer to SCMI_CLOCK2_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [out] | Format | ScmiClockRateFormatDiscrete: Clock device supports range of clock rates which are non-linear. |
ScmiClockRateFormatLinear: Clock device supports range of linear clock rates from Min to Max in steps.
- Parameters
-
| [out] | TotalRates | Total number of rates. |
| [in,out] | RateArraySize | Size of the RateArray. |
| [out] | RateArray | List of clock rates. |
- Return values
-
| EFI_SUCCESS | List of clock rates are returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| EFI_BUFFER_TOO_SMALL | RateArraySize is too small for the result. It has been updated to the size needed. |
| !(EFI_SUCCESS) | Other errors. |
Get clock rate.
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [out] | Rate | Clock rate. |
- Return values
-
| EFI_SUCCESS | Clock rate is returned. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Set clock rate.
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [in] | Rate | Clock rate. |
- Return values
-
| EFI_SUCCESS | Clock rate set success. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |
Enable/Disable specified clock. Function is only available under gArmScmiClock2ProtocolGuid
- Parameters
-
| [in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
| [in] | ClockId | Identifier for the clock device. |
| [in] | Enable | TRUE to enable, FALSE to disable. |
- Return values
-
| EFI_SUCCESS | Clock enable/disable successful. |
| EFI_DEVICE_ERROR | SCP returns an SCMI error. |
| !(EFI_SUCCESS) | Other errors. |