]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/Protocol/PchExtendedReset.h
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / ValleyView2Soc / SouthCluster / Include / Protocol / PchExtendedReset.h
diff --git a/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/Protocol/PchExtendedReset.h b/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/Protocol/PchExtendedReset.h
new file mode 100644 (file)
index 0000000..574fc3e
--- /dev/null
@@ -0,0 +1,90 @@
+/*++\r
+\r
+Copyright (c) 2008  - 2014, Intel Corporation. All rights reserved\r
+\r
+  This program and the accompanying materials are licensed and made available under\r
+  the terms and conditions of the BSD License that accompanies this distribution.\r
+  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
+Module Name:\r
+\r
+  PchExtendedReset.h\r
+\r
+Abstract:\r
+\r
+  PCH Extended Reset Protocol\r
+\r
+--*/\r
+#ifndef _EFI_PCH_EXTENDED_RESET_H_\r
+#define _EFI_PCH_EXTENDED_RESET_H_\r
+\r
+\r
+\r
+//\r
+#define EFI_PCH_EXTENDED_RESET_PROTOCOL_GUID \\r
+  { \\r
+    0xf0bbfca0, 0x684e, 0x48b3, 0xba, 0xe2, 0x6c, 0x84, 0xb8, 0x9e, 0x53, 0x39 \\r
+  }\r
+extern EFI_GUID                                 gEfiPchExtendedResetProtocolGuid;\r
+\r
+//\r
+// Forward reference for ANSI C compatibility\r
+//\r
+typedef struct _EFI_PCH_EXTENDED_RESET_PROTOCOL EFI_PCH_EXTENDED_RESET_PROTOCOL;\r
+\r
+//\r
+// Related Definitions\r
+//\r
+//\r
+// PCH Extended Reset Types\r
+//\r
+typedef struct {\r
+  UINT8 PowerCycle  : 1;  // 0: Disabled*; 1: Enabled\r
+  UINT8 GlobalReset : 1;  // 0: Disabled*; 1: Enabled\r
+  UINT8 SusPwrDnAck : 1;  // 0: Do Nothing;\r
+  // 1: GPIO[30](SUS_PWR_DN_ACK) level is set low prior to Global Reset(for systems with an embedded controller)\r
+  UINT8 RsvdBits : 5;     // Reserved fields for future expansion w/o protocol change\r
+} PCH_EXTENDED_RESET_TYPES;\r
+\r
+//\r
+// Member functions\r
+//\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PCH_EXTENDED_RESET) (\r
+  IN     EFI_PCH_EXTENDED_RESET_PROTOCOL   * This,\r
+  IN     PCH_EXTENDED_RESET_TYPES          PchExtendedResetTypes\r
+  );\r
+\r
+/*++\r
+\r
+Routine Description:\r
+\r
+  Execute Pch Extended Reset from the host controller.\r
+\r
+Arguments:\r
+\r
+  This                    - Pointer to the EFI_PCH_EXTENDED_RESET_PROTOCOL instance.\r
+  PchExtendedResetTypes   - Pch Extended Reset Types which includes PowerCycle, Globalreset.\r
+\r
+Returns:\r
+\r
+  Does not return if the reset takes place.\r
+  EFI_INVALID_PARAMETER   - If ResetType is invalid.\r
+\r
+--*/\r
+\r
+//\r
+// Interface structure for the Pch Extended Reset Protocol\r
+//\r
+struct _EFI_PCH_EXTENDED_RESET_PROTOCOL {\r
+  EFI_PCH_EXTENDED_RESET  Reset;\r
+};\r
+\r
+#endif\r