## @file
#  Set TPM device type
#
#  This module initializes TPM device type based on variable and detection.
#  NOTE: This module is only for reference only, each platform should have its own setup page.
#
# Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = TrEEConfigPei
  MODULE_UNI_FILE                = TrEEConfigPei.uni
  FILE_GUID                      = A5C1EF72-9379-4370-B4C7-0F5126CAC38E
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = TrEEConfigPeimEntryPoint

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#
# [BootMode]
#   S3_RESUME                 ## SOMETIMES_CONSUMES
#

[Sources]
  TrEEConfigPeim.c
  TrEEConfigNvData.h
  TpmDetection.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  SecurityPkg/SecurityPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  MemoryAllocationLib
  PeiServicesLib
  PeimEntryPoint
  DebugLib
  PcdLib
  TimerLib
  Tpm12CommandLib
  Tpm12DeviceLib

[Guids]
  ## SOMETIMES_CONSUMES ## Variable:L"TREE_CONFIGURATION"
  ## SOMETIMES_CONSUMES ## Variable:L"TREE_DEVICE_DETECTION"
  gTrEEConfigFormSetGuid
  gEfiTpmDeviceSelectedGuid           ## PRODUCES             ## GUID    # Used as a PPI GUID
  gEfiTpmDeviceInstanceNoneGuid       ## SOMETIMES_CONSUMES   ## GUID    # TPM device identifier

[Ppis]
  gEfiPeiReadOnlyVariable2PpiGuid     ## CONSUMES
  gPeiTpmInitializationDonePpiGuid    ## SOMETIMES_PRODUCES

[Pcd]
  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid                 ## PRODUCES
  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInitializationPolicy         ## PRODUCES
  gEfiSecurityPkgTokenSpaceGuid.PcdTpmAutoDetection                ## CONSUMES 
  gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress                  ## SOMETIMES_CONSUMES

[Depex]
  gEfiPeiMasterBootModePpiGuid AND
  gEfiPeiReadOnlyVariable2PpiGuid
  
[UserExtensions.TianoCore."ExtraFiles"]
  TrEEConfigPeiExtra.uni