TianoCore EDK2 master
|
Go to the source code of this file.
Data Structures | |
struct | _SCMI_CLOCK2_PROTOCOL |
Macros | |
#define | ARM_SCMI_CLOCK2_PROTOCOL_GUID |
#define | SCMI_CLOCK2_PROTOCOL_VERSION 1 |
Typedefs | |
typedef struct _SCMI_CLOCK2_PROTOCOL | SCMI_CLOCK2_PROTOCOL |
typedef EFI_STATUS(EFIAPI * | SCMI_CLOCK2_GET_VERSION) (IN SCMI_CLOCK2_PROTOCOL *This, OUT UINT32 *Version) |
typedef EFI_STATUS(EFIAPI * | SCMI_CLOCK2_GET_TOTAL_CLOCKS) (IN SCMI_CLOCK2_PROTOCOL *This, OUT UINT32 *TotalClocks) |
typedef EFI_STATUS(EFIAPI * | SCMI_CLOCK2_GET_CLOCK_ATTRIBUTES) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, OUT BOOLEAN *Enabled, OUT CHAR8 *ClockAsciiName) |
typedef EFI_STATUS(EFIAPI * | SCMI_CLOCK2_DESCRIBE_RATES) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, OUT SCMI_CLOCK_RATE_FORMAT *Format, OUT UINT32 *TotalRates, IN OUT UINT32 *RateArraySize, OUT SCMI_CLOCK_RATE *RateArray) |
typedef EFI_STATUS(EFIAPI * | SCMI_CLOCK2_RATE_GET) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, OUT UINT64 *Rate) |
typedef EFI_STATUS(EFIAPI * | SCMI_CLOCK2_RATE_SET) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, IN UINT64 Rate) |
typedef EFI_STATUS(EFIAPI * | SCMI_CLOCK2_ENABLE) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, IN BOOLEAN Enable) |
Variables | |
EFI_GUID | gArmScmiClock2ProtocolGuid |
Copyright (c) 2017-2021, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
System Control and Management Interface V1.0 http://infocenter.arm.com/help/topic/com.arm.doc.den0056a/ DEN0056A_System_Control_and_Management_Interface.pdf
Definition in file ArmScmiClock2Protocol.h.
#define ARM_SCMI_CLOCK2_PROTOCOL_GUID |
Definition at line 18 of file ArmScmiClock2Protocol.h.
#define SCMI_CLOCK2_PROTOCOL_VERSION 1 |
Definition at line 24 of file ArmScmiClock2Protocol.h.
typedef EFI_STATUS(EFIAPI * SCMI_CLOCK2_DESCRIBE_RATES) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, OUT SCMI_CLOCK_RATE_FORMAT *Format, OUT UINT32 *TotalRates, IN OUT UINT32 *RateArraySize, OUT SCMI_CLOCK_RATE *RateArray) |
Return list of rates supported by a given clock device.
[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.
[out] | TotalRates | Total number of rates. |
[in,out] | RateArraySize | Size of the RateArray. |
[out] | RateArray | List of clock rates. |
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. |
Definition at line 111 of file ArmScmiClock2Protocol.h.
typedef EFI_STATUS(EFIAPI * SCMI_CLOCK2_ENABLE) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, IN BOOLEAN Enable) |
Enable/Disable specified clock. Function is only available under gArmScmiClock2ProtocolGuid
[in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
[in] | ClockId | Identifier for the clock device. |
[in] | Enable | TRUE to enable, FALSE to disable. |
EFI_SUCCESS | Clock enable/disable successful. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 170 of file ArmScmiClock2Protocol.h.
typedef EFI_STATUS(EFIAPI * SCMI_CLOCK2_GET_CLOCK_ATTRIBUTES) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, OUT BOOLEAN *Enabled, OUT CHAR8 *ClockAsciiName) |
Return attributes of a clock device.
[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. |
EFI_SUCCESS | Clock device attributes are returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 79 of file ArmScmiClock2Protocol.h.
typedef EFI_STATUS(EFIAPI * SCMI_CLOCK2_GET_TOTAL_CLOCKS) (IN SCMI_CLOCK2_PROTOCOL *This, OUT UINT32 *TotalClocks) |
Return total number of clock devices supported by the clock management protocol.
[in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
[out] | TotalClocks | Total number of clocks supported. |
EFI_SUCCESS | Total number of clocks supported is returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 59 of file ArmScmiClock2Protocol.h.
typedef EFI_STATUS(EFIAPI * SCMI_CLOCK2_GET_VERSION) (IN SCMI_CLOCK2_PROTOCOL *This, OUT UINT32 *Version) |
Return version of the clock management protocol supported by SCP firmware.
[in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
[out] | Version | Version of the supported SCMI Clock management protocol. |
EFI_SUCCESS | The version is returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 41 of file ArmScmiClock2Protocol.h.
typedef struct _SCMI_CLOCK2_PROTOCOL SCMI_CLOCK2_PROTOCOL |
Definition at line 26 of file ArmScmiClock2Protocol.h.
typedef EFI_STATUS(EFIAPI * SCMI_CLOCK2_RATE_GET) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, OUT UINT64 *Rate) |
Get clock rate.
[in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
[in] | ClockId | Identifier for the clock device. |
[out] | Rate | Clock rate. |
EFI_SUCCESS | Clock rate is returned. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 133 of file ArmScmiClock2Protocol.h.
typedef EFI_STATUS(EFIAPI * SCMI_CLOCK2_RATE_SET) (IN SCMI_CLOCK2_PROTOCOL *This, IN UINT32 ClockId, IN UINT64 Rate) |
Set clock rate.
[in] | This | A Pointer to SCMI_CLOCK2_PROTOCOL Instance. |
[in] | ClockId | Identifier for the clock device. |
[in] | Rate | Clock rate. |
EFI_SUCCESS | Clock rate set success. |
EFI_DEVICE_ERROR | SCP returns an SCMI error. |
!(EFI_SUCCESS) | Other errors. |
Definition at line 151 of file ArmScmiClock2Protocol.h.