+++ /dev/null
-/** @file\r
-\r
- DISCLAIMER: the FDT_CLIENT_PROTOCOL introduced here is a work in progress,\r
- and should not be used outside of the EDK II tree.\r
-\r
- Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>\r
-\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#ifndef __FDT_CLIENT_H__\r
-#define __FDT_CLIENT_H__\r
-\r
-#define FDT_CLIENT_PROTOCOL_GUID { \\r
- 0xE11FACA0, 0x4710, 0x4C8E, {0xA7, 0xA2, 0x01, 0xBA, 0xA2, 0x59, 0x1B, 0x4C} \\r
- }\r
-\r
-//\r
-// Protocol interface structure\r
-//\r
-typedef struct _FDT_CLIENT_PROTOCOL FDT_CLIENT_PROTOCOL;\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_GET_NODE_PROPERTY) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- IN INT32 Node,\r
- IN CONST CHAR8 *PropertyName,\r
- OUT CONST VOID **Prop,\r
- OUT UINT32 *PropSize OPTIONAL\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_SET_NODE_PROPERTY) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- IN INT32 Node,\r
- IN CONST CHAR8 *PropertyName,\r
- IN CONST VOID *Prop,\r
- IN UINT32 PropSize\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- IN CONST CHAR8 *CompatibleString,\r
- OUT INT32 *Node\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_FIND_NEXT_COMPATIBLE_NODE) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- IN CONST CHAR8 *CompatibleString,\r
- IN INT32 PrevNode,\r
- OUT INT32 *Node\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE_PROPERTY) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- IN CONST CHAR8 *CompatibleString,\r
- IN CONST CHAR8 *PropertyName,\r
- OUT CONST VOID **Prop,\r
- OUT UINT32 *PropSize OPTIONAL\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_FIND_COMPATIBLE_NODE_REG) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- IN CONST CHAR8 *CompatibleString,\r
- OUT CONST VOID **Reg,\r
- OUT UINTN *AddressCells,\r
- OUT UINTN *SizeCells,\r
- OUT UINT32 *RegSize\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_FIND_NEXT_MEMORY_NODE_REG) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- IN INT32 PrevNode,\r
- OUT INT32 *Node,\r
- OUT CONST VOID **Reg,\r
- OUT UINTN *AddressCells,\r
- OUT UINTN *SizeCells,\r
- OUT UINT32 *RegSize\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_FIND_MEMORY_NODE_REG) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- OUT INT32 *Node,\r
- OUT CONST VOID **Reg,\r
- OUT UINTN *AddressCells,\r
- OUT UINTN *SizeCells,\r
- OUT UINT32 *RegSize\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *FDT_CLIENT_GET_OR_INSERT_CHOSEN_NODE) (\r
- IN FDT_CLIENT_PROTOCOL *This,\r
- OUT INT32 *Node\r
- );\r
-\r
-struct _FDT_CLIENT_PROTOCOL {\r
- FDT_CLIENT_GET_NODE_PROPERTY GetNodeProperty;\r
- FDT_CLIENT_SET_NODE_PROPERTY SetNodeProperty;\r
-\r
- FDT_CLIENT_FIND_COMPATIBLE_NODE FindCompatibleNode;\r
- FDT_CLIENT_FIND_NEXT_COMPATIBLE_NODE FindNextCompatibleNode;\r
- FDT_CLIENT_FIND_COMPATIBLE_NODE_PROPERTY FindCompatibleNodeProperty;\r
- FDT_CLIENT_FIND_COMPATIBLE_NODE_REG FindCompatibleNodeReg;\r
-\r
- FDT_CLIENT_FIND_MEMORY_NODE_REG FindMemoryNodeReg;\r
- FDT_CLIENT_FIND_NEXT_MEMORY_NODE_REG FindNextMemoryNodeReg;\r
-\r
- FDT_CLIENT_GET_OR_INSERT_CHOSEN_NODE GetOrInsertChosenNode;\r
-};\r
-\r
-extern EFI_GUID gFdtClientProtocolGuid;\r
-\r
-#endif\r