#/* @file
#  Copyright (c) 2011-2013, ARM Limited. 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                      = BeagleBoardLib
  FILE_GUID                      = 736343a0-1d96-11e0-aaaa-0002a5d5c51b
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = ArmPlatformLib

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  EmbeddedPkg/EmbeddedPkg.dec
  ArmPkg/ArmPkg.dec
  ArmPlatformPkg/ArmPlatformPkg.dec
  Omap35xxPkg/Omap35xxPkg.dec
  BeagleBoardPkg/BeagleBoardPkg.dec

[LibraryClasses]
  IoLib
  ArmLib
  MemoryAllocationLib

[Sources.common]
  BeagleBoardHelper.asm  | RVCT
  BeagleBoardHelper.S    | GCC
  BeagleBoard.c
  BeagleBoardMem.c
  PadConfiguration.c
  Clock.c
  BeagleBoardHelper.S    | GCC
  BeagleBoardHelper.asm  | RVCT

[FeaturePcd]
  gEmbeddedTokenSpaceGuid.PcdCacheEnable

[FixedPcd]
  gArmTokenSpaceGuid.PcdFdBaseAddress
  gArmTokenSpaceGuid.PcdFdSize

  gArmTokenSpaceGuid.PcdSystemMemoryBase
  gArmTokenSpaceGuid.PcdSystemMemorySize
