summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Jones <marcj303@gmail.com>2011-12-14 11:24:00 -0700
committerStefan Reinauer <stefan.reinauer@coreboot.org>2011-12-21 01:06:16 +0100
commitf154c01802992dd98227c069937f63373ef35f42 (patch)
tree817d0ec1d5bc5a5455a2f7ecf1cbd7f6de66c846
parent6eefef9f2c546dd7c5db05878d01233fa95dd54b (diff)
downloadcoreboot-f154c01802992dd98227c069937f63373ef35f42.tar.xz
Persimmon audio codec verb patch.
Verb data is required for the HDA audio codec in the sb800 southbridge. Verb data is not required for mainboards that use G-Series HDMI. It is also a setting the may be boards specific. This fixes issues with Windows audio on Persimmon. Change-Id: I067506871e92078d122cf79872363d8937d47e50 Signed-off-by: Marc Jones <marcj303@gmail.com> Reviewed-on: http://review.coreboot.org/490 Tested-by: build bot (Jenkins) Reviewed-by: Kerry Sheh <shekairui@gmail.com> Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/mainboard/amd/persimmon/platform_cfg.h29
-rw-r--r--src/southbridge/amd/cimx/sb800/cfg.c5
2 files changed, 34 insertions, 0 deletions
diff --git a/src/mainboard/amd/persimmon/platform_cfg.h b/src/mainboard/amd/persimmon/platform_cfg.h
index 66aab8bf4b..97aa47e2e2 100644
--- a/src/mainboard/amd/persimmon/platform_cfg.h
+++ b/src/mainboard/amd/persimmon/platform_cfg.h
@@ -227,4 +227,33 @@
*/
#define GEC_CONFIG 0
+const static CODECENTRY persimmon_codec_alc269[] =
+{
+ /* NID, PinConfig */
+ {0x12, 0x411111F0},
+ {0x14, 0x99130110},
+ {0x21, 0x0121401F},
+ {0x17, 0x411111F0},
+ {0x18, 0x01A19820},
+ {0x19, 0x411111F0},
+ {0x1A, 0x0181302F},
+ {0x1B, 0x411111F0},
+ {0x1D, 0x40069E05},
+ {0x1E, 0x411111F0},
+ {0x20, 0x0001FFFF},
+ {0xff, 0xffffffff} /* end of table */
+};
+
+const static CODECTBLLIST persimmon_codec_tablelist[] =
+{
+ {0x010ec0269, (CODECENTRY*)&persimmon_codec_alc269[0]},
+ {0x0FFFFFFFFUL, (CODECENTRY*)0x0FFFFFFFFUL}
+};
+
+/**
+ * @def AZALIA_OEM_VERB_TABLE
+ * Mainboard specific cocec verb table list
+ */
+#define AZALIA_OEM_VERB_TABLE (&persimmon_codec_tablelist[0])
+
#endif
diff --git a/src/southbridge/amd/cimx/sb800/cfg.c b/src/southbridge/amd/cimx/sb800/cfg.c
index 2998fa2ff1..a9e35bcb81 100644
--- a/src/southbridge/amd/cimx/sb800/cfg.c
+++ b/src/southbridge/amd/cimx/sb800/cfg.c
@@ -91,7 +91,12 @@ void sb800_cimx_config(AMDSBCFG *sb_config)
sb_config->AzaliaController = AZALIA_CONTROLLER;
sb_config->AzaliaPinCfg = AZALIA_PIN_CONFIG;
sb_config->AZALIACONFIG.AzaliaSdinPin = AZALIA_SDIN_PIN;
+ /* Mainboard Specific Azalia Cocec Verb Table */
+#ifdef AZALIA_OEM_VERB_TABLE
+ sb_config->AZOEMTBL.pAzaliaOemCodecTablePtr = (CODECTBLLIST *)AZALIA_OEM_VERB_TABLE;
+#else
sb_config->AZOEMTBL.pAzaliaOemCodecTablePtr = NULL;
+#endif
/* LPC */
/* SuperIO hardware monitor register access */