]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2TbltDevicePkg/Include/Protocol/TcoReset.h
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Protocol / TcoReset.h
diff --git a/Vlv2TbltDevicePkg/Include/Protocol/TcoReset.h b/Vlv2TbltDevicePkg/Include/Protocol/TcoReset.h
new file mode 100644 (file)
index 0000000..d8047d4
--- /dev/null
@@ -0,0 +1,72 @@
+/*++\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
+Module Name:\r
+\r
+  TcoReset.h\r
+\r
+Abstract:\r
+\r
+  Protocol to communicate with ICH TCO.\r
+\r
+GUID Info:\r
+ {A6A79162-E325-4c30-BCC3-59373064EFB3}\r
+ 0xa6a79162, 0xe325, 0x4c30, 0xbc, 0xc3, 0x59, 0x37, 0x30, 0x64, 0xef, 0xb3);\r
+\r
+\r
+--*/\r
+\r
+#ifndef _TCO_RESET_H_\r
+#define _TCO_RESET_H_\r
+\r
+\r
+#define EFI_TCO_RESET_PROTOCOL_GUID  \\r
+  {0xa6a79162, 0xe325, 0x4c30, 0xbc, 0xc3, 0x59, 0x37, 0x30, 0x64, 0xef, 0xb3}\r
+\r
+typedef struct _EFI_TCO_RESET_PROTOCOL EFI_TCO_RESET_PROTOCOL;\r
+\r
+/**\r
+  Enables the TCO timer to reset the system in case of a system hang.  This is\r
+  used when writing the clock registers.\r
+\r
+  @param[in] RcrbGcsSaveValue  This is the value of the RCRB GCS register before it is\r
+                               changed by this procedure.  This will be used to restore\r
+                               the settings of this register in PpiDisableTcoReset.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_TCO_RESET_PROTOCOL_ENABLE_TCO_RESET) (\r
+  IN      UINT32            *RcrbGcsSaveValue\r
+  );\r
+\r
+/**\r
+  Disables the TCO timer.  This is used after writing the clock registers.\r
+\r
+  @param[in] RcrbGcsRestoreValue  Value saved in PpiEnableTcoReset so that it can\r
+                                  restored.\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_TCO_RESET_PROTOCOL_DISABLE_TCO_RESET) (\r
+  OUT     UINT32    RcrbGcsRestoreValue\r
+  );\r
+\r
+typedef struct _EFI_TCO_RESET_PROTOCOL {\r
+  EFI_TCO_RESET_PROTOCOL_ENABLE_TCO_RESET       EnableTcoReset;\r
+  EFI_TCO_RESET_PROTOCOL_DISABLE_TCO_RESET     DisableTcoReset;\r
+} EFI_TCO_RESET_PROTOCOL;\r
+\r
+extern EFI_GUID gEfiTcoResetProtocolGuid;\r
+\r
+#endif\r