Vadim Bendebury has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37255 )
Change subject: cr50 i2c: add error message reporting TPM IRQ timeout ......................................................................
cr50 i2c: add error message reporting TPM IRQ timeout
Various recent x86 SOCs have trouble registering short pulses generated by the H1 to indicate that it is ready for the next transaction.
This patch adds an error message to report this condition, which would greatly reduce the amount of guesswork when troubleshooting new platforms.
BUG=b:144002424
TEST=tried this code on the Drallion device exhibiting the problem, observed error messages in the Coreboot log;
$ grep IRQ ap.log Cr50 i2c TPM IRQ timeout! Cr50 i2c TPM IRQ timeout! Cr50 i2c TPM IRQ timeout! Cr50 i2c TPM IRQ timeout! ...
Change-Id: I5f6ee3986bed58e12fd0ec8cecbf35f46c9263c2 --- M src/drivers/i2c/tpm/cr50.c 1 file changed, 3 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/55/37255/1
diff --git a/src/drivers/i2c/tpm/cr50.c b/src/drivers/i2c/tpm/cr50.c index 6714bd4..f9a2862 100644 --- a/src/drivers/i2c/tpm/cr50.c +++ b/src/drivers/i2c/tpm/cr50.c @@ -78,9 +78,10 @@ stopwatch_init_msecs_expire(&sw, CR50_TIMEOUT_IRQ_MS);
while (!tis_plat_irq_status()) - if (stopwatch_expired(&sw)) + if (stopwatch_expired(&sw)) { + printk(BIOS_ERR, "Cr50 i2c TPM IRQ timeout!\n"); return -1; - + } return 0; }