Karthik Ramasubramanian has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/44189 )
Change subject: mb/google/dedede: Add a board specific reset ......................................................................
mb/google/dedede: Add a board specific reset
When ME jumps from RO to RW, global reset is initiated. When AP is reset as part of global reset, TPM initialization fails. This is because AP reset is not detected by TPM hosting an older firmware version. Request Embedded Controller (EC) to perform AP reset so that TPM can detect that event.
BUG=b:162290856, b:162386991 TEST=Ensure that the device boots to OS with the board-specific reset sequence when ME jumps from RO to RW with an older and newer Cr50 firmware.
Cq-Depend: chromium:2337430 Change-Id: Ib1f7271130e0b4b68c7f0917ecc4eadba1486206 Signed-off-by: Karthikeyan Ramasubramanian kramasub@google.com --- M src/mainboard/google/dedede/mainboard.c 1 file changed, 8 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/89/44189/1
diff --git a/src/mainboard/google/dedede/mainboard.c b/src/mainboard/google/dedede/mainboard.c index cb84e1f..1fbdfce 100644 --- a/src/mainboard/google/dedede/mainboard.c +++ b/src/mainboard/google/dedede/mainboard.c @@ -5,8 +5,16 @@ #include <baseboard/variants.h> #include <device/device.h> #include <ec/ec.h> +#include <ec/google/chromeec/ec.h> +#include <intelblocks/cse.h> #include <vendorcode/google/chromeos/chromeos.h>
+void cse_board_reset(void) +{ + /* TODO: Check tpm firmware version before initiating AP reset. */ + google_chromeec_ap_reset(); +} + __weak void variant_isst_override(void) { /*