Introduce generic TPM support in u-boot
authorVadim Bendebury <vbendeb@chromium.org>
Mon, 17 Oct 2011 08:36:14 +0000 (08:36 +0000)
committerWolfgang Denk <wd@denx.de>
Wed, 7 Dec 2011 07:45:51 +0000 (08:45 +0100)
commit5e1247247b5040081bfc219fe176e43db6ded4cf
tree22c4183c0854dfc57b07a561863c2d27d3a14f33
parent5f3dfadc26c3d7c02e5fe16a743475328a85e891
Introduce generic TPM support in u-boot

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 <vbendeb@chromium.org>
CC: Wolfgang Denk <wd@denx.de>
Makefile
README
drivers/tpm/Makefile [new file with mode: 0644]
drivers/tpm/generic_lpc_tpm.c [new file with mode: 0644]
include/tpm.h [new file with mode: 0644]