## @file
#  This is a OpalPasswordDxe driver.
#
#  This module is used to Management the Opal feature
#  for Opal supported devices.
#
# Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
  INF_VERSION                    = 0x00010007
  BASE_NAME                      = OpalPasswordDxe
  FILE_GUID                      = E3E4048D-6C0C-43E4-AE1C-FFB579D8EF41
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = EfiDriverEntryPoint
  UNLOAD_IMAGE                   = OpalEfiDriverUnload

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  OpalDriver.c
  OpalDriver.h
  OpalPasswordCommon.h
  OpalHii.c
  OpalHii.h
  OpalHiiCallbacks.c
  OpalHiiFormValues.h
  OpalHiiFormStrings.uni
  OpalPasswordForm.vfr
  ComponentName.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  SecurityPkg/SecurityPkg.dec

[LibraryClasses]
  BaseLib
  MemoryAllocationLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  UefiRuntimeServicesTableLib
  DxeServicesTableLib
  UefiHiiServicesLib
  BaseMemoryLib
  DebugLib
  HiiLib
  PrintLib
  DevicePathLib
  UefiLib
  TcgStorageOpalLib
  Tcg2PhysicalPresenceLib
  PciLib
  LockBoxLib

[Protocols]
  gEfiHiiConfigAccessProtocolGuid               ## PRODUCES
  gEfiStorageSecurityCommandProtocolGuid        ## CONSUMES
  gEfiComponentNameProtocolGuid                 ## PRODUCES
  gEfiComponentName2ProtocolGuid                ## PRODUCES
  gEfiBlockIoProtocolGuid                       ## CONSUMES

[Guids]
  gEfiEndOfDxeEventGroupGuid                    ## CONSUMES ## Event
  gS3StorageDeviceInitListGuid                  ## SOMETIMES_PRODUCES ## UNDEFINED
  gEfiIfrTianoGuid                              ## CONSUMES

[Pcd]
  gEfiSecurityPkgTokenSpaceGuid.PcdSkipOpalPasswordPrompt  ## CONSUMES

[Depex]
  gEfiHiiStringProtocolGuid AND gEfiHiiDatabaseProtocolGuid
