From d2fabdc71ccf0eee938cd77a0eabffb5debef42d Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sat, 20 Dec 2014 14:30:27 +0100 Subject: [PATCH] edid: Add struct and defines for cea681 extension blocks Add a struct describing the (fixed) bits of cea681 edid extension blocks, and defines for accessing various bitfields. Signed-off-by: Hans de Goede Acked-by: Anatolij Gustschin --- include/edid.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/include/edid.h b/include/edid.h index a69f43a206..18ec1d5ab0 100644 --- a/include/edid.h +++ b/include/edid.h @@ -230,6 +230,25 @@ struct edid1_info { unsigned char checksum; } __attribute__ ((__packed__)); +struct edid_cea861_info { + unsigned char extension_tag; +#define EDID_CEA861_EXTENSION_TAG 0x02 + unsigned char revision; + unsigned char dtd_offset; + unsigned char dtd_count; +#define EDID_CEA861_SUPPORTS_UNDERSCAN(_x) \ + GET_BIT(((_x).dtd_count), 7) +#define EDID_CEA861_SUPPORTS_BASIC_AUDIO(_x) \ + GET_BIT(((_x).dtd_count), 6) +#define EDID_CEA861_SUPPORTS_YUV444(_x) \ + GET_BIT(((_x).dtd_count), 5) +#define EDID_CEA861_SUPPORTS_YUV422(_x) \ + GET_BIT(((_x).dtd_count), 4) +#define EDID_CEA861_DTD_COUNT(_x) \ + GET_BITS(((_x).dtd_count), 3, 0) + unsigned char data[124]; +} __attribute__ ((__packed__)); + /** * Print the EDID info. * -- 2.39.5