coreboot-kgpe-d16/src/mainboard
Duncan Laurie 0a7c49efa0 HDA: Enable Mini-HDA and fix up PCH-HDA init
The SystemAgent contains a mini-hd audio controller at PCI 0:3.0
which uses the same verb table init sequence as the southbridge.

In order to avoid two copies of the verb table loading code I
separated out the HDA verb table functions into a file that can
be re-used and then added a minihd driver to the haswell northbridge.

The minihd verb table is the same across devices so it can live
within the minihd driver rather than needing to be specified in
each separate mainboard.

I also fixed up the driver for lynxpoint HDA by following the
reference code.

Without HDMI cable plugged in driver does not find any codec,
and it does not seem to re-probe when HDMI is connected.  We may
be missing kernel patches for this.

hda-intel 0000:00:03.0: no codecs found!

With a basic kernel patch to add 0x0a0c device ID to HDA driver
and with HDMI cable connected it is much happier:

snd_hda_intel 0000:00:03.0: irq 60 for MSI/MSI-X
input: HDA Intel MID HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input9
snd_hda_intel 0000:00:1b.0: irq 61 for MSI/MSI-X
input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input10
input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input11

Change-Id: Ifa587984be4fc2801704a0368b9cdf8379c2450e
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/59336
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/4318
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
2013-12-12 22:11:46 +01:00
..
a-trend x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
aaeon AMD Northbridge LX: get rid of #include "northbridge/amd/lx/raminit.c" 2013-06-04 17:56:48 +02:00
abit x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
adlink FrontRunner/Toucan-AF: boards will be renamed to fit ADLINK scheme 2013-04-09 23:56:14 +02:00
advansus AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
advantech x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
amd AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
aopen usbdebug: Quirk for board aopen/dxplplusu 2013-06-12 05:22:46 +02:00
arima AMD: Drop empty root_complex 2013-06-24 17:22:44 +02:00
artecgroup AMD Northbridge LX: get rid of #include "northbridge/amd/lx/raminit.c" 2013-06-04 17:56:48 +02:00
asi x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
asrock Correct file permissions. 2013-12-07 00:39:09 +01:00
asus AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
avalue AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
axus x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
azza x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
bachmann OT200: bring LEDs into a defined state 2013-06-10 08:45:50 +02:00
bcom x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
bifferos x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
biostar x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
broadcom get_bus_conf.c: reindent with indent 2013-10-18 17:44:56 +02:00
compaq x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
digitallogic AMD Northbridge LX: get rid of #include "northbridge/amd/lx/raminit.c" 2013-06-04 17:56:48 +02:00
dmp dmp/vortex86ex: Move DMP specific POST code defines into one file 2013-11-24 05:36:36 +01:00
eaglelion x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
ecs GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
emulation qemu: fix GENERATE_ACPI_TABLES=n in fw_cfg.c 2013-12-06 12:37:01 +01:00
getac smi: Update mainboard_smi_gpi() to have 32bit argument 2013-11-24 07:40:22 +01:00
gigabyte AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
google HDA: Enable Mini-HDA and fix up PCH-HDA init 2013-12-12 22:11:46 +01:00
hp AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
ibase global: Fix usage of get_option() to make use of CB_CMOS_ codes 2013-12-02 22:11:20 +01:00
ibm AMD: Drop empty root_complex 2013-06-24 17:22:44 +02:00
iei AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
intel intel/cougar_canyon2: Intel CRB FSP based mainboard 2013-12-04 19:35:54 +01:00
iwave Move select MMCONF_SUPPORT under northbridge 2013-07-03 19:34:11 +02:00
iwill get_bus_conf.c: reindent with indent 2013-10-18 17:44:56 +02:00
jetway AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
kontron global: Fix usage of get_option() to make use of CB_CMOS_ codes 2013-12-02 22:11:20 +01:00
lanner x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
lenovo lenovo/x60: Drop global oprom_is_loaded 2013-12-04 20:14:03 +01:00
lippert AMD sb800 sb900: Fix corruption of a global ramstage variable 2013-09-11 07:05:25 +02:00
mitac GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
msi AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
nec GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
newisys AMD: Drop empty root_complex 2013-06-24 17:22:44 +02:00
nokia x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
nvidia Include boot_cpu.c for romstage builds 2013-08-15 20:49:03 +02:00
pcengines PC Engines ALIX.1C: Add CMOS defaults. 2013-06-04 21:31:57 +02:00
rca x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
roda Unify and clean up remaining INT15 handlers 2013-11-25 23:03:58 +01:00
samsung lumpy: Fix build without ChromeOS 2013-12-04 20:11:12 +01:00
siemens global: Fix usage of get_option() to make use of CB_CMOS_ codes 2013-12-02 22:11:20 +01:00
soyo x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
sunw get_bus_conf.c: reindent with indent 2013-10-18 17:44:56 +02:00
supermicro AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
technexion Correct spelling of shadow, setting and memory 2013-08-16 22:25:56 +02:00
technologic x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
televideo x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
thomson Unify and clean up remaining INT15 handlers 2013-11-25 23:03:58 +01:00
ti beaglebone: Stop reinitializing the console in bootblock.c. 2013-09-17 01:00:39 +02:00
traverse AMD Northbridge LX: get rid of #include "northbridge/amd/lx/raminit.c" 2013-06-04 17:56:48 +02:00
tyan AMD boards: Fix includes for microcode updates 2013-12-09 23:28:43 +01:00
via Revert "CBMEM: Always have early initialisation" 2013-10-14 17:16:22 +02:00
winent winent-mb6047: initial WIN Enterprises MB-60470 board port 2013-10-19 16:10:56 +02:00
wyse GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
Kconfig SMBIOS: Clarify prompts and help texts for Serial and Version Numbers 2013-07-18 10:23:18 +02:00