## @file
#  PCI Host Bridge Library instance for ARM Juno
#
#  Copyright (c) 2017, Linaro Ltd. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = JunoPciHostBridgeLib
  FILE_GUID                      = d92c722c-87f9-4988-843e-dffd6bc8c5e3
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PciHostBridgeLib|DXE_DRIVER
  CONSTRUCTOR                    = HWPciRbInit

#
# The following information is for reference only and not required by the build
# tools.
#
#  VALID_ARCHITECTURES           = AARCH64 ARM
#

[Sources]
  JunoPciHostBridgeLib.c
  XPressRich3.c

[Packages]
  ArmPkg/ArmPkg.dec
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  Platform/ARM/JunoPkg/ArmJuno.dec

[LibraryClasses]
  BaseLib
  DebugLib
  DevicePathLib
  IoLib
  MemoryAllocationLib
  UefiBootServicesTableLib

[Pcd]
  gArmTokenSpaceGuid.PcdSystemMemoryBase
  gArmTokenSpaceGuid.PcdSystemMemorySize

[FixedPcd]
  gArmTokenSpaceGuid.PcdPciBusMin
  gArmTokenSpaceGuid.PcdPciBusMax
  gArmTokenSpaceGuid.PcdPciIoBase
  gArmTokenSpaceGuid.PcdPciIoSize
  gArmTokenSpaceGuid.PcdPciIoTranslation
  gArmTokenSpaceGuid.PcdPciMmio32Base
  gArmTokenSpaceGuid.PcdPciMmio32Size
  gArmTokenSpaceGuid.PcdPciMmio32Translation
  gArmTokenSpaceGuid.PcdPciMmio64Base
  gArmTokenSpaceGuid.PcdPciMmio64Size
  gArmTokenSpaceGuid.PcdPciMmio64Translation

  gArmJunoTokenSpaceGuid.PcdPcieControlBaseAddress
  gArmJunoTokenSpaceGuid.PcdPcieRootPortBaseAddress
  gArmJunoTokenSpaceGuid.PcdPciConfigurationSpaceBaseAddress
  gArmJunoTokenSpaceGuid.PcdPciConfigurationSpaceSize

[Protocols]
  gEfiCpuIo2ProtocolGuid          ## CONSUMES

[Depex]
  gEfiCpuIo2ProtocolGuid
