coreboot/src/mainboard
Duncan Laurie bfc28e109a 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.

BUG=chrome-os-partner:19993
BRANCH=none
TEST=manual: boot into linux and check for mini-hd

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>
2013-06-20 17:50:00 -07:00
..
a-trend x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
aaeon GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
abit x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
advansus x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
advantech x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
amd Rename hardwaremain() to main() 2013-05-10 11:55:20 -07:00
aopen x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
arima x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
artecgroup x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
asi x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
asrock Rename hardwaremain() to main() 2013-05-10 11:55:20 -07:00
asus Rename hardwaremain() to main() 2013-05-10 11:55:20 -07:00
avalue x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +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: reset MFGTP7 (backlight pwm) 2013-03-14 16:32:45 +01: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 x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
compaq x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
digitallogic x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +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-armv7: Drop additional console_init() 2013-06-20 13:54:35 -07:00
getac smi: Update mainboard_smi_gpi() to have 32bit argument 2013-04-30 13:47:43 -07:00
gigabyte Drop CONFIG_AP_CODE_IN_CAR 2013-05-10 11:55:19 -07:00
google HDA: Enable Mini-HDA and fix up PCH-HDA init 2013-06-20 17:50:00 -07:00
hp x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
ibase Unify and clean up remaining INT15 handlers 2013-04-25 18:13:05 -07:00
ibm x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
iei x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
intel slippy/falco/peppy: Fix SPD GPIO initialization. 2013-06-13 22:16:12 -07:00
iwave x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
iwill x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
jetway x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
kontron Unify and clean up remaining INT15 handlers 2013-04-25 18:13:05 -07:00
lanner x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
lenovo smi: Update mainboard_smi_gpi() to have 32bit argument 2013-04-30 13:47:43 -07:00
lippert Rename hardwaremain() to main() 2013-05-10 11:55:20 -07: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 Drop CONFIG_AP_CODE_IN_CAR 2013-05-10 11:55:19 -07: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 x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
nokia x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
nvidia Drop CONFIG_AP_CODE_IN_CAR 2013-05-10 11:55:19 -07:00
pcengines x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
rca x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
roda smi: Update mainboard_smi_gpi() to have 32bit argument 2013-04-30 13:47:43 -07:00
samsung smi: Update mainboard_smi_gpi() to have 32bit argument 2013-04-30 13:47:43 -07:00
siemens x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
soyo x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
sunw x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
supermicro Rename hardwaremain() to main() 2013-05-10 11:55:20 -07:00
technexion x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01: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-04-25 18:13:05 -07:00
traverse GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
tyan Rename hardwaremain() to main() 2013-05-10 11:55:20 -07:00
via x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
winent GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01: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 Add minimal mainboard support for snow 2012-12-12 06:01:26 +01:00