aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/broadwell/minihd.c
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2016-11-16 23:37:43 -0600
committerNico Huber <nico.h@gmx.de>2016-12-07 23:54:14 +0100
commitf8960a6149578172d37c3223e5309da2d14f3da6 (patch)
tree116b81c6187090a269f5dd977164da8d3d3a0613 /src/soc/intel/broadwell/minihd.c
parent0b7c72c70c70c7d0dd73a86606ecd4661b184165 (diff)
soc/broadwell: set EM4/EM5 registers based on cdclk
The EM4/EM5 registers in the mini-HD audio device must be set based on the GPU cdclk value in order for HDMI audio to function properly. Add variables to save the correct values when initializing the GPU, and accessor functions to retrieve them in order to set the registers when initializing the mini-HD audio device. Change-Id: Icce7d5981f0b2ccb09d3861b28b843a260c8aeba Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/17718 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/soc/intel/broadwell/minihd.c')
-rw-r--r--src/soc/intel/broadwell/minihd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/soc/intel/broadwell/minihd.c b/src/soc/intel/broadwell/minihd.c
index 5014b08e7b..a9fc3d688b 100644
--- a/src/soc/intel/broadwell/minihd.c
+++ b/src/soc/intel/broadwell/minihd.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include <soc/intel/common/hda_verb.h>
#include <soc/ramstage.h>
+#include <soc/igd.h>
static const u32 minihd_verb_table[] = {
/* coreboot specific header */
@@ -101,6 +102,10 @@ static void minihd_init(struct device *dev)
minihd_verb_table);
}
}
+
+ /* Set EM4/EM5 registers */
+ write32(base + 0x0100c, igd_get_reg_em4());
+ write32(base + 0x01010, igd_get_reg_em5());
}
static struct device_operations minihd_ops = {