aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/intel/haswell/bootblock.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/intel/haswell/bootblock.c')
-rw-r--r--src/cpu/intel/haswell/bootblock.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cpu/intel/haswell/bootblock.c b/src/cpu/intel/haswell/bootblock.c
index c9e3f2abad..7066637f24 100644
--- a/src/cpu/intel/haswell/bootblock.c
+++ b/src/cpu/intel/haswell/bootblock.c
@@ -4,6 +4,7 @@
#include <arch/bootblock.h>
#include <cpu/x86/msr.h>
#include <arch/io.h>
+#include <delay.h>
#include <halt.h>
#include "haswell.h"
@@ -50,6 +51,10 @@ static void set_flex_ratio_to_tdp_nominal(void)
/* Set soft reset control to use register value */
RCBA32_OR(SOFT_RESET_CTRL, 1);
+ /* Delay before reset to avoid potential TPM lockout */
+ if (CONFIG(TPM1) || CONFIG(TPM2))
+ mdelay(30);
+
/* Issue warm reset, will be "CPU only" due to soft reset data */
outb(0x0, 0xcf9);
outb(0x6, 0xcf9);