edid: Add struct and defines for cea681 extension blocks
authorHans de Goede <hdegoede@redhat.com>
Sat, 20 Dec 2014 13:30:27 +0000 (14:30 +0100)
committerHans de Goede <hdegoede@redhat.com>
Wed, 14 Jan 2015 13:56:38 +0000 (14:56 +0100)
Add a struct describing the (fixed) bits of cea681 edid extension blocks,
and defines for accessing various bitfields.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Anatolij Gustschin <agust@denx.de>
include/edid.h

index a69f43a20648381f79c3131acc018f9e477e1d84..18ec1d5ab0cfb38345905b681e760daba60df112 100644 (file)
@@ -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.
  *