09 Jan, 2014

2 commits

  • The original codes misused recvbuf in source buffer instead of sendbuf,
    and read from incorrect offset 14 instead of 22.

    Signed-off-by: Che-Liang Chiou

    Signed-off-by: Simon Glass
    Reviewed-by: Simon Glass
    Tested-by: Che-Liang Chiou

    Che-Liang Chiou
     
  • Add a simple TPM emulator for sandbox. It only supports a small subset of
    TPM operations. However, these are enough to perform common tasks.

    Note this is an initial commit to get this working, but it could use
    cleaning up (for example constants instead of open-coded values).

    Signed-off-by: Simon Glass

    Signed-off-by: Simon Glass
    Reviewed-by: Simon Glass

    Simon Glass
     

18 Nov, 2013

1 commit


01 Nov, 2013

1 commit


24 Jul, 2013

1 commit


17 Jul, 2013

1 commit

  • Add support for Atmel TPM devices with two wire interface.

    Signed-off-by: Dirk Eibach
    Signed-off-by: Reinhard Pfau
    Reviewed-by: Simon Glass
    Signed-off-by: Andy Fleming

    Dirk Eibach
     

03 Jun, 2013

3 commits

  • This patch does a similar code reogranzation from
    http://patchwork.ozlabs.org/patch/132179/
    which is based on an old version of code (fdt support and bus selection
    still not in). It merges this tidy-up on top of the recent code. It does
    not make any logical change.

    tpm.c implements the interface defined in tpm.h based on underlying
    LPC or I2C TPM driver. tpm.c and the underlying driver communicate
    throught tpm_private.h.

    Note: Merging the LPC driver with tpm.c is left to future patches.

    Change-Id: Ie1384f5f9e3935d3bc9a44adf8de80c5a70a5f2b
    Signed-off-by: Tom Wai-Hong Tam
    Signed-off-by: Simon Glass
    Reviewed-by: Simon Glass

    Tom Wai-Hong Tam
     
  • Add support for Infineon's new SLB 9645 TT 1.2 I2C TPMs,
    which supports clockstretching, combined reads and a bus speed of
    up to 400khz. The device also has a new device id.

    This is based on the kernel patch provided by Infineon :
    https://gerrit.chromium.org/gerrit/42332

    Signed-off-by: Vincent Palatin

    Signed-off-by: Simon Glass
    Reviewed-by: Luigi Semenzato
    Reviewed-by: Simon Glass
    Reviewed-by: Vincent Palatin
    Tested-by: Tom Wai-Hong Tam
    Tested-by: Vincent Palatin

    Vincent Palatin
     
  • The new name is more aligned with Linux kernel's naming of TPM driver.

    Signed-off-by: Peter Huewe
    Signed-off-by: Che-Liang Chiou
    Signed-off-by: Simon Glass
    Acked-by: Mike Frysinger
    Reviewed-by: Simon Glass
    Tested-by: Tom Wai-Hong Tam

    Che-liang Chiou
     

13 Apr, 2013

2 commits


07 Dec, 2011

1 commit

  • TPM (Trusted Platform Module) is an integrated circuit and
    software platform that provides computer manufacturers with the
    core components of a subsystem used to assure authenticity,
    integrity and confidentiality.

    This driver supports version 1.2 of the TCG (Trusted Computing
    Group) specifications.

    The TCG specification defines several so called localities in a
    TPM chip, to be controlled by different software layers. When
    used on a typical x86 platform during the firmware phase, only
    locality 0 can be accessed by the CPU, so this driver even while
    supporting the locality concept presumes that only locality zero
    is used.

    This implementation is loosely based on the article "Writing a
    TPM Device Driver" published on http://ptgmedia.pearsoncmg.com

    Compiling this driver with DEBUG defined will generate trace of
    all accesses to TMP registers.

    This driver has been tested and is being used in three different
    functional ChromeOS machines (Pinetrail and Sandy Bridge Intel
    chipsets) all using the same Infineon SLB 9635 TT 1.2 device.

    A u-boot cli command allowing access to the TPM was also
    implemented and is being submitted as a second patch.

    Change-Id: I22a33c3e5b2e20eec9557a7621bd463b30389d73
    Signed-off-by: Vadim Bendebury
    CC: Wolfgang Denk

    Vadim Bendebury