rockchip/rk3288: hdmi: configure display output mode with EDID information

'edid->hdmi_monitor_detected' would indicate whether the monitor
interface is HDMI or DVI.

BRANCH=none
BUG=chrome-os-partner:43789
TEST=Previously, my LG monitor couldn't show dev screen. But now I can see
     dev screen have been posted normally.

Change-Id: Id71f051b2cd792712e52bee7a763db383c1962a8
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 88101589a22d06f0bc25e0750b2862cf66b55391
Original-Change-Id: I157861d327926b834e1e8606b0b676f413491c70
Original-Signed-off-by: Yakir Yang <ykk@rock-chips.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/309056
Original-Tested-by: David Hendricks <dhendrix@chromium.org>
Original-Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/12346
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Yakir Yang 2015-10-27 16:40:08 +08:00 committed by Patrick Georgi
parent 85810cce50
commit e78a1bedc5
1 changed files with 3 additions and 4 deletions

View File

@ -488,7 +488,6 @@ static int hdmi_phy_init(u32 mpixelclock)
static void hdmi_av_composer(const struct edid *edid) static void hdmi_av_composer(const struct edid *edid)
{ {
u8 mdataenablepolarity = 1; u8 mdataenablepolarity = 1;
u8 mdvi = 0;
u8 inv_val; u8 inv_val;
/* set up hdmi_fc_invidconf */ /* set up hdmi_fc_invidconf */
@ -506,9 +505,9 @@ static void hdmi_av_composer(const struct edid *edid)
HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_HIGH : HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_HIGH :
HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_LOW); HDMI_FC_INVIDCONF_DE_IN_POLARITY_ACTIVE_LOW);
inv_val |= (mdvi ? inv_val |= (edid->hdmi_monitor_detected ?
HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE : HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE :
HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE); HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE);
inv_val |= HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_LOW; inv_val |= HDMI_FC_INVIDCONF_R_V_BLANK_IN_OSC_ACTIVE_LOW;