coreboot-kgpe-d16/src
Keith Short 00dbf449c9 coreboot: Run mainboard specific code before Cr50 reset
When coreboot checks the TPM and key-ladder state it issues a reboot of
the Cr50 with a delay parameter.  Older Cr50 code doesn't support the
delay parameter and reboots immediately, which prevented coreboot from
running the mainboard specific code needed for the AP to come back up.

This change calls mainboard_prepare_cr50_reset() prior to sending the
VENDOR_CC_IMMEDIATE_RESET command.

This change also fixes a false error message from the coreboot log that
indicated "Unexpected Cr50 TPM mode 3" when the Cr50 key ladder is
disabled.

BUG=b:130830178
BRANCH=none
TEST=build coreboot on sarien and grunt platforms.
TEST=Load Cr50 v3.15, run 'gsctool -a -m disable; reboot'.  Verify
corebot send the
VENDOR_CC_IMMEDIATE_RESET command and that the AP boots normally.
Verify event log shows "cr50 Reset Required"
TEST=Force Cr50 automatic update.  Verify event log shows "cr50 Update
Reset".

Change-Id: Ib05c9cfde8e87daffd4233114263de5b30822872
Signed-off-by: Keith Short <keithshort@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32365
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2019-04-23 10:21:24 +00:00
..
acpi
arch arch/x86/car.ld: Make the vboot tpm log symbols conditional 2019-04-23 10:18:09 +00:00
commonlib src: include <assert.h> when appropriate 2019-04-23 10:01:36 +00:00
console coreboot: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-08 08:33:24 +00:00
cpu cpu/intel/speedstep/acpi: Use get_ia32_fsb_x3() function 2019-04-23 10:19:37 +00:00
device src: Use include <console/console.h> when appropriate 2019-04-23 10:01:21 +00:00
drivers src: include <assert.h> when appropriate 2019-04-23 10:01:36 +00:00
ec ec/google/wilco: Support board_id with EC provided ID 2019-04-18 23:43:06 +00:00
include smbios: Add memory type 9 system slot support 2019-04-23 10:09:35 +00:00
lib src: include <assert.h> when appropriate 2019-04-23 10:01:36 +00:00
mainboard sb/intel/lynxpoint: Enable LPC/SIO setup in bootblock 2019-04-23 10:12:02 +00:00
northbridge nb/intel/i945: Check if interleaved even if rank #4 size is zero 2019-04-23 10:13:34 +00:00
security src: include <assert.h> when appropriate 2019-04-23 10:01:36 +00:00
soc soc/intel/common/acpi: Add dynamic method around sleep 2019-04-23 10:20:29 +00:00
southbridge sb/intel/bd82x6x: fix linking for non-native raminit case 2019-04-23 10:13:14 +00:00
superio src: include <assert.h> when appropriate 2019-04-23 10:01:36 +00:00
vendorcode coreboot: Run mainboard specific code before Cr50 reset 2019-04-23 10:21:24 +00:00
Kconfig x86/smbios: Untangle system and board tables 2019-03-16 16:22:16 +00:00