ASUS F2A85-M: Provide HD Audio verb table for Realtek ALC887-VD

Use the same HD Audio [1] verb table for the Realtek ALC887-VD
audio chip as the one set up by the proprietary vendor BIOS.
Linux’ ALSA exposes this pin configuration under the virtual
filesystem sysfs.

    /sys/class/sound/hwC1D0/init_pin_configs

The script `alsa-info.sh` [2][3] is able to decode the table.

Only one channel audio playback (rear connectors) is tested [4],
which worked already before.

[1] http://en.wikipedia.org/wiki/Intel_High_Definition_Audio
[2] http://mailman.alsa-project.org/pipermail/alsa-devel/2013-March/060717.html
[3] http://alsa-project.org/main/index.php/Help_To_Debug
[4] http://review.coreboot.org/#/c/3170/2//COMMIT_MSG

Change-Id: I17fa2d4ab1e1a6bfd84de94e9e4a91bd67b6a0c0
Signed-off-by: Rudolf Marek <r.marek@assembler.cz>
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: http://review.coreboot.org/3170
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martin.roth@se-eng.com>
This commit is contained in:
Rudolf Marek 2013-04-02 20:51:15 +02:00 committed by Patrick Georgi
parent 1ae7d475a8
commit 1e1a1798fa
1 changed files with 20 additions and 17 deletions

View File

@ -63,29 +63,32 @@ AGESA_STATUS GetBiosCallout (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
} }
/** /**
* AMD Thatcher Platform ALC272 Verb Table * ASUS F2A85-M board ALC887-VD Verb Table
*
* Copied from `/sys/class/sound/hwC1D0/init_pin_configs` when running
* the vendor BIOS.
*/ */
static const CODEC_ENTRY Thatcher_Alc272_VerbTbl[] = { const CODEC_ENTRY f2a85_m_alc887_VerbTbl[] = {
{0x11, 0x411111F0}, {0x11, 0x99430140},
{0x12, 0x411111F0}, {0x12, 0x411111f0},
{0x13, 0x411111F0}, {0x14, 0x01014010},
{0x14, 0x411111F0}, {0x15, 0x01011012},
{0x15, 0x411111F0}, {0x16, 0x01016011},
{0x16, 0x411111F0}, {0x17, 0x01012014},
{0x17, 0x411111F0}, {0x18, 0x01a19850},
{0x18, 0x01a19840}, {0x19, 0x02a19c60},
{0x19, 0x411111F0}, {0x1a, 0x0181305f},
{0x1a, 0x01813030}, {0x1b, 0x02214c20},
{0x1b, 0x411111F0}, {0x1c, 0x411111f0},
{0x1d, 0x40130605}, {0x1d, 0x4005e601},
{0x1e, 0x01441120}, {0x1e, 0x01456130},
{0x21, 0x01211010}, {0x1f, 0x411111f0},
{0xff, 0xffffffff} {0xff, 0xffffffff}
}; };
static const CODEC_TBL_LIST CodecTableList[] = static const CODEC_TBL_LIST CodecTableList[] =
{ {
{0x10ec0272, (CODEC_ENTRY*)&Thatcher_Alc272_VerbTbl[0]}, {0x10ec0887, (CODEC_ENTRY*)&f2a85_m_alc887_VerbTbl[0]},
{(UINT32)0x0FFFFFFFF, (CODEC_ENTRY*)0x0FFFFFFFFUL} {(UINT32)0x0FFFFFFFF, (CODEC_ENTRY*)0x0FFFFFFFFUL}
}; };