## @file
#  Device tree enumeration DXE driver for ARM Virtual Machines
#
#  Copyright (c) 2014, Linaro Ltd. 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                      = VirtFdtDxe
  FILE_GUID                      = 9AD7DCB4-E6EC-472E-96BF-81C219A3F77E
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = InitializeVirtFdtDxe

[Sources]
  VirtFdtDxe.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  ArmPkg/ArmPkg.dec
  ArmPlatformPkg/ArmPlatformPkg.dec
  ArmVirtPkg/ArmVirtPkg.dec
  EmbeddedPkg/EmbeddedPkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  BaseLib
  PcdLib
  UefiDriverEntryPoint
  DxeServicesLib
  FdtLib
  VirtioMmioDeviceLib
  HobLib
  XenIoMmioLib

[Guids]
  gFdtTableGuid
  gVirtioMmioTransportGuid
  gFdtHobGuid

[Pcd]
  gArmVirtTokenSpaceGuid.PcdArmPsciMethod
  gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress
  gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress
  gArmVirtTokenSpaceGuid.PcdArmGicRevision
  gArmTokenSpaceGuid.PcdGicDistributorBase
  gArmTokenSpaceGuid.PcdGicRedistributorsBase
  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
  gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum
  gArmTokenSpaceGuid.PcdArmArchTimerIntrNum
  gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum
  gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum
  gArmPlatformTokenSpaceGuid.PcdPL031RtcBase
  gArmPlatformTokenSpaceGuid.PcdPciBusMin
  gArmPlatformTokenSpaceGuid.PcdPciBusMax
  gArmPlatformTokenSpaceGuid.PcdPciIoBase
  gArmPlatformTokenSpaceGuid.PcdPciIoSize
  gArmPlatformTokenSpaceGuid.PcdPciIoTranslation
  gArmPlatformTokenSpaceGuid.PcdPciMmio32Base
  gArmPlatformTokenSpaceGuid.PcdPciMmio32Size
  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration

[Protocols]
  gEfiDevicePathProtocolGuid

[Depex]
  TRUE
