From f154c01802992dd98227c069937f63373ef35f42 Mon Sep 17 00:00:00 2001 From: Marc Jones Date: Wed, 14 Dec 2011 11:24:00 -0700 Subject: 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 Reviewed-on: http://review.coreboot.org/490 Tested-by: build bot (Jenkins) Reviewed-by: Kerry Sheh Reviewed-by: Stefan Reinauer --- src/mainboard/amd/persimmon/platform_cfg.h | 29 +++++++++++++++++++++++++++++ src/southbridge/amd/cimx/sb800/cfg.c | 5 +++++ 2 files changed, 34 insertions(+) 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 */ -- cgit v1.2.3