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