• Vadim Bendebury's avatar
    Introduce generic TPM support in u-boot · 5e124724
    Vadim Bendebury authored and Wolfgang Denk's avatar Wolfgang Denk committed
    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: default avatarVadim Bendebury <vbendeb@chromium.org>
    CC: Wolfgang Denk <wd@denx.de>