Add a cli command to test the TPM device.
authorVadim Bendebury <vbendeb@chromium.org>
Sat, 15 Oct 2011 15:13:34 +0000 (15:13 +0000)
committerWolfgang Denk <wd@denx.de>
Tue, 6 Dec 2011 20:30:03 +0000 (21:30 +0100)
commit576fb1ed3fca767c36c59161ab42e60a93ea4419
treea26dd2c9536d9ccb8edfa44bc9ed732e56f50d72
parent6f40f2749ac34da91c7054ee6d94808ee1db4cb1
Add a cli command to test the TPM device.

The command gets an arbitrary number of arguments (up to 30), which
are interpreted as byte values and are feed into the TPM device after
proper initialization. Then the return value and data of the TPM
driver is examined.

TPM commands are described in the TCG specification.

For instance, the following sequence is the 'TPM Startup' command, it
is processed by the TPM and a response is generated:

boot > tpm 0x0 0xc1 0x0 0x0 0x0 0xc 0x0 0x0 0x0 0x99 0x0 0x1
Found TPM SLB9635 TT 1.2 by Infineon
Got TPM response:
 00 c4 00 00 00 0a 00 00 00 00

If the command is corrupted (fed one byte short), an error is reported:
boot > tpm 0x0 0xc1 0x0 0x0 0x0 0xc 0x0 0x0 0x0 0x99 0x0
generic_lpc_tpm.c:311 unexpected TPM status 0xff000888
generic_lpc_tpm.c:516 failed sending data to TPM
tpm command failed
boot >

Change-Id: I3f3c5bfec8b852e208c4e99ba37b0f2b875140b0
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
CC: Wolfgang Denk <wd@denx.de>
common/Makefile
common/cmd_tpm.c [new file with mode: 0644]