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 <jeffy.chen@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/452283
Commit-Ready: Caesar Wang <wxt@rock-chips.com>
Tested-by: Caesar Wang <wxt@rock-chips.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/19112
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
diff --git a/src/drivers/spi/tpm/tpm.c b/src/drivers/spi/tpm/tpm.c
index fd924f4..29b85c4 100644
--- a/src/drivers/spi/tpm/tpm.c
+++ b/src/drivers/spi/tpm/tpm.c
@@ -121,6 +121,12 @@
 	 */
 	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