summaryrefslogtreecommitdiff
path: root/src/mainboard/intel/kblrvp/hda_verb.c
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2018-01-09 09:53:53 -0800
committerDuncan Laurie <dlaurie@chromium.org>2018-01-12 16:55:39 +0000
commita4b253a4b423c8eb85b47015a129d086415dece9 (patch)
tree839a7f75a689a0dc169f2007e73897b2a949d7a0 /src/mainboard/intel/kblrvp/hda_verb.c
parent93142a452e4c0cb35ea04394ded171b1cf58ff72 (diff)
downloadcoreboot-a4b253a4b423c8eb85b47015a129d086415dece9.tar.xz
mb/intel/kblrvp: Use common HDA code
Instead of duplicating code in each mainboard that supports HDA use the common driver and provide the HDA verb table. This was compile tested for both variants with "abuild -t intel/kblrvp" Change-Id: Ie3bab7aabcfa040935062b7764853df8fb19b04d Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://review.coreboot.org/23188 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/mainboard/intel/kblrvp/hda_verb.c')
-rw-r--r--src/mainboard/intel/kblrvp/hda_verb.c66
1 files changed, 0 insertions, 66 deletions
diff --git a/src/mainboard/intel/kblrvp/hda_verb.c b/src/mainboard/intel/kblrvp/hda_verb.c
index ba9cc46693..b219987163 100644
--- a/src/mainboard/intel/kblrvp/hda_verb.c
+++ b/src/mainboard/intel/kblrvp/hda_verb.c
@@ -14,70 +14,4 @@
* GNU General Public License for more details.
*/
-#include <bootstate.h>
-#include <chip.h>
-#include <console/console.h>
-#include <device/azalia_device.h>
-#include <soc/intel/common/hda_verb.h>
-#include <soc/pci_devs.h>
-
#include "variant/hda_verb.h"
-
-static void codecs_init(u8 *base, u32 codec_mask)
-{
- int i;
-
- /* Can support up to 4 codecs */
- for (i = 3; i >= 0; i--) {
- if (codec_mask & (1 << i))
- hda_codec_init(base, i, cim_verb_data_size,
- cim_verb_data);
- }
-
- if (pc_beep_verbs_size)
- hda_codec_write(base, pc_beep_verbs_size, pc_beep_verbs);
-}
-
-static void mb_hda_codec_init(void *unused)
-{
- static struct soc_intel_skylake_config *config;
- u8 *base;
- struct resource *res;
- u32 codec_mask;
- struct device *dev;
-
- dev = SA_DEV_ROOT;
- /* Check if HDA is enabled, else return */
- if (dev == NULL || dev->chip_info == NULL)
- return;
-
- config = dev->chip_info;
-
- /*
- * IoBufferOwnership 0:HD-A Link, 1:Shared HD-A Link and I2S Port,
- * 3:I2S Ports. In HDA mode where codec need to be programmed with
- * verb table
- */
- if (config->IoBufferOwnership == 3)
- return;
-
- /* Find base address */
- dev = dev_find_slot(0, PCH_DEVFN_HDA);
- if (dev == NULL || dev->enabled == 0)
- return;
- res = find_resource(dev, PCI_BASE_ADDRESS_0);
- if (!res)
- return;
-
- base = res2mmio(res, 0, 0);
- printk(BIOS_DEBUG, "HDA: base = %p\n", base);
-
- codec_mask = hda_codec_detect(base);
-
- if (codec_mask) {
- printk(BIOS_DEBUG, "HDA: codec_mask = %02x\n", codec_mask);
- codecs_init(base, codec_mask);
- }
-}
-
-BOOT_STATE_INIT_ENTRY(BS_POST_DEVICE, BS_ON_EXIT, mb_hda_codec_init, NULL);