## @file
#  Provides some common functions for the TCG feature for Atmel I2C TPM.
#
#  This instance provides basic TPM Interface Specification (TIS) functions
#  or Atmel I2C TPM.
#
# Copyright (c) 2016 - 2017, Intel Corporation. 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                      = Tpm12DeviceLibAtmelI2c
  MODULE_UNI_FILE                = Tpm12DeviceLibAtmelI2c.uni
  FILE_GUID                      = A0C0B7EF-99FF-417F-8B9F-5AD4701D90D6
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = Tpm12DeviceLib|PEIM DXE_DRIVER DXE_SMM_DRIVER UEFI_DRIVER

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  TisPc.c

[Packages]
  MdePkg/MdePkg.dec
  SecurityPkg/SecurityPkg.dec
  QuarkSocPkg/QuarkSocPkg.dec

[LibraryClasses]
  BaseLib
  TimerLib
  DebugLib
  I2cLib
