summaryrefslogtreecommitdiff
path: root/src/northbridge/intel/haswell
diff options
context:
space:
mode:
authorVladimir Serbinenko <phcoder@gmail.com>2014-08-31 17:43:51 +0200
committerVladimir Serbinenko <phcoder@gmail.com>2014-09-22 20:06:13 +0200
commitc6e566a07b281c4bb11198c65236e18d1281dfdb (patch)
treedfa5f5934d2b78bc0e66212d665bc76d8a843350 /src/northbridge/intel/haswell
parent24d4f7f8defca9c68d4a96ba5cbedf5b01ca6e53 (diff)
haswell: Move to per-device ACPI
Change-Id: Ic724dcf516d9cb78e89698da603151a32d24e978 Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-on: http://review.coreboot.org/6814 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@google.com>
Diffstat (limited to 'src/northbridge/intel/haswell')
-rw-r--r--src/northbridge/intel/haswell/Kconfig1
-rw-r--r--src/northbridge/intel/haswell/acpi.c10
-rw-r--r--src/northbridge/intel/haswell/haswell.h2
-rw-r--r--src/northbridge/intel/haswell/northbridge.c1
4 files changed, 14 insertions, 0 deletions
diff --git a/src/northbridge/intel/haswell/Kconfig b/src/northbridge/intel/haswell/Kconfig
index 44ee71877d..cac5c46431 100644
--- a/src/northbridge/intel/haswell/Kconfig
+++ b/src/northbridge/intel/haswell/Kconfig
@@ -26,6 +26,7 @@ config NORTHBRIDGE_INTEL_HASWELL
select MMCONF_SUPPORT_DEFAULT
select INTEL_DDI
select INTEL_DP
+ select PER_DEVICE_ACPI_TABLES
if NORTHBRIDGE_INTEL_HASWELL
diff --git a/src/northbridge/intel/haswell/acpi.c b/src/northbridge/intel/haswell/acpi.c
index b2fab11e58..7862f024a7 100644
--- a/src/northbridge/intel/haswell/acpi.c
+++ b/src/northbridge/intel/haswell/acpi.c
@@ -30,6 +30,9 @@
#include <device/pci_ids.h>
#include <build.h>
#include "haswell.h"
+#include <cbmem.h>
+#include <arch/acpigen.h>
+#include <cpu/cpu.h>
unsigned long acpi_fill_mcfg(unsigned long current)
{
@@ -191,3 +194,10 @@ int init_igd_opregion(igd_opregion_t *opregion)
return 0;
}
+
+unsigned long northbridge_acpi_fill_ssdt_generator(unsigned long current,
+ const char *oem_table_id)
+{
+ generate_cpu_entries();
+ return (unsigned long) (acpigen_get_current());
+}
diff --git a/src/northbridge/intel/haswell/haswell.h b/src/northbridge/intel/haswell/haswell.h
index 55f6f284e4..0086dd0c0b 100644
--- a/src/northbridge/intel/haswell/haswell.h
+++ b/src/northbridge/intel/haswell/haswell.h
@@ -229,6 +229,8 @@ struct mrc_data_container *find_current_mrc_cache(void);
#if !defined(__PRE_RAM__)
#include "gma.h"
int init_igd_opregion(igd_opregion_t *igd_opregion);
+unsigned long northbridge_acpi_fill_ssdt_generator(unsigned long current,
+ const char *oem_table_id);
#endif
#endif
diff --git a/src/northbridge/intel/haswell/northbridge.c b/src/northbridge/intel/haswell/northbridge.c
index 010cc07104..eaac723238 100644
--- a/src/northbridge/intel/haswell/northbridge.c
+++ b/src/northbridge/intel/haswell/northbridge.c
@@ -463,6 +463,7 @@ static struct device_operations mc_ops = {
.enable_resources = pci_dev_enable_resources,
.init = northbridge_init,
.enable = northbridge_enable,
+ .acpi_fill_ssdt_generator = northbridge_acpi_fill_ssdt_generator,
.scan_bus = 0,
.ops_pci = &intel_pci_ops,
};