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>
+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])
+
sb_config->AzaliaController = AZALIA_CONTROLLER;
sb_config->AzaliaPinCfg = AZALIA_PIN_CONFIG;
sb_config->AZALIACONFIG.AzaliaSdinPin = AZALIA_SDIN_PIN;
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;
sb_config->AZOEMTBL.pAzaliaOemCodecTablePtr = NULL;
/* LPC */
/* SuperIO hardware monitor register access */
/* LPC */
/* SuperIO hardware monitor register access */