#/** @file
#
#  Component description file for PL111LcdGraphicsOutputDxe module
#
#  Copyright (c) 2011-2012, ARM 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                      = PL111LcdGraphicsDxe
  FILE_GUID                      = 407B4008-BF5B-11DF-9547-CF16E0D72085
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = LcdGraphicsOutputDxeInitialize

[Sources.common]
  LcdGraphicsOutputDxe.c
  LcdGraphicsOutputBlt.c
  PL111Lcd.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  ArmPkg/ArmPkg.dec
  ArmPlatformPkg/ArmVExpressPkg/ArmVExpressPkg.dec
  ArmPlatformPkg/ArmPlatformPkg.dec

[LibraryClasses]
  ArmLib
  UefiLib
  BaseLib
  DebugLib
  TimerLib
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  IoLib
  BaseMemoryLib
  LcdPlatformLib

[Protocols]
  gEfiDevicePathProtocolGuid
  gEfiGraphicsOutputProtocolGuid

[FixedPcd]
  gArmPlatformTokenSpaceGuid.PcdPL111LcdBase

[FeaturePcd]
  gArmPlatformTokenSpaceGuid.PcdGopDisableOnExitBootServices

[Depex]
  gEfiCpuArchProtocolGuid
