TianoCore EDK2 master
Loading...
Searching...
No Matches
ArmScmiBaseProtocol.h File Reference
#include <Protocol/ArmScmi.h>

Go to the source code of this file.

Data Structures

struct  _SCMI_BASE_PROTOCOL
 

Macros

#define BASE_PROTOCOL_VERSION_V1   0x10000
 
#define BASE_PROTOCOL_VERSION_V2   0x20000
 
#define NUM_PROTOCOL_MASK   0xFFU
 
#define NUM_AGENT_MASK   0xFFU
 
#define NUM_AGENT_SHIFT   0x8
 
#define SCMI_TOTAL_PROTOCOLS(Attr)   (Attr & NUM_PROTOCOL_MASK)
 
#define SCMI_TOTAL_AGENTS(Attr)   ((Attr >> NUM_AGENT_SHIFT) & NUM_AGENT_MASK)
 
#define ARM_SCMI_BASE_PROTOCOL_GUID
 

Typedefs

typedef struct _SCMI_BASE_PROTOCOL SCMI_BASE_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * SCMI_BASE_GET_VERSION) (IN SCMI_BASE_PROTOCOL *This, OUT UINT32 *Version)
 
typedef EFI_STATUS(EFIAPI * SCMI_BASE_GET_TOTAL_PROTOCOLS) (IN SCMI_BASE_PROTOCOL *This, OUT UINT32 *TotalProtocols)
 
typedef EFI_STATUS(EFIAPI * SCMI_BASE_DISCOVER_VENDOR) (IN SCMI_BASE_PROTOCOL *This, OUT UINT8 VendorIdentifier[SCMI_MAX_STR_LEN])
 
typedef EFI_STATUS(EFIAPI * SCMI_BASE_DISCOVER_SUB_VENDOR) (IN SCMI_BASE_PROTOCOL *This, OUT UINT8 VendorIdentifier[SCMI_MAX_STR_LEN])
 
typedef EFI_STATUS(EFIAPI * SCMI_BASE_DISCOVER_IMPLEMENTATION_VERSION) (IN SCMI_BASE_PROTOCOL *This, OUT UINT32 *ImplementationVersion)
 
typedef EFI_STATUS(EFIAPI * SCMI_BASE_DISCOVER_LIST_PROTOCOLS) (IN SCMI_BASE_PROTOCOL *This, IN OUT UINT32 *ProtocolListSize, OUT UINT8 *ProtocolList)
 

Enumerations

enum  SCMI_MESSAGE_ID_BASE { ScmiMessageIdBaseDiscoverVendor = 0x3 , ScmiMessageIdBaseDiscoverSubVendor = 0x4 , ScmiMessageIdBaseDiscoverImplementationVersion = 0x5 , ScmiMessageIdBaseDiscoverListProtocols = 0x6 }
 

Variables

EFI_GUID gArmScmiBaseProtocolGuid
 

Detailed Description

Copyright (c) 2017-2021, Arm Limited. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Specification Reference:

Definition in file ArmScmiBaseProtocol.h.

Macro Definition Documentation

◆ ARM_SCMI_BASE_PROTOCOL_GUID

#define ARM_SCMI_BASE_PROTOCOL_GUID
Value:
{ \
0xd7e5abe9, 0x33ab, 0x418e, {0x9f, 0x91, 0x72, 0xda, 0xe2, 0xba, 0x8e, 0x2f} \
}

Definition at line 33 of file ArmScmiBaseProtocol.h.

◆ BASE_PROTOCOL_VERSION_V1

#define BASE_PROTOCOL_VERSION_V1   0x10000

Definition at line 17 of file ArmScmiBaseProtocol.h.

◆ BASE_PROTOCOL_VERSION_V2

#define BASE_PROTOCOL_VERSION_V2   0x20000

Definition at line 18 of file ArmScmiBaseProtocol.h.

◆ NUM_AGENT_MASK

#define NUM_AGENT_MASK   0xFFU

Definition at line 21 of file ArmScmiBaseProtocol.h.

◆ NUM_AGENT_SHIFT

#define NUM_AGENT_SHIFT   0x8

Definition at line 23 of file ArmScmiBaseProtocol.h.

◆ NUM_PROTOCOL_MASK

#define NUM_PROTOCOL_MASK   0xFFU

Definition at line 20 of file ArmScmiBaseProtocol.h.

◆ SCMI_TOTAL_AGENTS

#define SCMI_TOTAL_AGENTS (   Attr)    ((Attr >> NUM_AGENT_SHIFT) & NUM_AGENT_MASK)

Definition at line 31 of file ArmScmiBaseProtocol.h.

◆ SCMI_TOTAL_PROTOCOLS

#define SCMI_TOTAL_PROTOCOLS (   Attr)    (Attr & NUM_PROTOCOL_MASK)

Returns total number of protocols that are implemented (excluding the Base protocol)

Definition at line 28 of file ArmScmiBaseProtocol.h.

Typedef Documentation

◆ SCMI_BASE_DISCOVER_IMPLEMENTATION_VERSION

typedef EFI_STATUS(EFIAPI * SCMI_BASE_DISCOVER_IMPLEMENTATION_VERSION) (IN SCMI_BASE_PROTOCOL *This, OUT UINT32 *ImplementationVersion)

Return implementation version.

Parameters
[in]ThisA Pointer to SCMI_BASE_PROTOCOL Instance.
[out]ImplementationVersionVendor specific implementation version.
Return values
EFI_SUCCESSImplementation version is returned.
EFI_DEVICE_ERRORSCP returns a SCMI error.
!(EFI_SUCCESS)Other errors.

Definition at line 122 of file ArmScmiBaseProtocol.h.

◆ SCMI_BASE_DISCOVER_LIST_PROTOCOLS

typedef EFI_STATUS(EFIAPI * SCMI_BASE_DISCOVER_LIST_PROTOCOLS) (IN SCMI_BASE_PROTOCOL *This, IN OUT UINT32 *ProtocolListSize, OUT UINT8 *ProtocolList)

Return list of protocols.

Parameters
[in]ThisA Pointer to SCMI_BASE_PROTOCOL Instance.
[out]ProtocolListSizeSize of the ProtocolList.
[out]ProtocolListProtocol list.
Return values
EFI_SUCCESSList of protocols is returned.
EFI_BUFFER_TOO_SMALLProtocolListSize is too small for the result. It has been updated to the size needed.
EFI_DEVICE_ERRORSCP returns a SCMI error.
!(EFI_SUCCESS)Other errors.

Definition at line 143 of file ArmScmiBaseProtocol.h.

◆ SCMI_BASE_DISCOVER_SUB_VENDOR

typedef EFI_STATUS(EFIAPI * SCMI_BASE_DISCOVER_SUB_VENDOR) (IN SCMI_BASE_PROTOCOL *This, OUT UINT8 VendorIdentifier[SCMI_MAX_STR_LEN])

Return sub vendor name.

Parameters
[in]ThisA Pointer to SCMI_BASE_PROTOCOL Instance.
[out]VendorIdentifierNull terminated ASCII string of up to 16 bytes with a vendor name.
Return values
EFI_SUCCESSVendorIdentifier is returned.
EFI_DEVICE_ERRORSCP returns a SCMI error.
!(EFI_SUCCESS)Other errors.

Definition at line 105 of file ArmScmiBaseProtocol.h.

◆ SCMI_BASE_DISCOVER_VENDOR

typedef EFI_STATUS(EFIAPI * SCMI_BASE_DISCOVER_VENDOR) (IN SCMI_BASE_PROTOCOL *This, OUT UINT8 VendorIdentifier[SCMI_MAX_STR_LEN])

Return vendor name.

Parameters
[in]ThisA Pointer to SCMI_BASE_PROTOCOL Instance.
[out]VendorIdentifierNull terminated ASCII string of up to 16 bytes with a vendor name.
Return values
EFI_SUCCESSVendorIdentifier is returned.
EFI_DEVICE_ERRORSCP returns a SCMI error.
!(EFI_SUCCESS)Other errors.

Definition at line 87 of file ArmScmiBaseProtocol.h.

◆ SCMI_BASE_GET_TOTAL_PROTOCOLS

typedef EFI_STATUS(EFIAPI * SCMI_BASE_GET_TOTAL_PROTOCOLS) (IN SCMI_BASE_PROTOCOL *This, OUT UINT32 *TotalProtocols)

Return total number of SCMI protocols supported by the SCP firmware.

Parameters
[in]ThisA Pointer to SCMI_BASE_PROTOCOL Instance.
[out]TotalProtocolsTotal number of SCMI protocols supported.
Return values
EFI_SUCCESSTotal number of protocols supported are returned.
EFI_DEVICE_ERRORSCP returns a SCMI error.
!(EFI_SUCCESS)Other errors.

Definition at line 69 of file ArmScmiBaseProtocol.h.

◆ SCMI_BASE_GET_VERSION

typedef EFI_STATUS(EFIAPI * SCMI_BASE_GET_VERSION) (IN SCMI_BASE_PROTOCOL *This, OUT UINT32 *Version)

Return version of the Base protocol supported by SCP firmware.

Parameters
[in]ThisA Pointer to SCMI_BASE_PROTOCOL Instance.
[out]VersionVersion of the supported SCMI Base protocol.
Return values
EFI_SUCCESSThe version of the protocol is returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Definition at line 52 of file ArmScmiBaseProtocol.h.

◆ SCMI_BASE_PROTOCOL

Definition at line 39 of file ArmScmiBaseProtocol.h.

Enumeration Type Documentation

◆ SCMI_MESSAGE_ID_BASE

enum SCMI_MESSAGE_ID_BASE

Definition at line 161 of file ArmScmiBaseProtocol.h.