#/** @file
#  
#  Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
#  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                      = Smbus
  FILE_GUID                      = d5125e0f-1226-444f-a218-0085996ed5da
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = InitializeSmbus

[Sources.common]
  Smbus.c

[Packages]
  MdePkg/MdePkg.dec
  Omap35xxPkg/Omap35xxPkg.dec

[LibraryClasses]
  PcdLib
  UefiLib
  UefiDriverEntryPoint
  MemoryAllocationLib
  IoLib

[Guids]
  
[Protocols]
  gEfiSmbusHcProtocolGuid

[Pcd]

[depex]
  TRUE