]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/Include/Guid/IdccData.h
Vlv2TbltDevicePkg:Signal EndOfDxe Event.
[mirror_edk2.git] / Vlv2TbltDevicePkg / Include / Guid / IdccData.h
CommitLineData
3cbfba02
DW
1/*++\r
2\r
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
4 \r\r
5 This program and the accompanying materials are licensed and made available under\r\r
6 the terms and conditions of the BSD License that accompanies this distribution. \r\r
7 The full text of the license may be found at \r\r
8 http://opensource.org/licenses/bsd-license.php. \r\r
9 \r\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r\r
12 \r\r
13\r
14\r
15Module Name:\r
16\r
17 IdccData.h\r
18\r
19Abstract:\r
20\r
21--*/\r
22\r
23#ifndef _IDCCDATAHUB_GUID_H_\r
24#define _IDCCDATAHUB_GUID_H_\r
25\r
26//\r
27// This GUID is for the IDCC related data found in the Data Hub.\r
28//\r
29#define IDCC_DATA_HUB_GUID \\r
30 { 0x788e1d9f, 0x1eab, 0x47d2, 0xa2, 0xf3, 0x78, 0xca, 0xe8, 0x7d, 0x60, 0x12 }\r
31\r
32extern EFI_GUID gIdccDataHubGuid;\r
33\r
34#pragma pack(1)\r
35\r
36typedef struct {\r
37 UINT32 Type;\r
38 UINT32 RecordLength;\r
39} EFI_IDCC_DATA_HEADER;\r
40\r
41typedef struct {\r
42 EFI_IDCC_DATA_HEADER IdccHeader;\r
43 UINT32 Tcontrol;\r
44} EFI_IDCC_TCONTROL;\r
45\r
46typedef struct {\r
47 UINT32 EntryCount;\r
48} EFI_IDCC_CLOCK_COMMON;\r
49\r
50typedef struct {\r
51 UINT8 Polarity;\r
52 UINT8 Percent;\r
53 UINT32 FpValue;\r
54} EFI_IDCC_TYPE_2_DATA;\r
55\r
56typedef struct {\r
57 UINT8 SetupVal;\r
58 UINT32 FpValue;\r
59} EFI_IDCC_TYPE_3_4_DATA;\r
60\r
61typedef struct {\r
62 EFI_IDCC_DATA_HEADER IdccHeader;\r
63 UINT32 ProcessorRatio;\r
64} EFI_IDCC_PROCESSOR_RATIO;\r
65\r
66typedef struct {\r
67 EFI_IDCC_DATA_HEADER IdccHeader;\r
68 UINT32 BoardFormFactor;\r
69} EFI_IDCC_BOARD_FORM_FACTOR;\r
70\r
71typedef struct {\r
72 EFI_IDCC_DATA_HEADER IdccHeader;\r
73 UINT32 ProcessorInfo;\r
74} EFI_IDCC_PROCESSOR_INFO;\r
75\r
76#define EFI_IDCC_PROCESSOR_UNCON (1 << 0) // Bit 0: UnCon CPU\r
77#define EFI_IDCC_PROCESSOR_UNLOCK (1 << 1) // Bit 1: UnLock CPU\r
78#define EFI_IDCC_PROCESSOR_CNR (1 << 2) // Bit 2: CNR CPU\r
79#define EFI_IDCC_PROCESSOR_KNF (1 << 3) // Bit 3: KNF CPU\r
80\r
81typedef struct {\r
82 EFI_IDCC_DATA_HEADER IdccHeader;\r
83 UINT32 MinFSB;\r
84 UINT32 MaxFSB;\r
85 UINT8 StepFSB;\r
86} EFI_IDCC_FSB_DATA;\r
87\r
88#pragma pack()\r
89\r
90#define EFI_IDCC_POSITIVE 0\r
91#define EFI_IDCC_NEGATIVE 1\r
92\r
93//\r
94// Board Form Factor equates.\r
95//\r
96#define ATX_FORM_FACTOR 0x00\r
97#define BTX_FORM_FACTOR 0x01\r
98\r
99\r
100#define EFI_IDCC_TCONTROL_TYPE 1\r
101#define EFI_IDCC_FSB_TYPE 2\r
102#define EFI_IDCC_PCI_TYPE 3\r
103#define EFI_IDCC_PCIE_TYPE 4\r
104#define EFI_IDCC_PROC_RATIO_TYPE 5\r
105#define EFI_IDCC_BOARD_FORM_FACTOR_TYPE 6\r
106#define EFI_IDCC_PROC_INFO_TYPE 7\r
107#define EFI_IDCC_FSB_DATA_TYPE 8\r
108\r
109#endif\r