2 * Copyright 2003, Thomas Kurschel. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
8 //! Extended Display Identification Data (EDID)
31 input_type
: 1, // 1 : digital
32 input_voltage
: 2, // 0=0.7V/0.3V, 1=0.714V/0.286,
33 // 2=1V/0.4V, 3=0.7V/0V
34 setup
: 1, // true if voltage configurable
42 uint8 gamma
; // (x+100)/100
47 display_type
: 2, // 0=mono, 1=rgb, 2=multicolour
48 // since EDID version 1.1
50 preferred_timing_mode
: 1,
53 uint16 red_x
; // all colours are 0.10 fixed point
63 // standard timing data
72 // additional whitepoint
77 uint8 gamma
; // (x+100)/100
80 // detailed timing description
82 uint16 pixel_clock
; // in 10 kHz
97 stereo
: 2, // upper bit set - left on sync
98 // lower bit set - right on sync
102 } edid1_detailed_timing
;
104 // detailed monitor description
106 uint8 monitor_desc_type
;
108 char serial_number
[EDID1_EXTRA_STRING_LEN
];
109 char ascii_data
[EDID1_EXTRA_STRING_LEN
];
110 edid1_monitor_range monitor_range
;
111 char monitor_name
[EDID1_EXTRA_STRING_LEN
];
112 edid1_whitepoint whitepoint
[EDID1_NUM_EXTRA_WHITEPOINTS
];
113 edid1_std_timing std_timing
[EDID1_NUM_EXTRA_STD_TIMING
];
114 edid1_detailed_timing detailed_timing
;
116 } edid1_detailed_monitor
;
119 typedef struct edid1_info
{
121 edid1_version version
;
122 edid1_display display
;
123 edid1_established_timing established_timing
;
124 edid1_std_timing std_timing
[EDID1_NUM_STD_TIMING
];
126 // since EDID version 1.2
127 edid1_detailed_monitor detailed_monitor
[EDID1_NUM_DETAILED_MONITOR_DESC
];
132 #define EDID_VERSION_1 1
138 void edid_decode(edid1_info
*edid
, const edid1_raw
*raw
);
139 void edid_dump(edid1_info
*edid
);