aboutsummaryrefslogtreecommitdiffstats
path: root/roms/edk2/ArmPkg/Drivers/ArmScmiDxe/ArmScmiBaseProtocolPrivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'roms/edk2/ArmPkg/Drivers/ArmScmiDxe/ArmScmiBaseProtocolPrivate.h')
-rw-r--r--roms/edk2/ArmPkg/Drivers/ArmScmiDxe/ArmScmiBaseProtocolPrivate.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/roms/edk2/ArmPkg/Drivers/ArmScmiDxe/ArmScmiBaseProtocolPrivate.h b/roms/edk2/ArmPkg/Drivers/ArmScmiDxe/ArmScmiBaseProtocolPrivate.h
new file mode 100644
index 000000000..b99ec465b
--- /dev/null
+++ b/roms/edk2/ArmPkg/Drivers/ArmScmiDxe/ArmScmiBaseProtocolPrivate.h
@@ -0,0 +1,40 @@
+/** @file
+
+ Copyright (c) 2017-2018, 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
+**/
+
+#ifndef ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_
+#define ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_
+
+// Return values of BASE_DISCOVER_LIST_PROTOCOLS command.
+typedef struct {
+ UINT32 NumProtocols;
+
+ // Array of four protocols in each element
+ // Total elements = 1 + (NumProtocols-1)/4
+
+ // NOTE: Since EDK2 does not allow flexible array member [] we declare
+ // here array of 1 element length. However below is used as a variable
+ // length array.
+ UINT8 Protocols[1];
+} BASE_DISCOVER_LIST;
+
+/** Initialize Base protocol and install protocol on a given handle.
+
+ @param[in] Handle Handle to install Base protocol.
+
+ @retval EFI_SUCCESS Base protocol interface installed
+ successfully.
+**/
+EFI_STATUS
+ScmiBaseProtocolInit (
+ IN OUT EFI_HANDLE* Handle
+ );
+
+#endif /* ARM_SCMI_BASE_PROTOCOL_PRIVATE_H_ */