summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/northbridge/intel/sandybridge/early_dmi.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/northbridge/intel/sandybridge/early_dmi.c b/src/northbridge/intel/sandybridge/early_dmi.c
index bcf3e4ce4d..6f17cc1687 100644
--- a/src/northbridge/intel/sandybridge/early_dmi.c
+++ b/src/northbridge/intel/sandybridge/early_dmi.c
@@ -1,13 +1,21 @@
/* SPDX-License-Identifier: GPL-2.0-only */
+#include <arch/cpu.h>
#include <console/console.h>
+#include <cpu/intel/model_206ax/model_206ax.h>
#include <northbridge/intel/sandybridge/sandybridge.h>
#include <southbridge/intel/bd82x6x/pch.h>
-void early_init_dmi(void)
+static void dmi_recipe(void)
{
+ const u32 cpuid = cpu_get_cpuid();
+
int i;
+ /* The DMI recipe is only needed on Ivy Bridge */
+ if (!IS_IVY_CPU(cpuid))
+ return;
+
for (i = 0; i < 2; i++) {
DMIBAR32(0x0914 + (i << 5)) |= (1 << 31);
}
@@ -158,6 +166,11 @@ void early_init_dmi(void)
DMIBAR32(DMIL0SLAT); // !!! = 0x00c26460
DMIBAR32(DMIL0SLAT) = 0x00c2403c;
+}
+
+void early_init_dmi(void)
+{
+ dmi_recipe();
early_pch_init_native_dmi_pre();