]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2TbltDevicePkg/Include/Guid/IdccData.h
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Guid / IdccData.h
diff --git a/Vlv2TbltDevicePkg/Include/Guid/IdccData.h b/Vlv2TbltDevicePkg/Include/Guid/IdccData.h
new file mode 100644 (file)
index 0000000..fa8988b
--- /dev/null
@@ -0,0 +1,109 @@
+/*++\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
+  IdccData.h\r
+\r
+Abstract:\r
+\r
+--*/\r
+\r
+#ifndef _IDCCDATAHUB_GUID_H_\r
+#define _IDCCDATAHUB_GUID_H_\r
+\r
+//\r
+// This GUID is for the IDCC related data found in the Data Hub.\r
+//\r
+#define IDCC_DATA_HUB_GUID \\r
+  { 0x788e1d9f, 0x1eab, 0x47d2, 0xa2, 0xf3, 0x78, 0xca, 0xe8, 0x7d, 0x60, 0x12 }\r
+\r
+extern EFI_GUID gIdccDataHubGuid;\r
+\r
+#pragma pack(1)\r
+\r
+typedef struct {\r
+  UINT32    Type;\r
+  UINT32    RecordLength;\r
+} EFI_IDCC_DATA_HEADER;\r
+\r
+typedef struct {\r
+  EFI_IDCC_DATA_HEADER  IdccHeader;\r
+  UINT32                Tcontrol;\r
+} EFI_IDCC_TCONTROL;\r
+\r
+typedef struct {\r
+  UINT32    EntryCount;\r
+} EFI_IDCC_CLOCK_COMMON;\r
+\r
+typedef struct {\r
+  UINT8     Polarity;\r
+  UINT8     Percent;\r
+  UINT32    FpValue;\r
+} EFI_IDCC_TYPE_2_DATA;\r
+\r
+typedef struct {\r
+  UINT8     SetupVal;\r
+  UINT32    FpValue;\r
+} EFI_IDCC_TYPE_3_4_DATA;\r
+\r
+typedef struct {\r
+  EFI_IDCC_DATA_HEADER  IdccHeader;\r
+  UINT32                ProcessorRatio;\r
+} EFI_IDCC_PROCESSOR_RATIO;\r
+\r
+typedef struct {\r
+  EFI_IDCC_DATA_HEADER  IdccHeader;\r
+  UINT32                BoardFormFactor;\r
+} EFI_IDCC_BOARD_FORM_FACTOR;\r
+\r
+typedef struct {\r
+  EFI_IDCC_DATA_HEADER  IdccHeader;\r
+  UINT32                ProcessorInfo;\r
+} EFI_IDCC_PROCESSOR_INFO;\r
+\r
+#define EFI_IDCC_PROCESSOR_UNCON    (1 << 0)  // Bit 0: UnCon CPU\r
+#define EFI_IDCC_PROCESSOR_UNLOCK   (1 << 1)  // Bit 1: UnLock CPU\r
+#define EFI_IDCC_PROCESSOR_CNR      (1 << 2)  // Bit 2: CNR CPU\r
+#define EFI_IDCC_PROCESSOR_KNF      (1 << 3)  // Bit 3: KNF CPU\r
+\r
+typedef struct {\r
+  EFI_IDCC_DATA_HEADER  IdccHeader;\r
+  UINT32    MinFSB;\r
+  UINT32    MaxFSB;\r
+  UINT8     StepFSB;\r
+} EFI_IDCC_FSB_DATA;\r
+\r
+#pragma pack()\r
+\r
+#define EFI_IDCC_POSITIVE   0\r
+#define EFI_IDCC_NEGATIVE   1\r
+\r
+//\r
+// Board Form Factor equates.\r
+//\r
+#define ATX_FORM_FACTOR                0x00\r
+#define BTX_FORM_FACTOR                0x01\r
+\r
+\r
+#define EFI_IDCC_TCONTROL_TYPE          1\r
+#define EFI_IDCC_FSB_TYPE               2\r
+#define EFI_IDCC_PCI_TYPE               3\r
+#define EFI_IDCC_PCIE_TYPE              4\r
+#define EFI_IDCC_PROC_RATIO_TYPE        5\r
+#define EFI_IDCC_BOARD_FORM_FACTOR_TYPE 6\r
+#define EFI_IDCC_PROC_INFO_TYPE         7\r
+#define EFI_IDCC_FSB_DATA_TYPE          8\r
+\r
+#endif\r