From d41ad724cd2430558e4ecbb5e90b769555b68c34 Mon Sep 17 00:00:00 2001 From: Jett Rink Date: Mon, 10 Jun 2024 09:31:14 -0600 Subject: tpm: Add Ti50 OpenTitan DID_VID The OpenTitan HW implements the same firmware interface as the Ti50 H1D3C hardware variant; it just has a different DID_VID. Allow this new DID_VID to be recognized correctly. BUG=b:324940153 Change-Id: Iaacf6d88bc6067948756c465aac1cd8b24ecae1f Signed-off-by: Jett Rink Reviewed-on: https://review.coreboot.org/c/coreboot/+/83033 Reviewed-by: Karthik Ramasubramanian Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- src/drivers/i2c/tpm/cr50.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/drivers/i2c/tpm') diff --git a/src/drivers/i2c/tpm/cr50.c b/src/drivers/i2c/tpm/cr50.c index 3bc98c370a..5f5ca66d5f 100644 --- a/src/drivers/i2c/tpm/cr50.c +++ b/src/drivers/i2c/tpm/cr50.c @@ -34,7 +34,8 @@ #define CR50_TIMEOUT_LONG_MS 2000 /* Long timeout while waiting for TPM */ #define CR50_TIMEOUT_SHORT_MS 2 /* Short timeout during transactions */ #define CR50_DID_VID 0x00281ae0L -#define TI50_DID_VID 0x504a6666L +#define TI50_DT_DID_VID 0x504a6666L +#define TI50_OT_DID_VID 0x50666666L struct tpm_inf_dev { int bus; @@ -449,7 +450,8 @@ static tpm_result_t cr50_i2c_probe(uint32_t *did_vid) rc = cr50_i2c_read(TPM_DID_VID(0), (uint8_t *)did_vid, 4); /* Exit once DID and VID verified */ - if (!rc && (*did_vid == CR50_DID_VID || *did_vid == TI50_DID_VID)) { + if (!rc && (*did_vid == CR50_DID_VID || *did_vid == TI50_DT_DID_VID || + *did_vid == TI50_OT_DID_VID)) { printk(BIOS_INFO, "done! DID_VID 0x%08x\n", *did_vid); return TPM_SUCCESS; } -- cgit v1.2.3