## @file
# Description file for the Universal Flash Storage (UFS) Pass Thru driver.
#
# Copyright (c) 2014 - 2018, Intel Corporation. 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                      = UfsPassThruDxe
  MODULE_UNI_FILE                = UfsPassThru.uni
  FILE_GUID                      = E7F1DFF9-DAB6-498A-9ADF-57F344EDDF57
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = InitializeUfsPassThru

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#
#  DRIVER_BINDING                =  gUfsPassThruDriverBinding
#  COMPONENT_NAME                =  gUfsPassThruComponentName
#

[Sources]
  ComponentName.c
  UfsDevConfigProtocol.c
  UfsPassThru.c
  UfsPassThru.h
  UfsPassThruHci.c
  UfsPassThruHci.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  UefiBootServicesTableLib
  MemoryAllocationLib
  BaseMemoryLib
  UefiLib
  BaseLib
  UefiDriverEntryPoint
  DebugLib
  DevicePathLib
  TimerLib

[Protocols]
  gEfiExtScsiPassThruProtocolGuid               ## BY_START
  gEfiUfsDeviceConfigProtocolGuid               ## BY_START
  gEdkiiUfsHostControllerProtocolGuid           ## TO_START

[UserExtensions.TianoCore."ExtraFiles"]
  UfsPassThruExtra.uni
