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:
parent
0921cb792d
commit
847378609c
|
@ -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)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue