ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
[mirror_edk2.git] / EmbeddedPkg / Include / Protocol / EmbeddedExternalDevice.h
1 /** @file
2
3 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef __EMBEDDED_EXTERNAL_DEVICE_H__
10 #define __EMBEDDED_EXTERNAL_DEVICE_H__
11
12 //
13 // Protocol GUID
14 //
15 #define EMBEDDED_EXTERNAL_DEVICE_PROTOCOL_GUID { 0x735F8C64, 0xD696, 0x44D0, { 0xBD, 0xF2, 0x44, 0x7F, 0xD0, 0x5A, 0x54, 0x06 }}
16
17 //
18 // Protocol interface structure
19 //
20 typedef struct _EMBEDDED_EXTERNAL_DEVICE EMBEDDED_EXTERNAL_DEVICE;
21
22 //
23 // Function Prototypes
24 //
25 typedef
26 EFI_STATUS
27 (EFIAPI *EMBEDDED_EXTERNAL_DEVICE_READ) (
28 IN EMBEDDED_EXTERNAL_DEVICE *This,
29 IN UINTN Register,
30 IN UINTN Length,
31 OUT VOID *Buffer
32 )
33 /*++
34
35 Routine Description:
36
37 Read a set of contiguous external device registers.
38
39 Arguments:
40
41 This - pointer to protocol
42 Offset - starting register number
43 Length - number of bytes to read
44 Buffer - destination buffer
45
46 Returns:
47
48 EFI_SUCCESS - registers read successfully
49
50 --*/
51 ;
52
53 typedef
54 EFI_STATUS
55 (EFIAPI *EMBEDDED_EXTERNAL_DEVICE_WRITE) (
56 IN EMBEDDED_EXTERNAL_DEVICE *This,
57 IN UINTN Register,
58 IN UINTN Length,
59 IN VOID *Buffer
60 )
61 /*++
62
63 Routine Description:
64
65 Write to a set of contiguous external device registers.
66
67 Arguments:
68
69 This - pointer to protocol
70 Offset - starting register number
71 Length - number of bytes to write
72 Buffer - source buffer
73
74 Returns:
75
76 EFI_SUCCESS - registers written successfully
77
78 --*/
79 ;
80
81 struct _EMBEDDED_EXTERNAL_DEVICE {
82 EMBEDDED_EXTERNAL_DEVICE_READ Read;
83 EMBEDDED_EXTERNAL_DEVICE_WRITE Write;
84 };
85
86 extern EFI_GUID gEmbeddedExternalDeviceProtocolGuid;
87
88 #endif // __EMBEDDED_EXTERNAL_DEVICE_H__