aboutsummaryrefslogtreecommitdiff
path: root/src/vendorcode
diff options
context:
space:
mode:
Diffstat (limited to 'src/vendorcode')
-rw-r--r--src/vendorcode/google/chromeos/cse_board_reset.c33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/vendorcode/google/chromeos/cse_board_reset.c b/src/vendorcode/google/chromeos/cse_board_reset.c
index 65e09aeedb..0b213a66de 100644
--- a/src/vendorcode/google/chromeos/cse_board_reset.c
+++ b/src/vendorcode/google/chromeos/cse_board_reset.c
@@ -16,23 +16,26 @@ void cse_board_reset(void)
int ret;
struct cr50_firmware_version version;
- /* Initialize TPM and get the cr50 firmware version. */
- ret = tlcl_lib_init();
- if (ret != VB2_SUCCESS) {
- printk(BIOS_ERR, "tlcl_lib_init() failed: 0x%x\n", ret);
- return;
- }
+ if (CONFIG(MAINBOARD_HAS_SPI_TPM_CR50)) {
+ /* Initialize TPM and get the cr50 firmware version. */
+ ret = tlcl_lib_init();
+ if (ret != VB2_SUCCESS) {
+ printk(BIOS_ERR, "tlcl_lib_init() failed: 0x%x\n", ret);
+ return;
+ }
- cr50_get_firmware_version(&version);
+ cr50_get_firmware_version(&version);
- /*
- * Cr50 firmware versions 0.[3|4].20 or newer support strap config 0xe where PLTRST from
- * AP is connected to cr50's PLTRST# signal. So return immediately and trigger a
- * global reset.
- */
- if (version.epoch != 0 || version.major > 4 ||
- (version.major >= 3 && version.minor >= 20))
- return;
+ /*
+ * Cr50 firmware versions 0.[3|4].20 or newer support strap
+ * config 0xe where PLTRST from AP is connected to cr50's
+ * PLTRST# signal. So return immediately and trigger a global
+ * reset.
+ */
+ if (version.epoch != 0 || version.major > 4 ||
+ (version.major >= 3 && version.minor >= 20))
+ return;
+ }
printk(BIOS_INFO, "Initiating request to EC to trigger cold reset\n");
/*