From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/5] edid: add function to convert edid to fb_videomode
Date: Wed, 08 Jan 2014 11:40:51 +0100 [thread overview]
Message-ID: <52CD2B33.7040907@denx.de> (raw)
In-Reply-To: <1389165866-17509-1-git-send-email-christian.gmeiner@gmail.com>
CC to Anatolij as video custodian
On 08/01/2014 08:24, Christian Gmeiner wrote:
> 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.
>
> Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
> ---
> common/edid.c | 29 +++++++++++++++++++++++++++++
> include/edid.h | 3 +++
> 2 files changed, 32 insertions(+)
>
> diff --git a/common/edid.c b/common/edid.c
> index e66108f..8841c25 100644
> --- a/common/edid.c
> +++ b/common/edid.c
> @@ -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;
> +}
> diff --git a/include/edid.h b/include/edid.h
> index 480a773..4423062 100644
> --- a/include/edid.h
> +++ b/include/edid.h
> @@ -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.
> *
>
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
next prev parent reply other threads:[~2014-01-08 10:40 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-08 7:24 [U-Boot] [PATCH 1/5] edid: add function to convert edid to fb_videomode Christian Gmeiner
2014-01-08 7:24 ` [U-Boot] [PATCH 2/5] imx: mx6q_4x_mt41j128.cfg: enable ecspi3 clocks Christian Gmeiner
2014-01-08 10:44 ` Stefano Babic
2014-01-08 14:45 ` Christian Gmeiner
2014-01-09 7:07 ` Christian Gmeiner
2014-01-09 10:41 ` Stefano Babic
2014-01-08 7:24 ` [U-Boot] [PATCH 3/5] fdt: add fdt_add_display_timings(..) Christian Gmeiner
2014-01-08 10:53 ` Stefano Babic
2014-01-09 7:12 ` Christian Gmeiner
2014-01-09 10:44 ` Stefano Babic
2014-01-09 14:52 ` Eric Nelson
2014-01-09 15:06 ` Stefano Babic
2014-01-09 17:00 ` Stephen Warren
2014-01-09 17:19 ` Christian Gmeiner
2014-01-12 21:21 ` Anatolij Gustschin
2014-01-14 7:58 ` Christian Gmeiner
2014-01-16 11:44 ` Christian Gmeiner
2014-09-15 12:27 ` Christian Gmeiner
2014-01-08 7:24 ` [U-Boot] [PATCH 4/5] imx6: add ot1200 mr board Christian Gmeiner
2014-01-08 11:21 ` Stefano Babic
2014-01-08 14:53 ` Christian Gmeiner
2014-01-08 7:24 ` [U-Boot] [PATCH 5/5] imx6: make use of lldiv(..) Christian Gmeiner
2014-01-08 10:54 ` Stefano Babic
2014-01-08 14:46 ` Christian Gmeiner
2014-01-13 10:57 ` Stefano Babic
2014-01-08 10:40 ` Stefano Babic [this message]
2014-01-10 21:36 ` [U-Boot] [PATCH 1/5] edid: add function to convert edid to fb_videomode Eric Nelson
2014-01-14 0:36 ` Fabio Estevam
2014-01-14 2:55 ` Eric Nelson
2014-01-12 20:34 ` Anatolij Gustschin
2014-01-14 7:56 ` Christian Gmeiner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52CD2B33.7040907@denx.de \
--to=sbabic@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.