diff --git a/src/soc/intel/broadwell/igd.c b/src/soc/intel/broadwell/igd.c
index ecb5417..77375e4 100644
--- a/src/soc/intel/broadwell/igd.c
+++ b/src/soc/intel/broadwell/igd.c
@@ -24,6 +24,7 @@
 #include <string.h>
 #include <reg_script.h>
 #include <cbmem.h>
+#include <drivers/intel/gma/i915.h>
 #include <drivers/intel/gma/i915_reg.h>
 #include <drivers/intel/gma/libgfxinit.h>
 #include <drivers/intel/gma/opregion.h>
@@ -258,7 +259,7 @@
 
 static struct resource *gtt_res = NULL;
 
-static unsigned long gtt_read(unsigned long reg)
+u32 gtt_read(u32 reg)
 {
 	u32 val;
 	val = read32(res2mmio(gtt_res, reg, 0));
@@ -266,7 +267,7 @@
 
 }
 
-static void gtt_write(unsigned long reg, unsigned long data)
+void gtt_write(u32 reg, u32 data)
 {
 	write32(res2mmio(gtt_res, reg, 0), data);
 }
@@ -279,9 +280,8 @@
 	gtt_write(reg, val);
 }
 
-static int gtt_poll(u32 reg, u32 mask, u32 value)
-{
-	unsigned int try = GT_RETRY;
+int gtt_poll(u32 reg, u32 mask, u32 value)
+{	unsigned int try = GT_RETRY;
 	u32 data;
 
 	while (try--) {
@@ -627,6 +627,13 @@
 	return current;
 }
 
+static void gma_generate_ssdt(struct device *dev)
+{
+	const struct soc_intel_broadwell_config *chip = dev->chip_info;
+
+	drivers_intel_gma_displays_ssdt_generate(&chip->gfx);
+}
+
 static struct device_operations igd_ops = {
 	.read_resources		= &pci_dev_read_resources,
 	.set_resources		= &pci_dev_set_resources,
@@ -634,6 +641,7 @@
 	.init			= &igd_init,
 	.ops_pci		= &broadwell_pci_ops,
 	.write_acpi_tables	= gma_write_acpi_tables,
+	.acpi_fill_ssdt		= gma_generate_ssdt,
 };
 
 static const unsigned short pci_device_ids[] = {
