#/** @file
#
#  Copyright (c) 2008 - 2010, Apple Inc. 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                      = TPS65950
  FILE_GUID                      = 71fe861a-5450-48b6-bfb0-b93522616f99
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = TPS65950Initialize


[Sources.common]
  TPS65950.c

[Packages]
  MdePkg/MdePkg.dec
  EmbeddedPkg/EmbeddedPkg.dec
  Omap35xxPkg/Omap35xxPkg.dec

[LibraryClasses]
  BaseMemoryLib
  PcdLib
  UefiLib
  UefiDriverEntryPoint
  MemoryAllocationLib

[Guids]

[Protocols]
  gEfiSmbusHcProtocolGuid
  gEmbeddedExternalDeviceProtocolGuid

[Pcd]

[depex]
  gEfiSmbusHcProtocolGuid
