mb/google/dedede: Add a board specific reset

When CSE Lite 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 CSE Lite 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>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44189
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
This commit is contained in:
Karthikeyan Ramasubramanian 2020-08-04 16:52:56 -06:00 committed by Tim Wawrzynczak
parent 0921cb792d
commit 847378609c
1 changed files with 10 additions and 0 deletions

View File

@ -5,8 +5,18 @@
#include <baseboard/variants.h> #include <baseboard/variants.h>
#include <device/device.h> #include <device/device.h>
#include <ec/ec.h> #include <ec/ec.h>
#include <ec/google/chromeec/ec.h>
#include <halt.h>
#include <intelblocks/cse.h>
#include <vendorcode/google/chromeos/chromeos.h> #include <vendorcode/google/chromeos/chromeos.h>
void cse_board_reset(void)
{
/* TODO: Check tpm firmware version before initiating AP reset. */
if (!google_chromeec_ap_reset())
halt();
}
__weak void variant_isst_override(void) __weak void variant_isst_override(void)
{ {
/* /*