diff options
-rw-r--r-- | src/drivers/intel/fsp1_1/romstage.c | 1 | ||||
-rw-r--r-- | src/drivers/intel/fsp2_0/memory_init.c | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/drivers/intel/fsp1_1/romstage.c b/src/drivers/intel/fsp1_1/romstage.c index 69ea7865ea..88401f0b4b 100644 --- a/src/drivers/intel/fsp1_1/romstage.c +++ b/src/drivers/intel/fsp1_1/romstage.c @@ -172,7 +172,6 @@ void romstage_common(struct romstage_params *params) * 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 == ACPI_S3); diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c index 8eb1bd54ea..0abe121aa6 100644 --- a/src/drivers/intel/fsp2_0/memory_init.c +++ b/src/drivers/intel/fsp2_0/memory_init.c @@ -31,6 +31,7 @@ #include <string.h> #include <symbols.h> #include <timestamp.h> +#include <security/tpm/tis.h> #include <security/tpm/tss.h> #include <security/vboot/vboot_common.h> #include <vb2_api.h> @@ -146,6 +147,14 @@ static void do_fsp_post_memory_init(bool s3wake, uint32_t fsp_version) /* Create romstage handof information */ romstage_handoff_init(s3wake); + + /* + * 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_VBOOT_STARTS_IN_BOOTBLOCK)) + init_tpm(s3wake); } static int mrc_cache_verify_tpm_hash(const uint8_t *data, size_t size) |