## @file
# Library functions for Fsp Policy Initialization Library.
#
#  Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

################################################################################
#
# Defines Section - statements that will be processed to create a Makefile.
#
################################################################################
[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PeiFspPolicyInitLib
  FILE_GUID                      = 2CB87D67-D1A4-4CD3-8CD7-91A1FA1DF6E0
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = SiliconPolicyInitLib

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32
#

################################################################################
#
# Sources Section - list of files that are required for the build to succeed.
#
################################################################################

[Sources]
  PeiFspPolicyInitLib.c
  PeiFspPchPolicyInitLib.c
  PeiFspCpuPolicyInitLib.c
  PeiFspMePolicyInitLib.c
  PeiFspSaPolicyInitLib.c
  PeiFspSecurityPolicyInitLib.c
  PeiFspMiscUpdInitLib.c

################################################################################
#
# Package Dependency Section - list of Package files that are required for
#                              this module.
#
################################################################################

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFsp2Pkg/IntelFsp2Pkg.dec
  TigerlakeSiliconPkg/SiPkg.dec
  TigerLakeFspBinPkg/Client/TigerLakeFspBinPkg.dec
  TigerlakeOpenBoardPkg/OpenBoardPkg.dec
  UefiCpuPkg/UefiCpuPkg.dec
  IntelSiliconPkg/IntelSiliconPkg.dec
  IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dec
  MinPlatformPkg/MinPlatformPkg.dec

[LibraryClasses]
  BaseMemoryLib
  DebugLib
  IoLib
  PeiServicesLib
  ConfigBlockLib
  PcdLib
  MemoryAllocationLib
  PchInfoLib
  FspWrapperApiLib
  PeiLib
  BmpSupportLib

[Pcd]
  gSiPkgTokenSpaceGuid.PcdTsegSize                                  ## CONSUMES

  gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamBase                   ## CONSUMES
  gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamSize                   ## CONSUMES
  gIntelFsp2PkgTokenSpaceGuid.PcdFspTemporaryRamSize                ## CONSUMES
  gIntelFsp2PkgTokenSpaceGuid.PcdFspReservedBufferSize              ## CONSUMES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFspmUpdDataAddress             ## CONSUMES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFspmBaseAddress                ## CONSUMES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFspsUpdDataAddress             ## CONSUMES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFspsBaseAddress                ## CONSUMES
  gIntelFsp2WrapperTokenSpaceGuid.PcdFspModeSelection               ## CONSUMES
  # SA Misc Config
  gBoardModuleTokenSpaceGuid.PcdSaMiscUserBd                        ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdSaMiscMmioSizeAdjustment            ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdMrcSpdData                          ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdMrcSpdDataSize                      ## CONSUMES

  # SPD Address Table
  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable0            ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable1            ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable2            ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdMrcSpdAddressTable3            ## CONSUMES

  # PCIe Clock Info
  gBoardModuleTokenSpaceGuid.PcdPcieClock0                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock1                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock2                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock3                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock4                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock5                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock6                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock7                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock8                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock9                     ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock10                    ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock11                    ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock12                    ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock13                    ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock14                    ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdPcieClock15                    ## CONSUMES

  # USB 2.0 Port Over Current Pin
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort0       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort1       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort2       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort3       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort4       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort5       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort6       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort7       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort8       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort9       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort10      ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort11      ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort12      ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort13      ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort14      ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb20OverCurrentPinPort15      ## CONSUMES

  # USB 3.0 Port Over Current Pin
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort0       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort1       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort2       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort3       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort4       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort5       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort6       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort7       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort8       ## CONSUMES
  gBoardModuleTokenSpaceGuid.PcdUsb30OverCurrentPinPort9       ## CONSUMES

  gIntelSiliconPkgTokenSpaceGuid.PcdIntelGraphicsVbtFileGuid   ## CONSUMES

  gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateDataPtr    ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdS3BootScriptTablePrivateSmmDataPtr ## CONSUMES

[Ppis]
  gSiPolicyPpiGuid                        ## CONSUMES
  gSiPreMemPolicyPpiGuid                  ## CONSUMES
  gSiPreMemPolicyReadyPpiGuid             ## CONSUMES
  gSiPolicyReadyPpiGuid                   ## CONSUMES
  gFspmArchConfigPpiGuid                  ## SOMETIMES_PRODUCES

[Guids]
  gPcieRpPreMemConfigGuid                 ## CONSUMES
  gPchGeneralPreMemConfigGuid             ## CONSUMES
  gPcieRpPreMemConfigGuid                 ## CONSUMES
  gSataConfigGuid                         ## CONSUMES
  gHdAudioConfigGuid                      ## CONSUMES
  gSataConfigGuid                         ## CONSUMES
  gUsbConfigGuid                          ## CONSUMES
  gSaMiscPeiPreMemConfigGuid              ## PRODUCES
  gHostBridgePeiPreMemConfigGuid          ## CONSUMES
  gSaMiscPeiConfigGuid                    ## PRODUCES
  gMemoryConfigNoCrcGuid                  ## CONSUMES
  gSaMiscPeiConfigGuid                    ## CONSUMES
  gGraphicsPeiConfigGuid                  ## CONSUMES
  gMePeiPreMemConfigGuid                  ## CONSUMES
  gMePeiConfigGuid                        ## CONSUMES
  gPchGeneralConfigGuid                   ## CONSUMES
  gCpuConfigGuid                          ## CONSUMES
  gCpuConfigLibPreMemConfigGuid           ## CONSUMES
  gTcssPeiConfigGuid                      ## CONSUMES
  gSerialIoConfigGuid                     ## CONSUMES
  gCpuSecurityPreMemConfigGuid            ## CONSUMES
  gTianoLogoGuid                          ## CONSUMES
  gCnviConfigGuid                         ## CONSUMES
  gHdAudioPreMemConfigGuid                ## CONSUMES
