[coreboot-gerrit] New patch to review for coreboot: 4ce1ef5 ASRock E350M1: Provide HD Audio verb table for Realtek ALC892
Paul Menzel (paulepanter@users.sourceforge.net)
gerrit at coreboot.org
Sat Mar 30 00:49:36 CET 2013
Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2984
-gerrit
commit 4ce1ef5b5cf64e7457e2dd86db4c1cbdea959f55
Author: Paul Menzel <paulepanter at users.sourceforge.net>
Date: Fri Mar 29 21:41:56 2013 +0100
ASRock E350M1: Provide HD Audio verb table for Realtek ALC892
Use the same HD Audio [1] verb table for the Realtek ALC892
audio chip [2] as the proprietary vendor BIOS version P1.60
sets up [2], which Linux exposes under its virtual filesystem sysfs.
/sys/class/sound/hwC1D0/init_pin_configs
The difference between the verb table between the vendor BIOS and
coreboot is shown in the following output [3]. (Beware of the ordering!)
$ wdiff vendorbios_vt coreboot_vt # init_pin_config
0x11 [-0x411111f0-] {+0x411110f0+}
0x12 0x411111f0
0x14 [-0x01014010-] {+0x01014030+}
0x15 [-0x01011012-] {+0x01011031+}
0x16 [-0x01016011-] {+0x01016032+}
0x17 [-0x411111f0-] {+0x01012033+}
0x18 [-0x01a19840-] {+0x01a19850+}
0x19 [-0x02a19950-] {+0x02a19c80+}
0x1a [-0x0181304f-] {+0x01813051+}
0x1b [-0x02214120-] {+0x02214c40+}
0x1c [-0x411111f0-] {+0x9933105f+}
0x1d [-0x4005e601-] {+0x00000100+}
0x1e [-0x01452130-] {+0x01441070+}
0x1f [-0x411111f0-] {+0x41c46060+}
Note, that currently no problems are know with the default verb
table used with coreboot. Sound over HDMI works fine and stereo
out too. More thorough tests would need to be performed to test
each connector for the front and back panel.
Additionally, I was not able to find out, where the values for
the default verb table under coreboot come from. Searching for
»6032« – a substring used in the default table – did not yield
any results in coreboot and the Linux kernel (ALSA).
Additionally the script `alsa-info.sh` [5] seems to be able to
decode the table. The differences of the section
HDA-Intel Codec information
are pasted to the comments of the Gerrit page, where this patch
is reviewed on.
[1] http://en.wikipedia.org/wiki/Intel_High_Definition_Audio
[2] http://www.realtek.com.tw/products/productsView.aspx?Langid=1&PNid=24&PFid=28&Level=5&Conn=4&ProdID=284
[3] http://www.coreboot.org/pipermail/coreboot/2013-March/075559.html
[4] http://mailman.alsa-project.org/pipermail/alsa-devel/2013-March/060717.html
[5] http://alsa-project.org/main/index.php/Help_To_Debug
Change-Id: I03cb1ffc86554ebf55c355f5363f490a3ca58260
Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
---
src/mainboard/asrock/e350m1/platform_cfg.h | 39 ++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/src/mainboard/asrock/e350m1/platform_cfg.h b/src/mainboard/asrock/e350m1/platform_cfg.h
index 24a66dd..a54e561 100644
--- a/src/mainboard/asrock/e350m1/platform_cfg.h
+++ b/src/mainboard/asrock/e350m1/platform_cfg.h
@@ -227,6 +227,45 @@
*/
#define GEC_CONFIG 0
+static const CODECENTRY e350m1_codec_alc892[] = /* Realtek ALC892 */
+{
+ /*
+ * The comments after each entry are taken from the block
+ * diagram (figure 1) in the ALC892 datasheet
+ * (Rev. 1.3, Track ID: JATR-2265-11) on page 5 which is available for download
+ * on the Realtek Web site.
+ */
+
+ /* NID, PinConfig (Verbs 71F..C) */
+ {0x11, 0x411111F0}, /* S/PDIF-OUT 2 */
+ {0x12, 0x411111F0}, /* DMIC-L/R */
+ {0x14, 0x01014010}, /* FRONT (Port-D) */
+ {0x15, 0x01011012}, /* SURR (Port-A) */
+ {0x16, 0x01016011}, /* CEN/LFE (Port-G) */
+ {0x17, 0x411111F0}, /* SIDESURR (Port-H) */
+ {0x18, 0x01A19840}, /* MIC1 (Port-B) */
+ {0x19, 0x02A19950}, /* MIC2 (Port-F) */
+ {0x1A, 0x0181304F}, /* LINE1 (Port-C) */
+ {0x1B, 0x02214120}, /* LINE2 (Port-E) */
+ {0x1C, 0x411111F0}, /* CD-IN */
+ {0x1D, 0x4005E601}, /* BEEP-IN */
+ {0x1E, 0x01452130}, /* S/PDIF-OUT */
+ {0x1F, 0x411111F0}, /* S/PDIF-IN */
+ {0xff, 0xffffffff} /* end of table */
+};
+
+static const CODECTBLLIST codec_tablelist[] =
+{
+ {0x10ec0892, (CODECENTRY*)&e350m1_codec_alc892[0]},
+ {0xFFFFFFFF, (CODECENTRY*)0xFFFFFFFFL}
+};
+
+/**
+ * @def AZALIA_OEM_VERB_TABLE
+ * Mainboard specific codec verb table list
+ */
+#define AZALIA_OEM_VERB_TABLE (&codec_tablelist[0])
+
/**
* @def SIO_HWM_BASE_ADDRESS Super IO HWM base address
*/
More information about the coreboot-gerrit
mailing list