ArmPkg[all]  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ArmMpCoreInfo.h File Reference

Data Structures

struct  ARM_MP_CORE_INFO_PPI
 

Macros

#define ARM_MP_CORE_INFO_PPI_GUID   { 0x6847cc74, 0xe9ec, 0x4f8f, {0xa2, 0x9d, 0xab, 0x44, 0xe7, 0x54, 0xa8, 0xfc} }
 

Typedefs

typedef OUT ARM_CORE_INFO ** ArmCoreTable
 

Functions

typedef EFI_STATUS (EFIAPI *ARM_MP_CORE_INFO_GET)(OUT UINTN *ArmCoreCount
 

Variables

EFI_GUID gArmMpCoreInfoPpiGuid
 
EFI_GUID gArmMpCoreInfoGuid
 

Detailed Description

Copyright (c) 2011, ARM Limited. All rights reserved.

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

Macro Definition Documentation

#define ARM_MP_CORE_INFO_PPI_GUID   { 0x6847cc74, 0xe9ec, 0x4f8f, {0xa2, 0x9d, 0xab, 0x44, 0xe7, 0x54, 0xa8, 0xfc} }

Typedef Documentation

typedef OUT ARM_CORE_INFO** ArmCoreTable

Function Documentation

typedef EFI_STATUS ( EFIAPI *  SCMI_CLOCK2_ENABLE)

This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into permanent memory.

Parameters
PeiServicesPointer to the PEI Services Table.
TemporaryMemoryBaseSource Address in temporary memory from which the SEC or PEIM will copy the Temporary RAM contents.
PermanentMemoryBaseDestination Address in permanent memory into which the SEC or PEIM will copy the Temporary RAM contents.
CopySizeAmount of memory to migrate from temporary to permanent memory.
Return values
EFI_SUCCESSThe data was successfully returned.
EFI_INVALID_PARAMETERPermanentMemoryBase + CopySize > TemporaryMemoryBase when TemporaryMemoryBase > PermanentMemoryBase.

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.

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.

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.

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.

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.

Return protocol attributes of the performance management protocol.

Parameters
[in]ThisA Pointer to SCMI_PERFORMANCE_PROTOCOL Instance.
[out]AttributesProtocol attributes.
Return values
EFI_SUCCESSProtocol attributes are returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Return performance domain attributes.

Parameters
[in]ThisA Pointer to SCMI_PERFORMANCE_PROTOCOL Instance.
[in]DomainIdIdentifier for the performance domain.
[out]AttributesPerformance domain attributes.
Return values
EFI_SUCCESSDomain attributes are returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Return list of performance domain levels of a given domain.

Parameters
[in]ThisA Pointer to SCMI_PERFORMANCE_PROTOCOL Instance.
[in]DomainIdIdentifier for the performance domain.
[out]NumLevelsTotal number of levels a domain can support.
[in,out]LevelArraySizeSize of the performance level array.
[out]LevelArrayArray of the performance levels.
Return values
EFI_SUCCESSDomain levels are returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
EFI_BUFFER_TOO_SMALLLevelArraySize 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]ThisA Pointer to SCMI_PERFORMANCE_PROTOCOL Instance.
[in]DomainIdIdentifier for the performance domain.
[in]LimitPerformance limit to set.
Return values
EFI_SUCCESSPerformance limits set successfully.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Get performance limits of a domain.

Parameters
[in]ThisA Pointer to SCMI_PERFORMANCE_PROTOCOL Instance.
[in]DomainIdIdentifier for the performance domain.
[out]LimitPerformance Limits of the domain.
Return values
EFI_SUCCESSPerformance limits are returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Set performance level of a domain.

Parameters
[in]ThisA Pointer to SCMI_PERFORMANCE_PROTOCOL Instance.
[in]DomainIdIdentifier for the performance domain.
[in]LevelPerformance level of the domain.
Return values
EFI_SUCCESSPerformance level set successfully.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Get performance level of a domain.

Parameters
[in]ThisA Pointer to SCMI_PERFORMANCE_PROTOCOL Instance.
[in]DomainIdIdentifier for the performance domain.
[out]LevelPerformance level of the domain.
Return values
EFI_SUCCESSPerformance level got successfully.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Return total number of clock devices supported by the clock management protocol.

Parameters
[in]ThisA Pointer to SCMI_CLOCK_PROTOCOL Instance.
[out]TotalClocksTotal number of clocks supported.
Return values
EFI_SUCCESSTotal number of clocks supported is returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Return attributes of a clock device.

Parameters
[in]ThisA Pointer to SCMI_CLOCK_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[out]EnabledIf TRUE, the clock device is enabled.
[out]ClockAsciiNameA NULL terminated ASCII string with the clock name, of up to 16 bytes.
Return values
EFI_SUCCESSClock device attributes are returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Return list of rates supported by a given clock device.

Parameters
[in]ThisA pointer to SCMI_CLOCK_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[out]FormatScmiClockRateFormatDiscrete: 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]TotalRatesTotal number of rates.
[in,out]RateArraySizeSize of the RateArray.
[out]RateArrayList of clock rates.
Return values
EFI_SUCCESSList of clock rates are returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
EFI_BUFFER_TOO_SMALLRateArraySize is too small for the result. It has been updated to the size needed.
!(EFI_SUCCESS)Other errors.

Get clock rate.

Parameters
[in]ThisA Pointer to SCMI_CLOCK_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[out]RateClock rate.
Return values
EFI_SUCCESSClock rate is returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Set clock rate.

Parameters
[in]ThisA Pointer to SCMI_CLOCK_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[in]RateClock rate.
Return values
EFI_SUCCESSClock rate set success.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Return total number of clock devices supported by the clock management protocol.

Parameters
[in]ThisA Pointer to SCMI_CLOCK2_PROTOCOL Instance.
[out]TotalClocksTotal number of clocks supported.
Return values
EFI_SUCCESSTotal number of clocks supported is returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Return attributes of a clock device.

Parameters
[in]ThisA Pointer to SCMI_CLOCK2_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[out]EnabledIf TRUE, the clock device is enabled.
[out]ClockAsciiNameA NULL terminated ASCII string with the clock name, of up to 16 bytes.
Return values
EFI_SUCCESSClock device attributes are returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Return list of rates supported by a given clock device.

Parameters
[in]ThisA pointer to SCMI_CLOCK2_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[out]FormatScmiClockRateFormatDiscrete: 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]TotalRatesTotal number of rates.
[in,out]RateArraySizeSize of the RateArray.
[out]RateArrayList of clock rates.
Return values
EFI_SUCCESSList of clock rates are returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
EFI_BUFFER_TOO_SMALLRateArraySize is too small for the result. It has been updated to the size needed.
!(EFI_SUCCESS)Other errors.

Get clock rate.

Parameters
[in]ThisA Pointer to SCMI_CLOCK2_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[out]RateClock rate.
Return values
EFI_SUCCESSClock rate is returned.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Set clock rate.

Parameters
[in]ThisA Pointer to SCMI_CLOCK2_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[in]RateClock rate.
Return values
EFI_SUCCESSClock rate set success.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Enable/Disable specified clock. Function is only available under gArmScmiClock2ProtocolGuid

Parameters
[in]ThisA Pointer to SCMI_CLOCK2_PROTOCOL Instance.
[in]ClockIdIdentifier for the clock device.
[in]EnableTRUE to enable, FALSE to disable.
Return values
EFI_SUCCESSClock enable/disable successful.
EFI_DEVICE_ERRORSCP returns an SCMI error.
!(EFI_SUCCESS)Other errors.

Variable Documentation

EFI_GUID gArmMpCoreInfoGuid
EFI_GUID gArmMpCoreInfoPpiGuid