## @file
# FSP DXE Module
#
# This driver will register two callbacks to call fsp's notifies.
#
#  Copyright (c) 2014 - 2015, 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                      = FspNotifyDxe
  FILE_GUID                      = 8714C537-6D4B-4247-AA6C-29E8495F9100
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = FspDxeEntryPoint

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  FspNotifyDxe.c

[Packages]
  MdePkg/MdePkg.dec
  IntelFspPkg/IntelFspPkg.dec
  IntelFspWrapperPkg/IntelFspWrapperPkg.dec

[LibraryClasses]
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  DebugLib
  BaseMemoryLib
  UefiLib
  FspApiLib

[Protocols]
  gEfiPciEnumerationCompleteProtocolGuid            ## CONSUMES

[Pcd]
  gFspWrapperTokenSpaceGuid.PcdFlashFvFspBase       ## CONSUMES
  gFspWrapperTokenSpaceGuid.PcdFlashFvFspSize       ## CONSUMES

[Depex]
  TRUE
