From 446fb8e45ef2d555579e7659c1c0a91bb8ff3d78 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Fri, 8 Aug 2014 09:59:43 -0700 Subject: 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 Original-Reviewed-on: https://chromium-review.googlesource.com/211611 Original-Reviewed-by: Aaron Durbin (cherry picked from commit c0e22ba043ed96bdddca4989b2f29d0e989f6fef) Signed-off-by: Marc Jones Change-Id: If5f5e1666aa9660e31305ee6369f2febf6757b99 Reviewed-on: http://review.coreboot.org/8952 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/soc/intel/broadwell/hda.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/soc/intel/broadwell/hda.c') 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"); -- cgit v1.2.3