Hello all,
I ran into an issue getting a Infineon SLB9670 2.0 TPM running on an Intel Denverton platform, and traced the problem to what seems to be incorrect behavior of tis_get_tpm_version(). That function is returning the version of the interface, and it seems the device version is what is needed. The version check implemented here is based on the tpm2_probe() function in the Linux tpm_tis driver.
This patch set applies on top of Marc-André and Stefan's "Add CRB TPM device" patch series currently under review
I've tested this on real hardware with a SLB9670 hanging off of an Intel C3758, but have not regression tested with TPM 1.2 devices.
Regards, Steve
Stephen Douthit (3): tpm: Refactor duplicated wait code in tis_wait_sts() & crb_wait_reg() tpm: Wait for interface startup when probing tpm: Support 2.0 TPM devices connected to a TIS host
src/hw/tpm_drivers.c | 114 +++++++++++++++++++++++++++------------------------ src/std/tcg.h | 1 + src/tcgbios.c | 2 +- src/tcgbios.h | 4 ++ 4 files changed, 66 insertions(+), 55 deletions(-)