]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/edid.h
mx6sabresd: Enable video interfaces in bootargs
[karo-tx-uboot.git] / include / edid.h
index d3cc5232dec8e87d18fab5f394d34d90f3267414..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.
  *
@@ -245,6 +264,15 @@ void edid_print_info(struct edid1_info *edid_info);
  */
 int edid_check_info(struct edid1_info *info);
 
+/**
+ * Check checksum of a 128 bytes EDID data block
+ *
+ * @param edid_block   EDID block data
+ *
+ * @return 0 on success, or a negative errno on error
+ */
+int edid_check_checksum(u8 *edid_block);
+
 /**
  * Get the horizontal and vertical rate ranges of the monitor.
  *