summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYakir Yang <ykk@rock-chips.com>2015-10-27 16:17:13 +0800
committerPatrick Georgi <pgeorgi@google.com>2015-11-10 14:09:51 +0100
commit85810cce503403cb67596717b4f4d1c2a180f214 (patch)
treedf7e4078eb1ae60c41ce20eb97a9138ae47e05cc /src
parentdc5b10bd9280024e504d9127fbf96264b4b17c24 (diff)
downloadcoreboot-85810cce503403cb67596717b4f4d1c2a180f214.tar.xz
edid: add hdmi_monitor_detected in data struct edid
HDMI driver need to know whether the monitor is DVI or HDMI interface, so this commit just introduce a new number 'hdmi_monitor_detected' to struct edid. There were four bits to indicate the monitor interfaces, it's better to take use of that. But those bits only existed in EDID 1.4 version, but didn't persented in the previous EDID version, so I decided to detect the hdmi cea block. BRANCH=none BUG=chrome-os-partner:43789 TEST=When mickey connect with HDMI monitor, see 'hdmi_monitor_detected' is 'true'. When mickey connect with DVI monitor, see 'hdmi_monitor_detected' is 'false'. Change-Id: I1a4f1410e1cce1474ffae858db161a18578cac3a Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 409f041805d9fdff2d49faa1a3a262cf4dc609c2 Original-Change-Id: Ife770898b0f2b4f58b8259711101a0cab4a5e4ac Original-Signed-off-by: Yakir Yang <ykk@rock-chips.com> Original-Reviewed-on: https://chromium-review.googlesource.com/309055 Original-Tested-by: David Hendricks <dhendrix@chromium.org> Original-Reviewed-by: David Hendricks <dhendrix@chromium.org> Reviewed-on: http://review.coreboot.org/12345 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r--src/include/edid.h2
-rw-r--r--src/lib/edid.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/include/edid.h b/src/include/edid.h
index 43e6883796..d3cab17f49 100644
--- a/src/include/edid.h
+++ b/src/include/edid.h
@@ -87,6 +87,8 @@ struct edid {
u32 x_resolution;
u32 y_resolution;
u32 bytes_per_line;
+
+ int hdmi_monitor_detected;
};
/* Defined in src/lib/edid.c */
diff --git a/src/lib/edid.c b/src/lib/edid.c
index d0056788a3..0f5643d3cc 100644
--- a/src/lib/edid.c
+++ b/src/lib/edid.c
@@ -657,6 +657,8 @@ cea_hdmi_block(struct edid *out, unsigned char *x)
{
int length = x[0] & 0x1f;
+ out->hdmi_monitor_detected = 1;
+
printk(BIOS_SPEW, " (HDMI)\n");
printk(BIOS_SPEW,
" Source physical address %d.%d.%d.%d\n",