#/** @file
#
#  Component description file for ArmRealViewGraphicsDxe 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                      = PL111LcdArmRealViewEbLib
  FILE_GUID                      = 51396ee0-4973-11e0-868a-0002a5d5c51b
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PL111LcdPlatformLib

[Sources.common]
  PL111LcdArmRealViewEb.c

[Packages]
  MdePkg/MdePkg.dec
  ArmPlatformPkg/ArmPlatformPkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  IoLib

[Guids]

[Protocols]
  gEfiEdidDiscoveredProtocolGuid                # Produced
  gEfiEdidActiveProtocolGuid                    # Produced

[FixedPcd.common]

  #
  # The following modes are supported by PL111
  #
  #    0 :  640 x 480 x 24 bpp
  #    1 :  800 x 600 x 24 bpp
  #    2 : 1024 x 768 x 24 bpp
  #    3 :  640 x 480 x 16 bpp (565 RGB Mode)
  #    4 :  800 x 600 x 16 bpp (565 RGB Mode)
  #    5 : 1024 x 768 x 16 bpp (565 RGB Mode)
  #    6 :  640 x 480 x 15 bpp (555 RGB Mode)
  #    7 :  800 x 600 x 15 bpp (555 RGB Mode)
  #    8 : 1024 x 768 x 15 bpp (555 RGB Mode)
  #    9 : 1024 x 768 x 15 bpp (555 RGB Mode) - Linux driver settings
  #   10 :  640 x 480 x 12 bpp (444 RGB Mode)
  #   11 :  800 x 600 x 12 bpp (444 RGB Mode)
  #   12 : 1024 x 768 x 12 bpp (444 RGB Mode)
  #

[Pcd.common]

[Depex]
 # gEfiCpuArchProtocolGuid
