edid: add function to convert edid to fb_videomode
PATCH 1/1 edid: add function to convert edid to fb_videomode
There may be some custom boards in the field which have an seperate eeprom chip to store edid informations in it. To make use of those edid information in the board code this patch add a function to convert edid to fb_videomode.
--- common/edid.c | 29 +++++++++++++++++++++++++++++ include/edid.h | 3 +++ 2 files changed, 32 insertions(+)
common/edid.c +29 -0
@@ -12,6 +12,7 @@#include <common.h> #include <edid.h> +#include <linux/fb.h> #include <linux/ctype.h> #include <linux/string.h>
@@ -288,3 +289,31 @@ void edid_print_info(struct edid1_info *edid_info)if (!have_timing)printf ("\tNone\n" ); } + +void edid_to_fb_videomode (struct edid1_info *edid,struct fb_videomode *mode) +{ +struct edid_monitor_descriptor *monitor = &edid->monitor_details.descriptor[0 ]; +unsigned char *bytes = (unsigned char *)monitor; +struct edid_detailed_timing *timing = (struct edid_detailed_timing *)monitor; + +uint32_t pixclock =EDID_DETAILED_TIMING_PIXEL_CLOCK (*timing); +uint32_t h_blanking =EDID_DETAILED_TIMING_HORIZONTAL_BLANKING (*timing); +uint32_t h_active =EDID_DETAILED_TIMING_HORIZONTAL_ACTIVE (*timing); +uint32_t h_sync_offset =EDID_DETAILED_TIMING_HSYNC_OFFSET (*timing); +uint32_t h_sync_width =EDID_DETAILED_TIMING_HSYNC_PULSE_WIDTH (*timing); +uint32_t v_blanking =EDID_DETAILED_TIMING_VERTICAL_BLANKING (*timing); +uint32_t v_active =EDID_DETAILED_TIMING_VERTICAL_ACTIVE (*timing); +uint32_t v_sync_offset =EDID_DETAILED_TIMING_VSYNC_OFFSET (*timing); +uint32_t v_sync_width =EDID_DETAILED_TIMING_VSYNC_PULSE_WIDTH (*timing); + + mode->name ="EDID" ; + mode->pixclock = pixclock; + mode->yres = v_active; + mode->xres = h_active; + mode->left_margin = h_blanking - h_sync_offset - h_sync_width; + mode->right_margin = h_sync_offset; + mode->upper_margin = v_blanking - v_sync_offset - v_sync_width; + mode->lower_margin = v_sync_offset; + mode->hsync_len = h_sync_width; + mode->vsync_len = v_sync_width; +}
include/edid.h +3 -0
@@ -233,6 +233,9 @@ struct edid1_info {*/ void edid_print_info (struct edid1_info *edid_info); +struct fb_videomode ; +void edid_to_fb_videomode (struct edid1_info *edid,struct fb_videomode *mode); +/** * Check the EDID info. *
Signature · 1 line
1.7.10.4
PATCH 1/1 edid: add function to convert edid to fb_videomode
Dear Christian Gmeiner,
Quoted 2 lines · In message <[email protected]> you wrote:
There may be some custom boards in the field which have an seperate eeprom chip to store edid informations in it.
Also some boards may pass EDIT information in the device tree.
Quoted 2 lines
To make use of those edid information in the board code this patch add a function to convert edid to
fb_videomode.
Allthough this function may be useful, there is no user for this new function in current mainline code, and we do not like adding dead code like this.
Please resubmit as part of a patch series that actually uses this code.
Thanks.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de You've no idea of what a poor opinion I have of myself, and how little I deserve it. - W. S. Gilbert
PATCH 1/1 edid: add function to convert edid to fb_videomode
2014/1/4 Wolfgang Denk <[email protected]>:
Quoted 8 lines
Dear Christian Gmeiner,
Quoted 2 lines · In message <[email protected]> you wrote:
There may be some custom boards in the field which have an seperate eeprom chip to store edid informations in it.
Also some boards may pass EDIT information in the device tree.
The linux imx-drm driver does needs a display-timing node.
Quoted 10 lines
Quoted 2 lines
To make use of those edid information in the board code this patch add a function to convert edid to
fb_videomode.Allthough this function may be useful, there is no user for this new function in current mainline code, and we do not like adding dead code like this.
Please resubmit as part of a patch series that actually uses this code.
It is really time to submit the whole board support code our imx6 based board series. I am preparing it and will send it out in the next days.
greets
--
Christian Gmeiner, MSc
PATCH 1/1 edid: add function to convert edid to fb_videomode
In reply to Christian GmeinerQuoted 2 lines · Christian Gmeiner
[ ... ]
Please check you system's clock, it appears to be off. Your message had this timestamp:
Date: Thu, 1 Jan 1970 11:01:19 +0000
Can't tell what git would make of it when applying the patch.
virtually yours
Gerhard Sittig
Signature · 3 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr. 5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de