aboutsummaryrefslogtreecommitdiff
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
committerDuncan Laurie <dlaurie@chromium.org>2016-09-19 17:52:29 -0700
commit64df72e8e2d1c086705325533767ca5e201e842a (patch)
tree1a59fff6307fe36dd239d8452818904385ea5496 /src/drivers/i2c/tpm/tpm.h
parent1c8491c3ab75cc54c5288552b3ffb8513a3488aa (diff)
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: I0febe98620d0ddd4ec6b46cd3073e48c12926266 Signed-off-by: Duncan Laurie <dlaurie@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 ddf12a9e98..048c848de2 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 {