3 DISCLAIMER: the FDT_CLIENT_PROTOCOL introduced here is a work in progress,
4 and should not be used outside of the EDK II tree.
6 Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
8 SPDX-License-Identifier: BSD-2-Clause-Patent
12 #ifndef __FDT_CLIENT_H__
13 #define __FDT_CLIENT_H__
15 #define FDT_CLIENT_PROTOCOL_GUID {\
16 0xE11FACA0, 0x4710, 0x4C8E, {0xA7, 0xA2, 0x01, 0xBA, 0xA2, 0x59, 0x1B, 0x4C} \
20 // Protocol interface structure
22 typedef struct _FDT_CLIENT_PROTOCOL FDT_CLIENT_PROTOCOL
;
26 (EFIAPI
*FDT_CLIENT_GET_NODE_PROPERTY
)(
27 IN FDT_CLIENT_PROTOCOL
*This
,
29 IN CONST CHAR8
*PropertyName
,
30 OUT CONST VOID
**Prop
,
31 OUT UINT32
*PropSize OPTIONAL
36 (EFIAPI
*FDT_CLIENT_SET_NODE_PROPERTY
)(
37 IN FDT_CLIENT_PROTOCOL
*This
,
39 IN CONST CHAR8
*PropertyName
,
46 (EFIAPI
*FDT_CLIENT_FIND_COMPATIBLE_NODE
)(
47 IN FDT_CLIENT_PROTOCOL
*This
,
48 IN CONST CHAR8
*CompatibleString
,
54 (EFIAPI
*FDT_CLIENT_FIND_NEXT_COMPATIBLE_NODE
)(
55 IN FDT_CLIENT_PROTOCOL
*This
,
56 IN CONST CHAR8
*CompatibleString
,
63 (EFIAPI
*FDT_CLIENT_FIND_COMPATIBLE_NODE_PROPERTY
)(
64 IN FDT_CLIENT_PROTOCOL
*This
,
65 IN CONST CHAR8
*CompatibleString
,
66 IN CONST CHAR8
*PropertyName
,
67 OUT CONST VOID
**Prop
,
68 OUT UINT32
*PropSize OPTIONAL
73 (EFIAPI
*FDT_CLIENT_FIND_COMPATIBLE_NODE_REG
)(
74 IN FDT_CLIENT_PROTOCOL
*This
,
75 IN CONST CHAR8
*CompatibleString
,
77 OUT UINTN
*AddressCells
,
84 (EFIAPI
*FDT_CLIENT_FIND_NEXT_MEMORY_NODE_REG
)(
85 IN FDT_CLIENT_PROTOCOL
*This
,
89 OUT UINTN
*AddressCells
,
96 (EFIAPI
*FDT_CLIENT_FIND_MEMORY_NODE_REG
)(
97 IN FDT_CLIENT_PROTOCOL
*This
,
100 OUT UINTN
*AddressCells
,
101 OUT UINTN
*SizeCells
,
107 (EFIAPI
*FDT_CLIENT_GET_OR_INSERT_CHOSEN_NODE
)(
108 IN FDT_CLIENT_PROTOCOL
*This
,
112 struct _FDT_CLIENT_PROTOCOL
{
113 FDT_CLIENT_GET_NODE_PROPERTY GetNodeProperty
;
114 FDT_CLIENT_SET_NODE_PROPERTY SetNodeProperty
;
116 FDT_CLIENT_FIND_COMPATIBLE_NODE FindCompatibleNode
;
117 FDT_CLIENT_FIND_NEXT_COMPATIBLE_NODE FindNextCompatibleNode
;
118 FDT_CLIENT_FIND_COMPATIBLE_NODE_PROPERTY FindCompatibleNodeProperty
;
119 FDT_CLIENT_FIND_COMPATIBLE_NODE_REG FindCompatibleNodeReg
;
121 FDT_CLIENT_FIND_MEMORY_NODE_REG FindMemoryNodeReg
;
122 FDT_CLIENT_FIND_NEXT_MEMORY_NODE_REG FindNextMemoryNodeReg
;
124 FDT_CLIENT_GET_OR_INSERT_CHOSEN_NODE GetOrInsertChosenNode
;
127 extern EFI_GUID gFdtClientProtocolGuid
;