1 /** @file 2 Header file for NV data structure definition. 3 4 Copyright (c) 2013, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. 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 #ifndef __TREE_CONFIG_NV_DATA_H__ 16 #define __TREE_CONFIG_NV_DATA_H__ 17 18 #include <Guid/HiiPlatformSetupFormset.h> 19 #include <Guid/TrEEPhysicalPresenceData.h> 20 #include <Guid/TrEEConfigHii.h> 21 22 #define TREE_CONFIGURATION_VARSTORE_ID 0x0001 23 #define TREE_CONFIGURATION_FORM_ID 0x0001 24 25 #define KEY_TPM_DEVICE 0x2000 26 #define KEY_TPM2_OPERATION 0x2001 27 28 #define TPM_DEVICE_NULL 0 29 #define TPM_DEVICE_1_2 1 30 #define TPM_DEVICE_2_0_DTPM 2 31 #define TPM_DEVICE_MIN TPM_DEVICE_1_2 32 #define TPM_DEVICE_MAX TPM_DEVICE_2_0_DTPM 33 #define TPM_DEVICE_DEFAULT TPM_DEVICE_1_2 34 35 // 36 // Nv Data structure referenced by IFR, TPM device user desired 37 // 38 typedef struct { 39 UINT8 TpmDevice; 40 } TREE_CONFIGURATION; 41 42 // 43 // Variable saved for S3, TPM detected, only valid in S3 path. 44 // This variable is ReadOnly. 45 // 46 typedef struct { 47 UINT8 TpmDeviceDetected; 48 } TREE_DEVICE_DETECTION; 49 50 #define TREE_STORAGE_NAME L"TREE_CONFIGURATION" 51 #define TREE_DEVICE_DETECTION_NAME L"TREE_DEVICE_DETECTION" 52 53 #define TPM_INSTANCE_ID_LIST { \ 54 {TPM_DEVICE_INTERFACE_NONE, TPM_DEVICE_NULL}, \ 55 {TPM_DEVICE_INTERFACE_TPM12, TPM_DEVICE_1_2}, \ 56 {TPM_DEVICE_INTERFACE_TPM20_DTPM, TPM_DEVICE_2_0_DTPM}, \ 57 } 58 59 // 60 // BUGBUG: In order to pass VfrCompiler, we have to redefine GUID here. 61 // 62 #ifndef __BASE_H__ 63 typedef struct { 64 UINT32 Data1; 65 UINT16 Data2; 66 UINT16 Data3; 67 UINT8 Data4[8]; 68 } GUID; 69 #endif 70 71 typedef struct { 72 GUID TpmInstanceGuid; 73 UINT8 TpmDevice; 74 } TPM_INSTANCE_ID; 75 76 #endif 77