diff options
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/intel/fsp1_1/romstage.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/drivers/intel/fsp1_1/romstage.c b/src/drivers/intel/fsp1_1/romstage.c index bf84d662af..3d698bb363 100644 --- a/src/drivers/intel/fsp1_1/romstage.c +++ b/src/drivers/intel/fsp1_1/romstage.c @@ -173,8 +173,15 @@ void romstage_common(struct romstage_params *params) hard_reset(); } - if (IS_ENABLED(CONFIG_LPC_TPM)) - init_tpm(params->power_state->prev_sleep_state == SLEEP_STATE_S3); + /* + * Initialize the TPM, unless the TPM was already initialized + * in verstage and used to verify romstage. + */ + if (IS_ENABLED(CONFIG_LPC_TPM) && + !IS_ENABLED(CONFIG_RESUME_PATH_SAME_AS_BOOT) && + !IS_ENABLED(CONFIG_VBOOT_STARTS_IN_BOOTBLOCK)) + init_tpm(params->power_state->prev_sleep_state == + SLEEP_STATE_S3); } void after_cache_as_ram_stage(void) |