diff options
author | Marc Jones <marcj303@gmail.com> | 2011-12-14 11:24:00 -0700 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2011-12-21 01:06:16 +0100 |
commit | f154c01802992dd98227c069937f63373ef35f42 (patch) | |
tree | 817d0ec1d5bc5a5455a2f7ecf1cbd7f6de66c846 | |
parent | 6eefef9f2c546dd7c5db05878d01233fa95dd54b (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.h | 29 | ||||
-rw-r--r-- | src/southbridge/amd/cimx/sb800/cfg.c | 5 |
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 */ |