aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/broadwell/hda.c
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2014-08-08 09:59:43 -0700
committerMarc Jones <marc.jones@se-eng.com>2015-03-27 05:39:35 +0100
commit446fb8e45ef2d555579e7659c1c0a91bb8ff3d78 (patch)
treec610b4353948d3826b1402a5bc6b1da3da35cff6 /src/soc/intel/broadwell/hda.c
parent3deaa058502d9cea14fd198c3280d85f1bd2f3a2 (diff)
broadwell: Misc updates from 2.1.0 ref code
- ADSP IRQ should be exclusive - HDA should write reg 0x43 even if disabled - A few clock gating tweaks based on ref code changes - Move SATA clock gating to sata.c where SIR changes are done - Add support for enabling Deep SX in AC/DC modes - CLKREQ VR Idle for enabled PCIE ports BUG=chrome-os-partner:28234 BRANCH=None TEST=build and boot on samus Original-Change-Id: Icece58e32b7a5d2b359debd5516a230cae3fd48c Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/211611 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> (cherry picked from commit c0e22ba043ed96bdddca4989b2f29d0e989f6fef) Signed-off-by: Marc Jones <marc.jones@se-eng.com> Change-Id: If5f5e1666aa9660e31305ee6369f2febf6757b99 Reviewed-on: http://review.coreboot.org/8952 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@google.com>
Diffstat (limited to 'src/soc/intel/broadwell/hda.c')
-rw-r--r--src/soc/intel/broadwell/hda.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/soc/intel/broadwell/hda.c b/src/soc/intel/broadwell/hda.c
index 76868059ec..ba648dbf8d 100644
--- a/src/soc/intel/broadwell/hda.c
+++ b/src/soc/intel/broadwell/hda.c
@@ -79,10 +79,6 @@ static void hda_pch_init(struct device *dev, u8 *base)
pci_write_config32(dev, 0x120, reg32);
}
- reg8 = pci_read_config8(dev, 0x43);
- reg8 &= ~(1 << 6);
- pci_write_config8(dev, 0x43, reg8);
-
/* Additional programming steps */
reg32 = pci_read_config32(dev, 0xc4);
reg32 |= (1 << 24);
@@ -138,12 +134,17 @@ static void hda_init(struct device *dev)
static void hda_enable(struct device *dev)
{
u32 reg32;
+ u8 reg8;
+
+ reg8 = pci_read_config8(dev, 0x43);
+ reg8 |= 0x6f;
+ pci_write_config8(dev, 0x43, reg8);
if (!dev->enabled) {
/* Route I/O buffers to ADSP function */
- reg32 = pci_read_config32(dev, 0x42);
- reg32 |= (1 << 7) | (1 << 6);
- pci_write_config32(dev, 0x42, reg32);
+ reg8 = pci_read_config8(dev, 0x42);
+ reg8 |= (1 << 7) | (1 << 6);
+ pci_write_config8(dev, 0x42, reg8);
printk(BIOS_INFO, "HDA disabled, I/O buffers routed to ADSP\n");