#/** @file
#  
#  Component discription file for NorFlashDxe module
#  
#  Copyright (c) 2011, ARM Ltd. All rights reserved.<BR>
#  Copyright (c) Huawei Technologies Co., Ltd. 2013. 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                      = BspUartLib
  FILE_GUID                      = 16D53EE6-7EA6-47bd-8E2F-511FD9BCABF0
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BspUartLib


[Sources.common]
  BspUartLib.c


[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  ArmPlatformPkg/ArmPlatformPkg.dec
  HisiPkg/HisiPlatformPkg.dec
  
[LibraryClasses]
  BaseLib
  DebugLib
  DebugAgentLib
  ResetWdtLib
  
