summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicola Mazzucato <nicola.mazzucato@arm.com>2021-05-10 09:26:16 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-05-10 15:46:42 +0000
commit375f2d8e684dce2ab6f375382f35e546c7ab62ee (patch)
tree1a111a5ae0a52c3e863945fb2c6b57f0d8dd8223
parentf297b7f20010711e36e981fe45645302cc9d109d (diff)
downloadedk2-375f2d8e684dce2ab6f375382f35e546c7ab62ee.zip
edk2-375f2d8e684dce2ab6f375382f35e546c7ab62ee.tar.gz
edk2-375f2d8e684dce2ab6f375382f35e546c7ab62ee.tar.bz2
ArmPkg: Update SCMI Base Protocol version to 0x20000
The SCP-firmware has moved to full support for SCMIv2 which means that the base protocol can be either compliant with SCMI v1 or v2. Allow any version between SCMI v1.0 and SCMI v2.0 to be compatible with the current implementation. Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Tested-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
-rw-r--r--ArmPkg/Drivers/ArmScmiDxe/ScmiDxe.c10
-rw-r--r--ArmPkg/Include/Protocol/ArmScmiBaseProtocol.h10
2 files changed, 11 insertions, 9 deletions
diff --git a/ArmPkg/Drivers/ArmScmiDxe/ScmiDxe.c b/ArmPkg/Drivers/ArmScmiDxe/ScmiDxe.c
index d5890a7..fb4e79a 100644
--- a/ArmPkg/Drivers/ArmScmiDxe/ScmiDxe.c
+++ b/ArmPkg/Drivers/ArmScmiDxe/ScmiDxe.c
@@ -4,9 +4,9 @@
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
+ @par Specification Reference:
+ - Arm System Control and Management Interface - Platform Design Document
+ (https://developer.arm.com/documentation/den0056/)
**/
#include <Base.h>
@@ -86,7 +86,9 @@ ArmScmiDxeEntryPoint (
return Status;
}
- if (Version != BASE_PROTOCOL_VERSION) {
+ // Accept any version between SCMI v1.0 and SCMI v2.0
+ if ((Version < BASE_PROTOCOL_VERSION_V1) ||
+ (Version > BASE_PROTOCOL_VERSION_V2)) {
ASSERT (FALSE);
return EFI_UNSUPPORTED;
}
diff --git a/ArmPkg/Include/Protocol/ArmScmiBaseProtocol.h b/ArmPkg/Include/Protocol/ArmScmiBaseProtocol.h
index 73ad3e3..c4b81c0 100644
--- a/ArmPkg/Include/Protocol/ArmScmiBaseProtocol.h
+++ b/ArmPkg/Include/Protocol/ArmScmiBaseProtocol.h
@@ -4,9 +4,9 @@
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
+ @par Specification Reference:
+ - Arm System Control and Management Interface - Platform Design Document
+ (https://developer.arm.com/documentation/den0056/)
**/
#ifndef ARM_SCMI_BASE_PROTOCOL_H_
@@ -14,7 +14,8 @@
#include <Protocol/ArmScmi.h>
-#define BASE_PROTOCOL_VERSION 0x10000
+#define BASE_PROTOCOL_VERSION_V1 0x10000
+#define BASE_PROTOCOL_VERSION_V2 0x20000
#define NUM_PROTOCOL_MASK 0xFFU
#define NUM_AGENT_MASK 0xFFU
@@ -165,4 +166,3 @@ typedef enum {
} SCMI_MESSAGE_ID_BASE;
#endif /* ARM_SCMI_BASE_PROTOCOL_H_ */
-