## @file
#  PCI Host Bridge Library instance for pci-ecam-generic DT nodes
#
#  Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = FdtPciHostBridgeLib
  FILE_GUID                      = 59fcb139-2558-4cf0-8d7c-ebac499da727
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PciHostBridgeLib

#
# The following information is for reference only and not required by the build
# tools.
#
#  VALID_ARCHITECTURES           = AARCH64 ARM RISCV64
#

[Sources]
  FdtPciHostBridgeLib.c

[Packages]
  EmbeddedPkg/EmbeddedPkg.dec
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  BaseMemoryLib
  DebugLib
  DevicePathLib
  DxeServicesTableLib
  MemoryAllocationLib
  PciHostBridgeUtilityLib
  PciPcdProducerLib

[FixedPcd]
  gEfiMdePkgTokenSpaceGuid.PcdPciMmio32Translation
  gEfiMdePkgTokenSpaceGuid.PcdPciMmio64Translation

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation
  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress

[Depex]
  gFdtClientProtocolGuid
