## @file
#  Virtio FDT client protocol driver for virtio,mmio DT node
#
#  Copyright (c) 2014 - 2016, Linaro Ltd. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[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]
  EmbeddedPkg/EmbeddedPkg.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
