]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2TbltDevicePkg/Include/Protocol/MmioDevice.h
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Protocol / MmioDevice.h
diff --git a/Vlv2TbltDevicePkg/Include/Protocol/MmioDevice.h b/Vlv2TbltDevicePkg/Include/Protocol/MmioDevice.h
new file mode 100644 (file)
index 0000000..6848f52
--- /dev/null
@@ -0,0 +1,89 @@
+/*++\r
+\r
+  Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>\r
+                                                                                   \r\r
+  This program and the accompanying materials are licensed and made available under\r\r
+  the terms and conditions of the BSD License that accompanies this distribution.  \r\r
+  The full text of the license may be found at                                     \r\r
+  http://opensource.org/licenses/bsd-license.php.                                  \r\r
+                                                                                   \r\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,            \r\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.    \r\r
+                                                                                   \r\r
+\r
+**/\r
+\r
+#ifndef __MMIO_DEVICE_H__\r
+#define __MMIO_DEVICE_H__\r
+\r
+//\r
+// Protocol to define for the MMIO device\r
+//\r
+typedef struct {\r
+  //\r
+  // Address of a GUID\r
+  //\r
+  EFI_GUID *Guid;\r
+\r
+  //\r
+  // Context for the protocol\r
+  //\r
+  VOID *Context;\r
+} EFI_MMIO_DEVICE_PROTOCOL_ITEM;\r
+\r
+\r
+typedef struct _EFI_MMIO_DEVICE_PROTOCOL  EFI_MMIO_DEVICE_PROTOCOL;\r
+\r
+//\r
+//  The MMIO device protocol defines a memory mapped I/O device\r
+//  for use by the system.\r
+//\r
+struct _EFI_MMIO_DEVICE_PROTOCOL {\r
+  //\r
+  // Pointer to an ACPI_EXTENDED_HID_DEVICE_PATH structure\r
+  // containing HID/HidStr and CID/CidStr values.\r
+  //\r
+  // See the note below associated with the UnitIdentification\r
+  // field.\r
+  //\r
+  CONST ACPI_EXTENDED_HID_DEVICE_PATH *AcpiPath;\r
+\r
+  //\r
+  // Allow the use of a shared template for the AcpiPath.\r
+  //\r
+  // If this value is non-zero UID value then the AcpiPath must\r
+  // be a template which contains only the HID/HidStr and CID/CidStr\r
+  // values.  The UID/UidStr values in the AcpiPath must be zero!\r
+  //\r
+  // If this value is zero then the AcpiPath is not shared and\r
+  // must contain either a non-zero UID value or a UidStr value.\r
+  //\r
+  UINT32 UnitIdentification;\r
+\r
+  //\r
+  // Hardware revision - ACPI _HRV value\r
+  //\r
+  UINT32 HardwareRevision;\r
+\r
+  //\r
+  // Pointer to a data structure containing the controller\r
+  // resources and configuration.  At a minimum this points\r
+  // to an EFI_PHYSICAL_ADDRESS for the base address of the\r
+  // MMIO device.\r
+  //\r
+  CONST VOID *DriverResources;\r
+\r
+  //\r
+  // Number of protocols in the array\r
+  //\r
+  UINTN ProtocolCount;\r
+\r
+  //\r
+  // List of protocols to define\r
+  //\r
+  CONST EFI_MMIO_DEVICE_PROTOCOL_ITEM *ProtocolArray;\r
+};\r
+\r
+extern EFI_GUID gEfiMmioDeviceProtocolGuid;\r
+\r
+#endif  //  __MMIO_DEVICE_H__\r