summaryrefslogtreecommitdiffstats
path: root/src/drivers/i2c/tpm/tpm.h
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2016-09-14 16:27:04 -0700
committerPatrick Georgi <pgeorgi@google.com>2016-09-21 10:02:17 +0200
commitdca223cb38ab73744f490eb5b4cc6c7c2598f2c3 (patch)
treee957a18c5c3007c8975acd92bc51729165f157f7 /src/drivers/i2c/tpm/tpm.h
parent8ea06512e69f5f5378316021e106732f6c89fbd2 (diff)
downloadcoreboot-dca223cb38ab73744f490eb5b4cc6c7c2598f2c3.tar.gz
coreboot-dca223cb38ab73744f490eb5b4cc6c7c2598f2c3.tar.bz2
coreboot-dca223cb38ab73744f490eb5b4cc6c7c2598f2c3.zip
drivers/i2c/tpm: Move common variables to header
Move the common enums and variables to tpm.h so it can be used by multiple drivers. BUG=chrome-os-partner:53336 Change-Id: Ie749f13562be753293448fee2c2d643797bf8049 Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://review.coreboot.org/16662 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/drivers/i2c/tpm/tpm.h')
-rw-r--r--src/drivers/i2c/tpm/tpm.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/drivers/i2c/tpm/tpm.h b/src/drivers/i2c/tpm/tpm.h
index ddf12a9e980b..048c848de2d6 100644
--- a/src/drivers/i2c/tpm/tpm.h
+++ b/src/drivers/i2c/tpm/tpm.h
@@ -36,6 +36,9 @@ enum tpm_timeout {
/* Size of external transmit buffer (used for stack buffer in tpm_sendrecv) */
#define TPM_BUFSIZE 1260
+/* Number of bytes in the TPM header */
+#define TPM_HEADER_SIZE 10
+
/* Index of fields in TPM command buffer */
#define TPM_CMD_SIZE_BYTE 2
#define TPM_CMD_ORDINAL_BYTE 6
@@ -44,6 +47,26 @@ enum tpm_timeout {
#define TPM_RSP_SIZE_BYTE 2
#define TPM_RSP_RC_BYTE 6
+enum tis_access {
+ TPM_ACCESS_VALID = 0x80,
+ TPM_ACCESS_ACTIVE_LOCALITY = 0x20,
+ TPM_ACCESS_REQUEST_PENDING = 0x04,
+ TPM_ACCESS_REQUEST_USE = 0x02,
+};
+
+enum tis_status {
+ TPM_STS_VALID = 0x80,
+ TPM_STS_COMMAND_READY = 0x40,
+ TPM_STS_GO = 0x20,
+ TPM_STS_DATA_AVAIL = 0x10,
+ TPM_STS_DATA_EXPECT = 0x08,
+};
+
+#define TPM_ACCESS(l) (0x0000 | ((l) << 4))
+#define TPM_STS(l) (0x0001 | ((l) << 4))
+#define TPM_DATA_FIFO(l) (0x0005 | ((l) << 4))
+#define TPM_DID_VID(l) (0x0006 | ((l) << 4))
+
struct tpm_chip;
struct tpm_vendor_specific {