aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/spi/tpm/tpm.h
diff options
context:
space:
mode:
authorJes Klinke <jbk@google.com>2020-07-29 14:22:41 -0700
committerJulius Werner <jwerner@chromium.org>2020-08-20 19:34:46 +0000
commitdcae8074bf7f575a267b4253b1242e5cbc9565c7 (patch)
tree6f758486bb67233651c0a780698e0b42cfb3dd1b /src/drivers/spi/tpm/tpm.h
parentf290e6298f215e92598144a404571aaf32581154 (diff)
drivers/spi/tpm: Enable long cr50 ready pulses for Tiger Lake systems
For Volteer (and future Tiger Lake boards) we can enable mode S0i3.4 only if we know that the Cr50 is generating 100us interrupt pulses. We have to do so, because the SoC is not guaranteed to detect pulses shorter than 100us in S0i3.4 substate. A new Kconfig setting CR50_USE_LONG_INTERRUPT_PULSES controls new code running in verstage, which will program a new Cr50 register, provided that Cr50 firmware is new enough to support the register. BUG=b:154333137 TEST=util/abuild/abuild -t GOOGLE_VOLTEER -c max -x Signed-off-by: Jes Bodi Klinke <jbk@chromium.org> Change-Id: If83188fd09fe69c2cda4ce1a8bf5b2efe1ca86da Reviewed-on: https://review.coreboot.org/c/coreboot/+/43741 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'src/drivers/spi/tpm/tpm.h')
-rw-r--r--src/drivers/spi/tpm/tpm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/drivers/spi/tpm/tpm.h b/src/drivers/spi/tpm/tpm.h
index be98ed05df..b3e3f45ee9 100644
--- a/src/drivers/spi/tpm/tpm.h
+++ b/src/drivers/spi/tpm/tpm.h
@@ -41,4 +41,7 @@ size_t tpm2_process_command(const void *tpm2_command, size_t command_size,
/* Get information about previously initialized TPM device. */
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);
+
#endif /* ! __COREBOOT_SRC_DRIVERS_SPI_TPM_TPM_H */