diff options
author | Simon Glass <sjg@chromium.org> | 2015-04-14 21:03:37 -0600 |
---|---|---|
committer | Tom Warren <twarren@nvidia.com> | 2015-05-13 09:24:10 -0700 |
commit | 00cf1167bb8f7c08825262ee83e77274ff034f0a (patch) | |
tree | 154757d0104c31f3aad7279d29dab862ec305e1e /include/edid.h | |
parent | 490f5fd2388f0f7f18e1df22ff318393f8483ea4 (diff) |
edid: Add a function to read detailed monitor timings
For digital displays (such as EDP LCDs) we would like to read the EDID
information and use that to set display timings. Provide a function to do
this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Diffstat (limited to 'include/edid.h')
-rw-r--r-- | include/edid.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/edid.h b/include/edid.h index 18ec1d5ab0..88b4b7d854 100644 --- a/include/edid.h +++ b/include/edid.h @@ -15,6 +15,9 @@ #include <linux/types.h> +/* Size of the EDID data */ +#define EDID_SIZE 128 + #define GET_BIT(_x, _pos) \ (((_x) >> (_pos)) & 1) #define GET_BITS(_x, _pos_msb, _pos_lsb) \ @@ -287,4 +290,20 @@ int edid_get_ranges(struct edid1_info *edid, unsigned int *hmin, unsigned int *hmax, unsigned int *vmin, unsigned int *vmax); +struct display_timing; + +/** + * edid_get_timing() - Get basic digital display parameters + * + * @param buf Buffer containing EDID data + * @param buf_size Size of buffer in bytes + * @param timing Place to put preferring timing information + * @param panel_bits_per_colourp Place to put the number of bits per + * colour supported by the panel. This will be set to + * -1 if not available + * @return 0 if timings are OK, -ve on error + */ +int edid_get_timing(u8 *buf, int buf_size, struct display_timing *timing, + int *panel_bits_per_colourp); + #endif /* __EDID_H_ */ |