## @file
# Component description file for SpiFvbServices Module
#
# Copyright (c) 2013-2015 Intel Corporation.
#
# 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                      = FwBlockServiceSmm
  FILE_GUID                      = A469DDBD-16D0-4535-BAE3-77274BD70B4C
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  PI_SPECIFICATION_VERSION       = 0x0001000A
  ENTRY_POINT                    = FvbInitialize

[Sources]
  FwBlockService.c
  FwBlockService.h
  FvbInfo.c
  SpiFlashDevice.c
  SpiFlashDevice.h
  PlatformSmmSpi.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  QuarkSocPkg/QuarkSocPkg.dec
  QuarkPlatformPkg/QuarkPlatformPkg.dec

[LibraryClasses]
  IoLib
  PcdLib
  HobLib
  UefiLib
  BaseMemoryLib
  UefiDriverEntryPoint
  MemoryAllocationLib
  UefiRuntimeServicesTableLib
  UefiBootServicesTableLib
  DxeServicesTableLib

[Guids]
  gEfiEventVirtualAddressChangeGuid
  gEfiHobListGuid

 [Protocols]
  gEfiFirmwareVolumeBlockProtocolGuid  ##Produces
  gEfiSpiProtocolGuid
  gEfiDevicePathProtocolGuid
  gEfiLoadedImageProtocolGuid
  gEfiSmmBase2ProtocolGuid
  gEfiSmmSpiProtocolGuid
  gEfiSmmFirmwareVolumeBlockProtocolGuid
  gEfiSmmSpiReadyProtocolGuid

[FixedPcd]
  gQuarkPlatformTokenSpaceGuid.PcdFlashAreaSize

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
  gQuarkPlatformTokenSpaceGuid.PcdFlashAreaBaseAddress
  gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainSize
  gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainBase
  gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoveryBase
  gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoverySize
  gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadBase
  gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadSize
  gQuarkPlatformTokenSpaceGuid.PcdSpiFlashDeviceSize

[Depex]
  gEfiSpiProtocolGuid
