3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
16 Header file for MiscSubclass Driver.
21 #ifndef _MISC_SUBCLASS_DRIVER_H
22 #define _MISC_SUBCLASS_DRIVER_H
25 #include "CommonHeader.h"
27 extern UINT8 MiscSubclassStrings
[];
30 #define T14_FVI_STRING "Driver/firmware version"
31 #define EFI_SMBIOS_TYPE_FIRMWARE_VERSION_INFO 0x90
32 #define EFI_SMBIOS_TYPE_MISC_VERSION_INFO 0x94
33 #define TOUCH_ACPI_ID "I2C05\\SFFFF\\400K"
34 #define TOUCH_RESET_GPIO_MMIO 0xFED0C508
35 #define EFI_SMBIOS_TYPE_SEC_INFO 0x83
36 #define IntelIdentifer 0x6F725076
39 // Data table entry update function.
41 typedef EFI_STATUS (EFIAPI EFI_MISC_SMBIOS_DATA_FUNCTION
) (
43 IN EFI_SMBIOS_PROTOCOL
*Smbios
47 // Data table entry definition.
51 // intermediat input data for SMBIOS record
54 EFI_MISC_SMBIOS_DATA_FUNCTION
*Function
;
55 } EFI_MISC_SMBIOS_DATA_TABLE
;
58 // Data Table extern definitions.
60 #define MISC_SMBIOS_TABLE_EXTERNS(NAME1, NAME2, NAME3) \
61 extern NAME1 NAME2 ## Data; \
62 extern EFI_MISC_SMBIOS_DATA_FUNCTION NAME3 ## Function
68 #define MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NAME1, NAME2) \
75 // Global definition macros.
77 #define MISC_SMBIOS_TABLE_DATA(NAME1, NAME2) \
80 #define MISC_SMBIOS_TABLE_FUNCTION(NAME2) \
81 EFI_STATUS EFIAPI NAME2 ## Function( \
82 IN VOID *RecordData, \
83 IN EFI_SMBIOS_PROTOCOL *Smbios \
89 // This is definition for SMBIOS Oem data type 0x90
92 STRING_REF SECVersion
;
93 STRING_REF uCodeVersion
;
94 STRING_REF GOPVersion
;
95 STRING_REF CpuStepping
;
96 } EFI_MISC_OEM_TYPE_0x90
;
99 // This is definition for SMBIOS Oem data type 0x90
102 SMBIOS_STRUCTURE Hdr
;
103 SMBIOS_TABLE_STRING SECVersion
;
104 SMBIOS_TABLE_STRING uCodeVersion
;
105 SMBIOS_TABLE_STRING GOPVersion
;
106 SMBIOS_TABLE_STRING CpuStepping
;
107 } SMBIOS_TABLE_TYPE90
;
110 STRING_REF GopVersion
;
111 STRING_REF UCodeVersion
;
112 STRING_REF MRCVersion
;
113 STRING_REF SECVersion
;
114 STRING_REF ULPMCVersion
;
115 STRING_REF PMCVersion
;
116 STRING_REF PUnitVersion
;
117 STRING_REF SoCVersion
;
118 STRING_REF BoardVersion
;
119 STRING_REF FabVersion
;
120 STRING_REF CPUFlavor
;
121 STRING_REF BiosVersion
;
122 STRING_REF PmicVersion
;
123 STRING_REF TouchVersion
;
124 STRING_REF SecureBoot
;
126 STRING_REF SpeedStepMode
;
127 STRING_REF CPUTurboMode
;
128 STRING_REF MaxCState
;
130 STRING_REF IdleReserve
;
132 }EFI_MISC_OEM_TYPE_0x94
;
135 SMBIOS_STRUCTURE Hdr
;
136 SMBIOS_TABLE_STRING GopVersion
;
137 SMBIOS_TABLE_STRING uCodeVersion
;
138 SMBIOS_TABLE_STRING MRCVersion
;
139 SMBIOS_TABLE_STRING SECVersion
;
140 SMBIOS_TABLE_STRING ULPMCVersion
;
141 SMBIOS_TABLE_STRING PMCVersion
;
142 SMBIOS_TABLE_STRING PUnitVersion
;
143 SMBIOS_TABLE_STRING SoCVersion
;
144 SMBIOS_TABLE_STRING BoardVersion
;
145 SMBIOS_TABLE_STRING FabVersion
;
146 SMBIOS_TABLE_STRING CPUFlavor
;
147 SMBIOS_TABLE_STRING BiosVersion
;
148 SMBIOS_TABLE_STRING PmicVersion
;
149 SMBIOS_TABLE_STRING TouchVersion
;
150 SMBIOS_TABLE_STRING SecureBoot
;
151 SMBIOS_TABLE_STRING BootMode
;
152 SMBIOS_TABLE_STRING SpeedStepMode
;
153 SMBIOS_TABLE_STRING CPUTurboMode
;
154 SMBIOS_TABLE_STRING MaxCState
;
155 SMBIOS_TABLE_STRING GfxTurbo
;
156 SMBIOS_TABLE_STRING IdleReserve
;
157 SMBIOS_TABLE_STRING RC6
;
158 }SMBIOS_TABLE_TYPE94
;
164 extern EFI_MISC_SMBIOS_DATA_TABLE mMiscSubclassDataTable
[];
167 // Data Table Array Entries
169 extern UINTN mMiscSubclassDataTableEntries
;
170 extern EFI_HII_HANDLE mHiiHandle
;
177 MiscSubclassDriverEntryPoint (
178 IN EFI_HANDLE ImageHandle
,
179 IN EFI_SYSTEM_TABLE
*SystemTable
184 SmbiosMiscGetString (
185 IN EFI_STRING_ID StringId