DynamicTablesPkg: Add DynamicTablesScmiInfoLib

The SCP holds some power information that could be advertised
through the _CPC object. The communication with the SCP is done
through SCMI protocols (c.f. ArmScmiDxe).

Use the SCMI protocols to query information and feed it to
the DynamicTablesPkg.

Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This commit is contained in:
Pierre Gondois
2024-01-25 16:18:48 +01:00
committed by mergify[bot]
parent fc04cfd119
commit b2c4916344
6 changed files with 371 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
/** @file
Arm SCMI Info Library.
Copyright (c) 2022 - 2023, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef ARM_SCMI_INFO_LIB_H_
#define ARM_SCMI_INFO_LIB_H_
#include <ConfigurationManagerObject.h>
/** Populate a AML_CPC_INFO object based on SCMI information.
@param[in] DomainId Identifier for the performance domain.
@param[out] CpcInfo If success, this structure was populated from
information queried to the SCP.
@retval EFI_SUCCESS Success.
@retval EFI_DEVICE_ERROR Device error.
@retval EFI_INVALID_PARAMETER Invalid parameter.
@retval EFI_TIMEOUT Time out.
@retval EFI_UNSUPPORTED Unsupported.
**/
EFI_STATUS
EFIAPI
DynamicTablesScmiInfoGetFastChannel (
IN UINT32 DomainId,
OUT AML_CPC_INFO *CpcInfo
);
#endif // ARM_SCMI_INFO_LIB_H_