## @file
#  Virtio FDT client protocol driver for virtio,mmio DT node
#
#  Copyright (c) 2014 - 2016, 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                      = VirtioFdtDxe
  FILE_GUID                      = 0049858F-8CA7-4CCD-918B-D952CBF32975
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = InitializeVirtioFdtDxe

[Sources]
  VirtioFdtDxe.c

[Packages]
  ArmVirtPkg/ArmVirtPkg.dec
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  DevicePathLib
  MemoryAllocationLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  VirtioMmioDeviceLib

[Guids]
  gVirtioMmioTransportGuid

[Protocols]
  gEfiDevicePathProtocolGuid                            ## PRODUCES
  gFdtClientProtocolGuid                                ## CONSUMES

[Depex]
  gFdtClientProtocolGuid
