aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@chromium.org>2017-04-07 13:26:01 -0700
committerFurquan Shaikh <furquan@google.com>2017-04-13 05:04:13 +0200
commit260b297a8969d7119d514272af7abacd12c8c42d (patch)
tree4e17674a8ad483059c66a74959c7f436c82ad61c /src/include
parentbf6dfaefc2fd2f22e55e3227d8b023bcd992cae5 (diff)
drivers/spi/tpm: Clean up SPI TPM driver
1. Move common TIS macros to include/tpm.h. 2. Use common TIS macros while referring to status and access registers. 3. Add a new function claim_locality to properly check for required access bits and claim locality 0. BUG=b:36873582 Change-Id: I11bf3e8b6e1f50b7868c9fe4394a858488367287 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://review.coreboot.org/19213 Tested-by: build bot (Jenkins) Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/tpm.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/include/tpm.h b/src/include/tpm.h
index bd85b43844..32a44c17eb 100644
--- a/src/include/tpm.h
+++ b/src/include/tpm.h
@@ -19,6 +19,32 @@
#include <stddef.h>
#include <stdint.h>
+enum tis_access {
+ TPM_ACCESS_VALID = (1 << 7),
+ TPM_ACCESS_ACTIVE_LOCALITY = (1 << 5),
+ TPM_ACCESS_REQUEST_PENDING = (1 << 2),
+ TPM_ACCESS_REQUEST_USE = (1 << 1),
+ TPM_ACCESS_ESTABLISHMENT = (1 << 0),
+};
+
+enum tis_status {
+ TPM_STS_FAMILY_SHIFT = 26,
+ TPM_STS_FAMILY_MASK = (0x3 << TPM_STS_FAMILY_SHIFT),
+ TPM_STS_FAMILY_TPM_2_0 = (1 << TPM_STS_FAMILY_SHIFT),
+ TPM_STS_FAMILY_TPM_1_2 = (0 << TPM_STS_FAMILY_SHIFT),
+ TPM_STS_RESET_ESTABLISHMENT = (1 << 25),
+ TPM_STS_COMMAND_CANCEL = (1 << 24),
+ TPM_STS_BURST_COUNT_SHIFT = 8,
+ TPM_STS_BURST_COUNT_MASK = (0xFFFF << TPM_STS_BURST_COUNT_SHIFT),
+ TPM_STS_VALID = (1 << 7),
+ TPM_STS_COMMAND_READY = (1 << 6),
+ TPM_STS_GO = (1 << 5),
+ TPM_STS_DATA_AVAIL = (1 << 4),
+ TPM_STS_DATA_EXPECT = (1 << 3),
+ TPM_STS_SELF_TEST_DONE = (1 << 2),
+ TPM_STS_RESPONSE_RETRY = (1 << 1),
+};
+
/*
* tis_init()
*