aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/broadwell/pch/hda.c7
-rw-r--r--src/southbridge/intel/lynxpoint/azalia.c7
2 files changed, 14 insertions, 0 deletions
diff --git a/src/soc/intel/broadwell/pch/hda.c b/src/soc/intel/broadwell/pch/hda.c
index c6ae590bc4..ba7d342fe5 100644
--- a/src/soc/intel/broadwell/pch/hda.c
+++ b/src/soc/intel/broadwell/pch/hda.c
@@ -129,12 +129,19 @@ static void hda_enable(struct device *dev)
}
}
+static void hda_final(struct device *dev)
+{
+ /* Set HDCFG.BCLD */
+ pci_or_config16(dev, 0x40, 1 << 1);
+}
+
static struct device_operations hda_ops = {
.read_resources = &pci_dev_read_resources,
.set_resources = &pci_dev_set_resources,
.enable_resources = &pci_dev_enable_resources,
.init = &hda_init,
.enable = &hda_enable,
+ .final = &hda_final,
.ops_pci = &pci_dev_ops_pci,
};
diff --git a/src/southbridge/intel/lynxpoint/azalia.c b/src/southbridge/intel/lynxpoint/azalia.c
index ad84b0093a..27ee9248a2 100644
--- a/src/southbridge/intel/lynxpoint/azalia.c
+++ b/src/southbridge/intel/lynxpoint/azalia.c
@@ -121,11 +121,18 @@ static void azalia_init(struct device *dev)
}
}
+static void azalia_final(struct device *dev)
+{
+ /* Set HDCFG.BCLD */
+ pci_or_config16(dev, 0x40, 1 << 1);
+}
+
static struct device_operations azalia_ops = {
.read_resources = pci_dev_read_resources,
.set_resources = pci_dev_set_resources,
.enable_resources = pci_dev_enable_resources,
.init = azalia_init,
+ .final = azalia_final,
.ops_pci = &pci_dev_ops_pci,
};