struct edid;
 
+/* DisplayID Structure versions */
+#define DISPLAY_ID_STRUCTURE_VER_12            0x12
+#define DISPLAY_ID_STRUCTURE_VER_20            0x20
+
 /* DisplayID Structure v1r2 Data Blocks */
 #define DATA_BLOCK_PRODUCT_ID                  0x00
 #define DATA_BLOCK_DISPLAY_PARAMETERS          0x01
 #define DATA_BLOCK_VENDOR_SPECIFIC             0x7f
 #define DATA_BLOCK_CTA                         0x81
 
+/* DisplayID Structure v2r0 Data Blocks */
+#define DATA_BLOCK_2_PRODUCT_ID                        0x20
+#define DATA_BLOCK_2_DISPLAY_PARAMETERS                0x21
+#define DATA_BLOCK_2_TYPE_7_DETAILED_TIMING    0x22
+#define DATA_BLOCK_2_TYPE_8_ENUMERATED_TIMING  0x23
+#define DATA_BLOCK_2_TYPE_9_FORMULA_TIMING     0x24
+#define DATA_BLOCK_2_DYNAMIC_VIDEO_TIMING      0x25
+#define DATA_BLOCK_2_DISPLAY_INTERFACE_FEATURES        0x26
+#define DATA_BLOCK_2_STEREO_DISPLAY_INTERFACE  0x27
+#define DATA_BLOCK_2_TILED_DISPLAY_TOPOLOGY    0x28
+#define DATA_BLOCK_2_CONTAINER_ID              0x29
+#define DATA_BLOCK_2_VENDOR_SPECIFIC           0x7e
+#define DATA_BLOCK_2_CTA_DISPLAY_ID            0x81
+
 /* DisplayID Structure v1r2 Product Type */
 #define PRODUCT_TYPE_EXTENSION                 0
 #define PRODUCT_TYPE_TEST                      1
 #define PRODUCT_TYPE_REPEATER                  5
 #define PRODUCT_TYPE_DIRECT_DRIVE              6
 
+/* DisplayID Structure v2r0 Display Product Primary Use Case (~Product Type) */
+#define PRIMARY_USE_EXTENSION                  0
+#define PRIMARY_USE_TEST                       1
+#define PRIMARY_USE_GENERIC                    2
+#define PRIMARY_USE_TV                         3
+#define PRIMARY_USE_DESKTOP_PRODUCTIVITY       4
+#define PRIMARY_USE_DESKTOP_GAMING             5
+#define PRIMARY_USE_PRESENTATION               6
+#define PRIMARY_USE_HEAD_MOUNTED_VR            7
+#define PRIMARY_USE_HEAD_MOUNTED_AR            8
+
 struct displayid_header {
        u8 rev;
        u8 bytes;