summaryrefslogtreecommitdiffstats
path: root/src/mainboard/prodrive
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2021-02-08 13:35:59 +0100
committerPatrick Georgi <pgeorgi@google.com>2021-02-10 07:21:32 +0000
commit80594b79f99bcb72a02685bccd6bd063070470f6 (patch)
treeb6eac08e57b926c61ab304c2f88ea170c32871cd /src/mainboard/prodrive
parent082b36009c1c8c7233094b61ae2bd10d5e2589bc (diff)
downloadcoreboot-80594b79f99bcb72a02685bccd6bd063070470f6.tar.gz
coreboot-80594b79f99bcb72a02685bccd6bd063070470f6.tar.bz2
coreboot-80594b79f99bcb72a02685bccd6bd063070470f6.zip
mb/prodrive/hermes: Set Port C VREF as per EEPROM config
Configure Port C VREF according to the settings in the EEPROM. Change-Id: I5b4f0d91fc30c6b585434b9450544281f4411ff4 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/50396 Reviewed-by: Patrick Rudolph <siro@das-labor.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard/prodrive')
-rw-r--r--src/mainboard/prodrive/hermes/hda_verb.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mainboard/prodrive/hermes/hda_verb.c b/src/mainboard/prodrive/hermes/hda_verb.c
index 473a2869a9a2..be7dbb4ec608 100644
--- a/src/mainboard/prodrive/hermes/hda_verb.c
+++ b/src/mainboard/prodrive/hermes/hda_verb.c
@@ -172,6 +172,23 @@ const u32 pc_beep_verbs[0] = {};
AZALIA_ARRAY_SIZES;
+static u32 get_port_c_vref_cfg(uint8_t blue_rear_vref)
+{
+ switch (blue_rear_vref) {
+ default:
+ case 0:
+ return 0x02040000;
+ case 1:
+ return 0x02041000;
+ case 2:
+ return 0x02044000;
+ case 3:
+ return 0x02045000;
+ case 4:
+ return 0x02046000;
+ }
+}
+
static u32 get_internal_audio_cfg(uint8_t internal_audio_connection)
{
switch (internal_audio_connection) {
@@ -208,6 +225,8 @@ void mainboard_azalia_program_runtime_verbs(u8 *base, u32 viddid)
const u32 verbs[] = {
AZALIA_PIN_CFG(0, 0x1b, config),
+ 0x0205000d,
+ get_port_c_vref_cfg(board_cfg->blue_rear_vref),
};
azalia_program_verb_table(base, verbs, ARRAY_SIZE(verbs));