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)
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 */