aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake/lockdown.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/skylake/lockdown.c')
-rw-r--r--src/soc/intel/skylake/lockdown.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/soc/intel/skylake/lockdown.c b/src/soc/intel/skylake/lockdown.c
index f2a9e8b19f..5bbf546de0 100644
--- a/src/soc/intel/skylake/lockdown.c
+++ b/src/soc/intel/skylake/lockdown.c
@@ -16,11 +16,16 @@
#include <arch/io.h>
#include <bootstate.h>
#include <chip.h>
+#include <intelblocks/pcr.h>
#include <soc/lpc.h>
#include <soc/pci_devs.h>
+#include <soc/pcr_ids.h>
#include <soc/pm.h>
#include <string.h>
+#define PCR_DMI_GCS 0x274C
+#define PCR_DMI_GCS_BILD (1 << 0)
+
static void lpc_lockdown_config(void)
{
static struct soc_intel_skylake_config *config;
@@ -55,11 +60,20 @@ static void pmc_lockdown_config(void)
write32(pmcbase + PMSYNC_TPR_CFG, pmsyncreg);
}
+static void dmi_lockdown_config(void)
+{
+ /* GCS reg of DMI */
+ pcr_or8(PID_DMI, PCR_DMI_GCS, PCR_DMI_GCS_BILD);
+}
+
static void platform_lockdown_config(void *unused)
{
/* LPC lock down configuration */
lpc_lockdown_config();
+ /* DMI lock down configuration */
+ dmi_lockdown_config();
+
/* PMC lock down configuration */
pmc_lockdown_config();
}