]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/SmBiosMiscDxe/MiscSubclassDriver.h
MdeModulePkg/CapsuleApp: Center bitmap at bottom of screen
[mirror_edk2.git] / Vlv2TbltDevicePkg / SmBiosMiscDxe / MiscSubclassDriver.h
CommitLineData
3cbfba02
DW
1/** @file\r
2\r
3Copyright (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 MiscSubclassDriver.h\r
18\r
19Abstract:\r
20\r
21 Header file for MiscSubclass Driver.\r
22\r
23\r
24**/\r
25\r
26#ifndef _MISC_SUBCLASS_DRIVER_H\r
27#define _MISC_SUBCLASS_DRIVER_H\r
28\r
29\r
30#include "CommonHeader.h"\r
31\r
32extern UINT8 MiscSubclassStrings[];\r
33\r
34\r
35#define T14_FVI_STRING "Driver/firmware version"\r
36#define EFI_SMBIOS_TYPE_FIRMWARE_VERSION_INFO 0x90\r
37#define EFI_SMBIOS_TYPE_MISC_VERSION_INFO 0x94\r
38#define TOUCH_ACPI_ID "I2C05\\SFFFF\\400K"\r
39#define TOUCH_RESET_GPIO_MMIO 0xFED0C508\r
40#define EFI_SMBIOS_TYPE_SEC_INFO 0x83\r
41#define IntelIdentifer 0x6F725076\r
42\r
43//\r
44// Data table entry update function.\r
45//\r
46typedef EFI_STATUS (EFIAPI EFI_MISC_SMBIOS_DATA_FUNCTION) (\r
47 IN VOID *RecordData,\r
48 IN EFI_SMBIOS_PROTOCOL *Smbios\r
49 );\r
50\r
51//\r
52// Data table entry definition.\r
53//\r
54typedef struct {\r
55 //\r
56 // intermediat input data for SMBIOS record\r
57 //\r
58 VOID *RecordData;\r
59 EFI_MISC_SMBIOS_DATA_FUNCTION *Function;\r
60} EFI_MISC_SMBIOS_DATA_TABLE;\r
61\r
62//\r
63// Data Table extern definitions.\r
64//\r
65#define MISC_SMBIOS_TABLE_EXTERNS(NAME1, NAME2, NAME3) \\r
66extern NAME1 NAME2 ## Data; \\r
67extern EFI_MISC_SMBIOS_DATA_FUNCTION NAME3 ## Function\r
68\r
69\r
70//\r
71// Data Table entries\r
72//\r
73#define MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NAME1, NAME2) \\r
74{ \\r
75 & NAME1 ## Data, \\r
76 & NAME2 ## Function \\r
77}\r
78\r
79//\r
80// Global definition macros.\r
81//\r
82#define MISC_SMBIOS_TABLE_DATA(NAME1, NAME2) \\r
83 NAME1 NAME2 ## Data\r
84\r
85#define MISC_SMBIOS_TABLE_FUNCTION(NAME2) \\r
86 EFI_STATUS EFIAPI NAME2 ## Function( \\r
87 IN VOID *RecordData, \\r
88 IN EFI_SMBIOS_PROTOCOL *Smbios \\r
89 )\r
90\r
91#pragma pack(1)\r
92\r
93//\r
94// This is definition for SMBIOS Oem data type 0x90\r
95//\r
96typedef struct {\r
97 STRING_REF SECVersion;\r
98 STRING_REF uCodeVersion;\r
99 STRING_REF GOPVersion;\r
100 STRING_REF CpuStepping;\r
101} EFI_MISC_OEM_TYPE_0x90;\r
102\r
103//\r
104// This is definition for SMBIOS Oem data type 0x90\r
105//\r
106typedef struct {\r
107 SMBIOS_STRUCTURE Hdr;\r
108 SMBIOS_TABLE_STRING SECVersion;\r
109 SMBIOS_TABLE_STRING uCodeVersion;\r
110 SMBIOS_TABLE_STRING GOPVersion;\r
111 SMBIOS_TABLE_STRING CpuStepping;\r
112} SMBIOS_TABLE_TYPE90;\r
113\r
114typedef struct {\r
115 STRING_REF GopVersion;\r
116 STRING_REF UCodeVersion;\r
117 STRING_REF MRCVersion;\r
118 STRING_REF SECVersion;\r
119 STRING_REF ULPMCVersion;\r
120 STRING_REF PMCVersion;\r
121 STRING_REF PUnitVersion;\r
122 STRING_REF SoCVersion;\r
123 STRING_REF BoardVersion;\r
124 STRING_REF FabVersion;\r
125 STRING_REF CPUFlavor;\r
126 STRING_REF BiosVersion;\r
127 STRING_REF PmicVersion;\r
128 STRING_REF TouchVersion;\r
129 STRING_REF SecureBoot;\r
130 STRING_REF BootMode;\r
131 STRING_REF SpeedStepMode;\r
132 STRING_REF CPUTurboMode;\r
133 STRING_REF MaxCState;\r
134 STRING_REF GfxTurbo;\r
135 STRING_REF IdleReserve;\r
136 STRING_REF RC6;\r
137}EFI_MISC_OEM_TYPE_0x94;\r
138\r
139typedef struct {\r
140 SMBIOS_STRUCTURE Hdr;\r
141 SMBIOS_TABLE_STRING GopVersion;\r
142 SMBIOS_TABLE_STRING uCodeVersion;\r
143 SMBIOS_TABLE_STRING MRCVersion;\r
144 SMBIOS_TABLE_STRING SECVersion;\r
145 SMBIOS_TABLE_STRING ULPMCVersion;\r
146 SMBIOS_TABLE_STRING PMCVersion;\r
147 SMBIOS_TABLE_STRING PUnitVersion;\r
148 SMBIOS_TABLE_STRING SoCVersion;\r
149 SMBIOS_TABLE_STRING BoardVersion;\r
150 SMBIOS_TABLE_STRING FabVersion;\r
151 SMBIOS_TABLE_STRING CPUFlavor;\r
152 SMBIOS_TABLE_STRING BiosVersion;\r
153 SMBIOS_TABLE_STRING PmicVersion;\r
154 SMBIOS_TABLE_STRING TouchVersion;\r
155 SMBIOS_TABLE_STRING SecureBoot;\r
156 SMBIOS_TABLE_STRING BootMode;\r
157 SMBIOS_TABLE_STRING SpeedStepMode;\r
158 SMBIOS_TABLE_STRING CPUTurboMode;\r
159 SMBIOS_TABLE_STRING MaxCState;\r
160 SMBIOS_TABLE_STRING GfxTurbo;\r
161 SMBIOS_TABLE_STRING IdleReserve;\r
162 SMBIOS_TABLE_STRING RC6;\r
163}SMBIOS_TABLE_TYPE94;\r
164\r
165#pragma pack()\r
166//\r
167// Data Table Array\r
168//\r
169extern EFI_MISC_SMBIOS_DATA_TABLE mMiscSubclassDataTable[];\r
170\r
171//\r
172// Data Table Array Entries\r
173//\r
174extern UINTN mMiscSubclassDataTableEntries;\r
175extern EFI_HII_HANDLE mHiiHandle;\r
176\r
177//\r
178// Prototypes\r
179//\r
180EFI_STATUS\r
181EFIAPI\r
182MiscSubclassDriverEntryPoint (\r
183 IN EFI_HANDLE ImageHandle,\r
184 IN EFI_SYSTEM_TABLE *SystemTable\r
185 );\r
186\r
187EFI_STRING\r
188EFIAPI\r
189SmbiosMiscGetString (\r
190 IN EFI_STRING_ID StringId\r
191 );\r
192\r
193#endif\r