summaryrefslogtreecommitdiff
path: root/src/northbridge/intel
diff options
context:
space:
mode:
Diffstat (limited to 'src/northbridge/intel')
-rw-r--r--src/northbridge/intel/gm45/chip.h1
-rw-r--r--src/northbridge/intel/gm45/northbridge.c8
-rw-r--r--src/northbridge/intel/i945/northbridge.c6
-rw-r--r--src/northbridge/intel/x4x/northbridge.c6
4 files changed, 21 insertions, 0 deletions
diff --git a/src/northbridge/intel/gm45/chip.h b/src/northbridge/intel/gm45/chip.h
index 0d09bb40ef..76ceccac6e 100644
--- a/src/northbridge/intel/gm45/chip.h
+++ b/src/northbridge/intel/gm45/chip.h
@@ -19,6 +19,7 @@ struct northbridge_intel_gm45_config {
* Maximum PCI mmio size in MiB.
*/
u16 pci_mmio_size;
+ int slfm;
};
#endif /* NORTHBRIDGE_INTEL_GM45_CHIP_H */
diff --git a/src/northbridge/intel/gm45/northbridge.c b/src/northbridge/intel/gm45/northbridge.c
index 31e3de46dc..c6fa0e065c 100644
--- a/src/northbridge/intel/gm45/northbridge.c
+++ b/src/northbridge/intel/gm45/northbridge.c
@@ -7,6 +7,7 @@
#include <commonlib/helpers.h>
#include <console/console.h>
#include <cpu/cpu.h>
+#include <cpu/intel/speedstep.h>
#include <cpu/intel/smm_reloc.h>
#include <device/device.h>
#include <device/pci_def.h>
@@ -257,3 +258,10 @@ struct chip_operations northbridge_intel_gm45_ops = {
CHIP_NAME("Intel GM45 Northbridge")
.init = gm45_init,
};
+
+bool northbridge_support_slfm(void)
+{
+ struct device *gmch = __pci_0_00_0;
+ struct northbridge_intel_gm45_config *config = gmch->chip_info;
+ return config->slfm == 1;
+}
diff --git a/src/northbridge/intel/i945/northbridge.c b/src/northbridge/intel/i945/northbridge.c
index c175576d3a..00276562d8 100644
--- a/src/northbridge/intel/i945/northbridge.c
+++ b/src/northbridge/intel/i945/northbridge.c
@@ -10,6 +10,7 @@
#include <device/pci_ids.h>
#include <acpi/acpi.h>
#include <cpu/intel/smm_reloc.h>
+#include <cpu/intel/speedstep.h>
#include "i945.h"
static void mch_domain_read_resources(struct device *dev)
@@ -164,3 +165,8 @@ struct device_operations i945_cpu_bus_ops = {
struct chip_operations northbridge_intel_i945_ops = {
CHIP_NAME("Intel i945 Northbridge")
};
+
+bool northbridge_support_slfm(void)
+{
+ return false;
+}
diff --git a/src/northbridge/intel/x4x/northbridge.c b/src/northbridge/intel/x4x/northbridge.c
index da046d1697..cfa57ada49 100644
--- a/src/northbridge/intel/x4x/northbridge.c
+++ b/src/northbridge/intel/x4x/northbridge.c
@@ -12,6 +12,7 @@
#include <northbridge/intel/x4x/chip.h>
#include <northbridge/intel/x4x/x4x.h>
#include <cpu/intel/smm_reloc.h>
+#include <cpu/intel/speedstep.h>
static void mch_domain_read_resources(struct device *dev)
{
@@ -194,3 +195,8 @@ struct chip_operations northbridge_intel_x4x_ops = {
CHIP_NAME("Intel 4-Series Northbridge")
.init = x4x_init,
};
+
+bool northbridge_support_slfm(void)
+{
+ return false;
+}