ArmPkg: only attempt buildin MmCommunicationDxe for AArch64
[mirror_edk2.git] / EmbeddedPkg / Include / Protocol / EmbeddedDevice.h
CommitLineData
2ef2b01e
A
1/** @file\r
2 Deal with devices that just exist in memory space.\r
3402aac7 3\r
2ef2b01e 4 To follow the EFI driver model you need a root handle to start with. An\r
3402aac7
RC
5 EFI driver will have a driver binding protocol (Supported, Start, Stop)\r
6 that is used to layer on top of a handle via a gBS->ConnectController.\r
2ef2b01e 7 The first handle has to just be in the system to make that work. For\r
3402aac7
RC
8 PCI it is a PCI Root Bridge IO protocol that provides the root.\r
9\r
10 On an embedded system with MMIO device we need a handle to just\r
11 show up. That handle will have this protocol and a device path\r
12 protocol on it.\r
13\r
2ef2b01e
A
14 For an ethernet device the device path must contain a MAC address device path\r
15 node.\r
16\r
60274cca 17 Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
2ef2b01e 18\r
878b807a 19 SPDX-License-Identifier: BSD-2-Clause-Patent\r
2ef2b01e
A
20\r
21**/\r
22\r
23#ifndef __EMBEDDED_DEVICE_PROTOCOL_H__\r
24#define __EMBEDDED_DEVICE_PROTOCOL_H__\r
25\r
26\r
27//\r
28// Protocol GUID\r
29//\r
30// BF4B9D10-13EC-43dd-8880-E90B718F27DE\r
31\r
32#define EMBEDDED_DEVICE_PROTOCOL_GUID \\r
33 { 0xbf4b9d10, 0x13ec, 0x43dd, { 0x88, 0x80, 0xe9, 0xb, 0x71, 0x8f, 0x27, 0xde } }\r
34\r
35\r
36\r
37typedef struct {\r
38 UINT16 VendorId;\r
39 UINT16 DeviceId;\r
40 UINT16 RevisionId;\r
41 UINT16 SubsystemId;\r
42 UINT16 SubsystemVendorId;\r
43 UINT8 ClassCode[3];\r
44 UINT8 HeaderSize;\r
45 UINTN BaseAddress;\r
46} EMBEDDED_DEVICE_PROTOCOL;\r
47\r
48extern EFI_GUID gEmbeddedDeviceGuid;\r
49\r
50#endif\r
51\r
52\r