aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/spi/tpm/tpm.h
diff options
context:
space:
mode:
authorKarthikeyan Ramasubramanian <kramasub@chromium.org>2020-08-20 22:53:00 -0600
committerEdward O'Callaghan <quasisec@chromium.org>2020-08-22 00:30:57 +0000
commit7b58f9413db21b0fc71e65a99e43f699e83ea0f9 (patch)
treec6728e1a419bab0c1bc65622f6b096bcab14f182 /src/drivers/spi/tpm/tpm.h
parent4cc87d4e35899519be8bf28ffecf89f01eacc55c (diff)
drivers/spi/tpm: Add helper to get cr50 firmware version
Introduce a helper to get the cached cr50 firmware version. This information is in turn used to identify the strap configuration supported by Cr50. BUG=None TEST=Ensure that Drawcia board boots to OS. Ensure that the version cached cr50 firmware version is returned. Change-Id: Id84b152993f253878a6c133cc433a0da2c990cf2 Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44653 Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Sam McNally <sammc@google.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/drivers/spi/tpm/tpm.h')
-rw-r--r--src/drivers/spi/tpm/tpm.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/drivers/spi/tpm/tpm.h b/src/drivers/spi/tpm/tpm.h
index b3e3f45ee9..39d54e74b3 100644
--- a/src/drivers/spi/tpm/tpm.h
+++ b/src/drivers/spi/tpm/tpm.h
@@ -16,6 +16,13 @@ struct tpm2_info {
uint16_t revision;
};
+/* Structure describing the elements of Cr50 firmware version. */
+struct cr50_firmware_version {
+ int epoch;
+ int major;
+ int minor;
+};
+
/*
* Initialize a TPM2 device: read its id, claim locality of zero, verify that
* this indeed is a TPM2 device. Use the passed in handle to access the right
@@ -44,4 +51,7 @@ void tpm2_get_info(struct tpm2_info *info);
/* Indicates whether Cr50 ready pulses are guaranteed to be at least 100us. */
bool cr50_is_long_interrupt_pulse_enabled(void);
+/* Get the cr50 firmware version information. */
+void cr50_get_firmware_version(struct cr50_firmware_version *version);
+
#endif /* ! __COREBOOT_SRC_DRIVERS_SPI_TPM_TPM_H */