defined corresponding structure and MACRO for detailed timing operation --- hw/xfree86/ddc/edid.h | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 0 deletions(-)
diff --git a/hw/xfree86/ddc/edid.h b/hw/xfree86/ddc/edid.h index 45caf6e..fde06d0 100644 --- a/hw/xfree86/ddc/edid.h +++ b/hw/xfree86/ddc/edid.h @@ -549,4 +549,77 @@ typedef struct { extern xf86MonPtr ConfiguredMonitor; +#define CEA_EXT 0x02 +#define VTB_EXT 0x10 +#define DI_EXT 0x40 +#define LS_EXT 0x50 +#define MI_EXT 0x60 + +#define CEA_EXT_MIN_DATA_OFFSET 4 +#define CEA_EXT_MAX_DATA_OFFSET 127 +#define CEA_EXT_DET_TIMING_NUM 6 + +#define EXT_TAG 0 +#define EXT_REV 1 + +struct cea_video_blk { + Uchar video_code; +}; + +struct cea_audio_blk { + Uchar descs[3]; +}; + +struct hdmi { + Uchar support_flags; + Uchar max_tmds_clock; + Uchar latency_present; + Uchar video_latency; + Uchar audio_latency; + Uchar interlaced_video_latency; + Uchar interlaced_audio_latency; +}; + +struct cea_vendor_blk { + unsigned char ieee_id[3]; + Uchar port_addr[2]; + struct hdmi hdmi; +}; + +struct cea_speaker_blk +{ + Uchar FLR:1; + Uchar LFE:1; + Uchar FC:1; + Uchar RLR:1; + Uchar RC:1; + Uchar FLRC:1; + Uchar RLRC:1; + Uchar FLRW:1; + Uchar FLRH:1; + Uchar TC:1; + Uchar FCH:1; + Uchar Resv:5; + Uchar ResvByte; +}; + +struct cea_data_blk { + Uchar len:5; + Uchar tag:3; +union{ + struct cea_video_blk video; + struct cea_audio_blk audio; + struct cea_vendor_blk vendor; + struct cea_speaker_blk speaker; + }u; +}; + +struct cea_ext_body { + Uchar tag; + Uchar rev; + Uchar dt_offset; + Uchar flags; + struct cea_data_blk data_collection; +}; + #endif /* _EDID_H_ */ -- 1.5.4.4 _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg