summaryrefslogtreecommitdiff
path: root/src/drivers/pc80/tpm/Kconfig
diff options
context:
space:
mode:
authorBill XIE <persmule@gmail.com>2018-03-22 17:07:43 +0800
committerPhilipp Deppenwiese <zaolin.daisuki@gmail.com>2018-04-16 15:47:53 +0000
commita4bf0b7cd18595d1ff37ccaa53112cb3b94dc512 (patch)
tree3fadac6ebf450ff89aae06428a8a592e613b64a1 /src/drivers/pc80/tpm/Kconfig
parentc8412ed1f9f1e9fdc0922ba1a3d49db702426814 (diff)
drivers/pc80/tpm: Add some optional delay to tis_readresponse()
Certain TPMs (observed on Infineon SLB9635 installed on revolve 810 g1) seem to need some delay between tis_wait_valid() and tis_has_valid_data(), or tis_has_valid_data() may invalidly return 0, ending the loop immaturely with some bytes left unread, and fail to pass the check below, causing the current command not finalized by tis_command_ready(), and blocking any later tis_wait_ready(). This time the added delay is controlled by a Kconfig option TPM_RDRESP_NEED_DELAY. Change-Id: Ic2a2f252e72a0bbce51e2863f8e46647b1570ba5 Signed-off-by: Bill XIE <persmule@gmail.com> Reviewed-on: https://review.coreboot.org/25322 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/drivers/pc80/tpm/Kconfig')
-rw-r--r--src/drivers/pc80/tpm/Kconfig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/drivers/pc80/tpm/Kconfig b/src/drivers/pc80/tpm/Kconfig
index 3bd9083802..879b4a2341 100644
--- a/src/drivers/pc80/tpm/Kconfig
+++ b/src/drivers/pc80/tpm/Kconfig
@@ -46,3 +46,12 @@ config TPM_DEACTIVATE
depends on LPC_TPM
help
Deactivate TPM by issuing deactivate command.
+
+config TPM_RDRESP_NEED_DELAY
+ bool "Enable Delay Workaround for TPM"
+ default n
+ depends on LPC_TPM
+ help
+ Certain TPMs seem to need some delay when reading response
+ to work around a race-condition-related issue, possibly
+ caused by ill-programmed TPM firmware.