]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Include/Protocol/EmbeddedDevice.h
Adding support for BeagleBoard.
[mirror_edk2.git] / EmbeddedPkg / Include / Protocol / EmbeddedDevice.h
diff --git a/EmbeddedPkg/Include/Protocol/EmbeddedDevice.h b/EmbeddedPkg/Include/Protocol/EmbeddedDevice.h
new file mode 100644 (file)
index 0000000..4be6c11
--- /dev/null
@@ -0,0 +1,58 @@
+/** @file\r
+  Deal with devices that just exist in memory space.\r
+  \r
+  To follow the EFI driver model you need a root handle to start with. An\r
+  EFI driver will have a driver binding protocol (Supported, Start, Stop) \r
+  that is used to layer on top of a handle via a gBS->ConnectController. \r
+  The first handle has to just be in the system to make that work. For\r
+  PCI it is a PCI Root Bridge IO protocol that provides the root. \r
+  \r
+  On an embedded system with MMIO device we need a handle to just \r
+  show up. That handle will have this protocol and a device path \r
+  protocol on it. \r
+  \r
+  For an ethernet device the device path must contain a MAC address device path\r
+  node.\r
+\r
+  Copyright (c) 2008-2009 Apple Inc. All rights reserved.<BR>\r
+\r
+  All rights reserved. This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+#ifndef __EMBEDDED_DEVICE_PROTOCOL_H__\r
+#define __EMBEDDED_DEVICE_PROTOCOL_H__\r
+\r
+\r
+//\r
+// Protocol GUID\r
+//\r
+// BF4B9D10-13EC-43dd-8880-E90B718F27DE\r
+\r
+#define EMBEDDED_DEVICE_PROTOCOL_GUID \\r
+  { 0xbf4b9d10, 0x13ec, 0x43dd, { 0x88, 0x80, 0xe9, 0xb, 0x71, 0x8f, 0x27, 0xde } }\r
+\r
+\r
+\r
+typedef struct {\r
+  UINT16          VendorId;\r
+  UINT16          DeviceId;\r
+  UINT16          RevisionId;\r
+  UINT16          SubsystemId;\r
+  UINT16          SubsystemVendorId;\r
+  UINT8           ClassCode[3];\r
+  UINT8           HeaderSize;\r
+  UINTN           BaseAddress;\r
+} EMBEDDED_DEVICE_PROTOCOL;\r
+\r
+extern EFI_GUID gEmbeddedDeviceGuid;\r
+\r
+#endif\r
+\r
+\r