]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/Include/Guid/AcpiDescription.h
Initialize DuetPkg ...
[mirror_edk2.git] / DuetPkg / Include / Guid / AcpiDescription.h
diff --git a/DuetPkg/Include/Guid/AcpiDescription.h b/DuetPkg/Include/Guid/AcpiDescription.h
new file mode 100644 (file)
index 0000000..43adf01
--- /dev/null
@@ -0,0 +1,127 @@
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation                                                         \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
+Module Name:\r
+  \r
+    AcpiDescription.h\r
+    \r
+Abstract:\r
+\r
+\r
+   GUIDs used for ACPI Description\r
+\r
+--*/\r
+\r
+#ifndef _EFI_ACPI_DESCRIPTION_H_\r
+#define _EFI_ACPI_DESCRIPTION_H_\r
+\r
+#define EFI_ACPI_DESCRIPTION_GUID \\r
+  { \\r
+    0x3c699197, 0x93c, 0x4c69, 0xb0, 0x6b, 0x12, 0x8a, 0xe3, 0x48, 0x1d, 0xc9 \\r
+  }\r
+\r
+typedef struct {\r
+  UINT8   AddressSpaceId;\r
+  UINT8   RegisterBitWidth;\r
+  UINT8   RegisterBitOffset;\r
+  UINT8   AccessSize;\r
+  UINT64  Address;\r
+} EFI_ACPI_GENERIC_ADDRESS_STRUCTURE;\r
+\r
+#define ACPI_ADDRESS_ID_MEMORY    0\r
+#define ACPI_ADDRESS_ID_IO        1\r
+#define ACPI_ADDRESS_ID_PCI       2\r
+#define ACPI_ADDRESS_ID_EC        3\r
+#define ACPI_ADDRESS_ID_SMBUS     4\r
+\r
+#define ACPI_ADDRESS_ACCESS_ANY   0\r
+#define ACPI_ADDRESS_ACCESS_BYTE  1\r
+#define ACPI_ADDRESS_ACCESS_WORD  2\r
+#define ACPI_ADDRESS_ACCESS_DWORD 3\r
+#define ACPI_ADDRESS_ACCESS_QWORD 4\r
+\r
+//\r
+// Following structure defines ACPI Description information.\r
+// This information is platform specific, may be consumed by DXE generic driver.\r
+//\r
+#pragma pack(1)\r
+typedef struct _EFI_ACPI_DESCRIPTION {\r
+  //\r
+  // For Timer\r
+  //\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       PM_TMR_BLK;\r
+  UINT8                                    PM_TMR_LEN;\r
+  UINT8                                    TMR_VAL_EXT;\r
+\r
+  //\r
+  // For RTC\r
+  //\r
+  UINT8                                    DAY_ALRM;\r
+  UINT8                                    MON_ALRM;\r
+  UINT8                                    CENTURY;\r
+\r
+  //\r
+  // For Reset\r
+  //\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       RESET_REG;\r
+  UINT8                                    RESET_VALUE;\r
+\r
+  //\r
+  // For Shutdown\r
+  //\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       PM1a_EVT_BLK;\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       PM1b_EVT_BLK;\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       PM1a_CNT_BLK;\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       PM1b_CNT_BLK;\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       PM2_CNT_BLK;\r
+  UINT8                                    PM1_EVT_LEN;\r
+  UINT8                                    PM1_CNT_LEN;\r
+  UINT8                                    PM2_CNT_LEN;\r
+  UINT8                                    SLP_TYPa;\r
+  UINT8                                    SLP_TYPb;\r
+\r
+  //\r
+  // For sleep\r
+  //\r
+  UINT8                                    SLP1_TYPa;\r
+  UINT8                                    SLP1_TYPb;\r
+  UINT8                                    SLP2_TYPa;\r
+  UINT8                                    SLP2_TYPb;\r
+  UINT8                                    SLP3_TYPa;\r
+  UINT8                                    SLP3_TYPb;\r
+  UINT8                                    SLP4_TYPa;\r
+  UINT8                                    SLP4_TYPb;\r
+\r
+  //\r
+  // GPE\r
+  //\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       GPE0_BLK;\r
+  EFI_ACPI_GENERIC_ADDRESS_STRUCTURE       GPE1_BLK;\r
+  UINT8                                    GPE0_BLK_LEN;\r
+  UINT8                                    GPE1_BLK_LEN;\r
+  UINT8                                    GPE1_BASE;\r
+\r
+  //\r
+  // IAPC Boot Arch\r
+  //\r
+  UINT16                                   IAPC_BOOT_ARCH;\r
+\r
+  //\r
+  // Flags\r
+  //\r
+  UINT32                                   Flags;\r
+\r
+} EFI_ACPI_DESCRIPTION;\r
+#pragma pack()\r
+\r
+extern EFI_GUID gEfiAcpiDescriptionGuid;\r
+\r
+#endif\r