summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRudolf Marek <r.marek@assembler.cz>2013-04-02 20:51:15 +0200
committerPatrick Georgi <patrick@georgi-clan.de>2013-08-15 20:34:38 +0200
commit1e1a1798faf9715ceb2bd34b619c3c21f03ce89a (patch)
treeb80e5402768d464e92abe4bcc3e7d5a178413529 /src
parent1ae7d475a82327b6a0f26f9ee34308a85c437b24 (diff)
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>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/asus/f2a85-m/BiosCallOuts.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/src/mainboard/asus/f2a85-m/BiosCallOuts.c b/src/mainboard/asus/f2a85-m/BiosCallOuts.c
index 4b1badf978..2bc005518e 100644
--- a/src/mainboard/asus/f2a85-m/BiosCallOuts.c
+++ b/src/mainboard/asus/f2a85-m/BiosCallOuts.c
@@ -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[] = {
- {0x11, 0x411111F0},
- {0x12, 0x411111F0},
- {0x13, 0x411111F0},
- {0x14, 0x411111F0},
- {0x15, 0x411111F0},
- {0x16, 0x411111F0},
- {0x17, 0x411111F0},
- {0x18, 0x01a19840},
- {0x19, 0x411111F0},
- {0x1a, 0x01813030},
- {0x1b, 0x411111F0},
- {0x1d, 0x40130605},
- {0x1e, 0x01441120},
- {0x21, 0x01211010},
+const CODEC_ENTRY f2a85_m_alc887_VerbTbl[] = {
+ {0x11, 0x99430140},
+ {0x12, 0x411111f0},
+ {0x14, 0x01014010},
+ {0x15, 0x01011012},
+ {0x16, 0x01016011},
+ {0x17, 0x01012014},
+ {0x18, 0x01a19850},
+ {0x19, 0x02a19c60},
+ {0x1a, 0x0181305f},
+ {0x1b, 0x02214c20},
+ {0x1c, 0x411111f0},
+ {0x1d, 0x4005e601},
+ {0x1e, 0x01456130},
+ {0x1f, 0x411111f0},
{0xff, 0xffffffff}
};
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}
};