## @file
# Component description file for the Pch SMI Dispatch Handlers module
#
# Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##


[Defines]
INF_VERSION = 0x00010017
BASE_NAME = PchSmiDispatcher
FILE_GUID = B0D6ED53-B844-43f5-BD2F-61095264E77E
VERSION_STRING = 1.0
MODULE_TYPE = DXE_SMM_DRIVER
PI_SPECIFICATION_VERSION = 1.10
ENTRY_POINT = InitializePchSmmDispatcher


[LibraryClasses]
UefiBootServicesTableLib
UefiDriverEntryPoint
IoLib
DebugLib
PcdLib
BaseLib
BaseMemoryLib
HobLib
DevicePathLib
PchCycleDecodingLib
PchPcieRpLib
PchPcrLib
SmmServicesTableLib
ReportStatusCodeLib
PerformanceLib
DxeServicesTableLib
GpioLib
GpioPrivateLib
S3BootScriptLib
ConfigBlockLib
SmiHandlerProfileLib


[Packages]
MdePkg/MdePkg.dec
KabylakeSiliconPkg/SiPkg.dec
KabylakeSiliconPkg/KabylakeSiliconPrivate.dec


[Pcd]
# Progress Code for S3 Suspend end.
# PROGRESS_CODE_S3_SUSPEND_END   = (EFI_SOFTWARE_SMM_DRIVER | (EFI_OEM_SPECIFIC | 0x00000001))    = 0x03078001
gSiPkgTokenSpaceGuid.PcdProgressCodeS3SuspendEnd
gSiPkgTokenSpaceGuid.PcdEfiGcdAllocateType


[Sources]
PchSmm.h
PchSmmCore.c
PchSmmHelpers.h
PchSmmHelpers.c
PchxSmmHelpers.h
PchxSmmHelpers.c
PchSmmUsb.c
PchSmmGpi.c
PchSmmPowerButton.c
PchSmmSw.c
PchSmmSx.c
PchSmmPeriodicTimer.c
IoTrap.c
PchSmiDispatch.c
PchSmmEspi.c


[Protocols]
gEfiPciRootBridgeIoProtocolGuid ## CONSUMES
gEfiSmmGpiDispatch2ProtocolGuid ## PRODUCES
gEfiSmmSxDispatch2ProtocolGuid ## PRODUCES
gEfiSmmSwDispatch2ProtocolGuid ## PRODUCES
gEfiSmmUsbDispatch2ProtocolGuid ## PRODUCES
gEfiSmmPowerButtonDispatch2ProtocolGuid ## PRODUCES
gEfiSmmPeriodicTimerDispatch2ProtocolGuid ## PRODUCES
gEfiSmmBase2ProtocolGuid ## CONSUMES
gEfiSmmCpuProtocolGuid ## CONSUMES
gEfiSmmReadyToLockProtocolGuid ## CONSUMES
gEfiSmmIoTrapDispatch2ProtocolGuid ## PRODUCES
gPchSmmIoTrapControlGuid ## PRODUCES
gPchTcoSmiDispatchProtocolGuid ## PRODUCES
gPchPcieSmiDispatchProtocolGuid ## PRODUCES
gPchAcpiSmiDispatchProtocolGuid ## PRODUCES
gPchGpioUnlockSmiDispatchProtocolGuid ## PRODUCES
gPchSmiDispatchProtocolGuid ## PRODUCES
gPchEspiSmiDispatchProtocolGuid ## PRODUCES
gPchSmmPeriodicTimerControlGuid ## PRODUCES
gPchNvsAreaProtocolGuid ## CONSUMES


[Guids]


[Depex]
gEfiPciRootBridgeIoProtocolGuid AND
gEfiPciHostBridgeResourceAllocationProtocolGuid AND ## This is to ensure that PCI MMIO resource has been prepared and available for this driver to allocate.
gEfiSmmCpuProtocolGuid AND
gEfiSmmBase2ProtocolGuid AND ## This is for SmmServicesTableLib
gPchNvsAreaProtocolGuid

