#/** @file
#  
#    Component discription file for Bds module
#  
#  Copyright (c) 2008, Intel Corporation. <BR>
#  All rights reserved. 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                      = SimpleTextInOutSerial
  FILE_GUID                      = 6696936D-3637-467C-87CB-14EA8248948C
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = SimpleTextInOutEntryPoint


[Sources.common]
  SimpleTextInOut.c


[Packages]
  MdePkg/MdePkg.dec
  EmbeddedPkg/EmbeddedPkg.dec

[LibraryClasses]
  BaseLib
  ReportStatusCodeLib
  MemoryAllocationLib
  UefiLib
  UefiBootServicesTableLib
  BaseMemoryLib
  DebugLib
  UefiDriverEntryPoint
  SerialPortLib

[Guids]
  

[Protocols]
  gEfiSimpleTextInProtocolGuid    
  gEfiSimpleTextOutProtocolGuid    
  gEfiSerialIoProtocolGuid    
  gEfiDevicePathProtocolGuid

[FixedPcd]
  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits
  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits


[depex]
  TRUE
