From f9a40ea28f1c856289cd4adf04224fad096b4a4d Mon Sep 17 00:00:00 2001 From: Jeffy Chen Date: Fri, 3 Mar 2017 18:24:02 +0800 Subject: drivers/spi/tpm: try to wake cr50 if it is asleep BUG=b:35775002 TEST=boot from bob Change-Id: I6324f3c02da55a8527f085ba463cbb1f4fb5dc2e Signed-off-by: Jeffy Chen Reviewed-on: https://chromium-review.googlesource.com/452283 Commit-Ready: Caesar Wang Tested-by: Caesar Wang Reviewed-by: Julius Werner Reviewed-on: https://review.coreboot.org/19112 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/drivers/spi/tpm/tpm.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/drivers/spi') diff --git a/src/drivers/spi/tpm/tpm.c b/src/drivers/spi/tpm/tpm.c index fd924f4246..29b85c4716 100644 --- a/src/drivers/spi/tpm/tpm.c +++ b/src/drivers/spi/tpm/tpm.c @@ -121,6 +121,12 @@ static int start_transaction(int read_write, size_t bytes, unsigned addr) */ mdelay(10); + /* Try to wake cr50 if it is asleep. */ + tpm_if.cs_assert(&tpm_if.slave); + udelay(1); + tpm_if.cs_deassert(&tpm_if.slave); + udelay(100); + /* * The first byte of the frame header encodes the transaction type * (read or write) and transfer size (set to lentgh - 1), limited to -- cgit v1.2.3