LibXenon
Bare-metal Xbox 360 homebrew library
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Functions | Variables
xenos_edid.h File Reference
#include <xetypes.h>
Include dependency graph for xenos_edid.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  est_timings
 
struct  std_timing
 
struct  detailed_pixel_timing
 
struct  detailed_data_string
 
struct  detailed_data_monitor_range
 
struct  detailed_data_wpindex
 
struct  detailed_data_color_point
 
struct  cvt_timing
 
struct  detailed_non_pixel
 
struct  detailed_timing
 
struct  edid
 

Macros

#define EDID_LENGTH   128
 
#define DDC_ADDR   0x50
 
#define EDID_TIMING_ASPECT_SHIFT   6
 
#define EDID_TIMING_ASPECT_MASK   (0x3 << EDID_TIMING_ASPECT_SHIFT)
 
#define EDID_TIMING_VFREQ_SHIFT   0
 
#define EDID_TIMING_VFREQ_MASK   (0x3f << EDID_TIMING_VFREQ_SHIFT)
 
#define DRM_EDID_PT_HSYNC_POSITIVE   (1 << 1)
 
#define DRM_EDID_PT_VSYNC_POSITIVE   (1 << 2)
 
#define DRM_EDID_PT_SEPARATE_SYNC   (3 << 3)
 
#define DRM_EDID_PT_STEREO   (1 << 5)
 
#define DRM_EDID_PT_INTERLACED   (1 << 7)
 
#define EDID_DETAIL_EST_TIMINGS   0xf7
 
#define EDID_DETAIL_CVT_3BYTE   0xf8
 
#define EDID_DETAIL_COLOR_MGMT_DATA   0xf9
 
#define EDID_DETAIL_STD_MODES   0xfa
 
#define EDID_DETAIL_MONITOR_CPDATA   0xfb
 
#define EDID_DETAIL_MONITOR_NAME   0xfc
 
#define EDID_DETAIL_MONITOR_RANGE   0xfd
 
#define EDID_DETAIL_MONITOR_STRING   0xfe
 
#define EDID_DETAIL_MONITOR_SERIAL   0xff
 
#define DRM_EDID_INPUT_SERRATION_VSYNC   (1 << 0)
 
#define DRM_EDID_INPUT_SYNC_ON_GREEN   (1 << 1)
 
#define DRM_EDID_INPUT_COMPOSITE_SYNC   (1 << 2)
 
#define DRM_EDID_INPUT_SEPARATE_SYNCS   (1 << 3)
 
#define DRM_EDID_INPUT_BLANK_TO_BLACK   (1 << 4)
 
#define DRM_EDID_INPUT_VIDEO_LEVEL   (3 << 5)
 
#define DRM_EDID_INPUT_DIGITAL   (1 << 7) /* bits below must be zero if set */
 
#define DRM_EDID_FEATURE_DEFAULT_GTF   (1 << 0)
 
#define DRM_EDID_FEATURE_PREFERRED_TIMING   (1 << 1)
 
#define DRM_EDID_FEATURE_STANDARD_COLOR   (1 << 2)
 
#define DRM_EDID_FEATURE_DISPLAY_TYPE   (3 << 3) /* 00=mono, 01=rgb, 10=non-rgb, 11=unknown */
 
#define DRM_EDID_FEATURE_PM_ACTIVE_OFF   (1 << 5)
 
#define DRM_EDID_FEATURE_PM_SUSPEND   (1 << 6)
 
#define DRM_EDID_FEATURE_PM_STANDBY   (1 << 7)
 
#define EDID_PRODUCT_ID(e)   ((e)->prod_code[0] | ((e)->prod_code[1] << 8))
 

Typedefs

typedef unsigned short __le16
 

Functions

struct est_timings __attribute__ ((packed))
 
struct edidxenos_get_edid ()
 
BOOL xenos_detect_hdmi_monitor (struct edid *edid)
 

Variables

u8 t1
 
u8 t2
 
u8 mfg_rsvd
 
u8 hsize
 
u8 vfreq_aspect
 
u8 hactive_lo
 
u8 hblank_lo
 
u8 hactive_hblank_hi
 
u8 vactive_lo
 
u8 vblank_lo
 
u8 vactive_vblank_hi
 
u8 hsync_offset_lo
 
u8 hsync_pulse_width_lo
 
u8 vsync_offset_pulse_width_lo
 
u8 hsync_vsync_offset_pulse_width_hi
 
u8 width_mm_lo
 
u8 height_mm_lo
 
u8 width_height_mm_hi
 
u8 hborder
 
u8 vborder
 
u8 misc
 
u8 str [13]
 
u8 min_vfreq
 
u8 max_vfreq
 
u8 min_hfreq_khz
 
u8 max_hfreq_khz
 
u8 pixel_clock_mhz
 
__le16 sec_gtf_toggle
 
u8 hfreq_start_khz
 
u8 c
 
__le16 m
 
u8 k
 
u8 j
 
u8 white_yx_lo
 
u8 white_x_hi
 
u8 white_y_hi
 
u8 gamma
 
u8 windex1
 
u8 wpindex1 [3]
 
u8 windex2
 
u8 wpindex2 [3]
 
u8 code [3]
 
u8 pad1
 
u8 type
 
u8 pad2
 
union {
   struct detailed_data_string   str
 
   struct detailed_data_monitor_range   range
 
   struct detailed_data_wpindex   color
 
   struct std_timing   timings [5]
 
   struct cvt_timing   cvt [4]
 
data
 
__le16 pixel_clock
 
u8 header [8]
 
u8 mfg_id [2]
 
u8 prod_code [2]
 
u32 serial
 
u8 mfg_week
 
u8 mfg_year
 
u8 version
 
u8 revision
 
u8 input
 
u8 width_cm
 
u8 height_cm
 
u8 features
 
u8 red_green_lo
 
u8 black_white_lo
 
u8 red_x
 
u8 red_y
 
u8 green_x
 
u8 green_y
 
u8 blue_x
 
u8 blue_y
 
u8 white_x
 
u8 white_y
 
struct est_timings established_timings
 
struct std_timing standard_timings [8]
 
struct detailed_timing detailed_timings [4]
 
u8 extensions
 
u8 checksum
 

Macro Definition Documentation

◆ DDC_ADDR

#define DDC_ADDR   0x50

Definition at line 34 of file xenos_edid.h.

◆ DRM_EDID_FEATURE_DEFAULT_GTF

#define DRM_EDID_FEATURE_DEFAULT_GTF   (1 << 0)

Definition at line 159 of file xenos_edid.h.

◆ DRM_EDID_FEATURE_DISPLAY_TYPE

#define DRM_EDID_FEATURE_DISPLAY_TYPE   (3 << 3) /* 00=mono, 01=rgb, 10=non-rgb, 11=unknown */

Definition at line 162 of file xenos_edid.h.

◆ DRM_EDID_FEATURE_PM_ACTIVE_OFF

#define DRM_EDID_FEATURE_PM_ACTIVE_OFF   (1 << 5)

Definition at line 163 of file xenos_edid.h.

◆ DRM_EDID_FEATURE_PM_STANDBY

#define DRM_EDID_FEATURE_PM_STANDBY   (1 << 7)

Definition at line 165 of file xenos_edid.h.

◆ DRM_EDID_FEATURE_PM_SUSPEND

#define DRM_EDID_FEATURE_PM_SUSPEND   (1 << 6)

Definition at line 164 of file xenos_edid.h.

◆ DRM_EDID_FEATURE_PREFERRED_TIMING

#define DRM_EDID_FEATURE_PREFERRED_TIMING   (1 << 1)

Definition at line 160 of file xenos_edid.h.

◆ DRM_EDID_FEATURE_STANDARD_COLOR

#define DRM_EDID_FEATURE_STANDARD_COLOR   (1 << 2)

Definition at line 161 of file xenos_edid.h.

◆ DRM_EDID_INPUT_BLANK_TO_BLACK

#define DRM_EDID_INPUT_BLANK_TO_BLACK   (1 << 4)

Definition at line 155 of file xenos_edid.h.

◆ DRM_EDID_INPUT_COMPOSITE_SYNC

#define DRM_EDID_INPUT_COMPOSITE_SYNC   (1 << 2)

Definition at line 153 of file xenos_edid.h.

◆ DRM_EDID_INPUT_DIGITAL

#define DRM_EDID_INPUT_DIGITAL   (1 << 7) /* bits below must be zero if set */

Definition at line 157 of file xenos_edid.h.

◆ DRM_EDID_INPUT_SEPARATE_SYNCS

#define DRM_EDID_INPUT_SEPARATE_SYNCS   (1 << 3)

Definition at line 154 of file xenos_edid.h.

◆ DRM_EDID_INPUT_SERRATION_VSYNC

#define DRM_EDID_INPUT_SERRATION_VSYNC   (1 << 0)

Definition at line 151 of file xenos_edid.h.

◆ DRM_EDID_INPUT_SYNC_ON_GREEN

#define DRM_EDID_INPUT_SYNC_ON_GREEN   (1 << 1)

Definition at line 152 of file xenos_edid.h.

◆ DRM_EDID_INPUT_VIDEO_LEVEL

#define DRM_EDID_INPUT_VIDEO_LEVEL   (3 << 5)

Definition at line 156 of file xenos_edid.h.

◆ DRM_EDID_PT_HSYNC_POSITIVE

#define DRM_EDID_PT_HSYNC_POSITIVE   (1 << 1)

Definition at line 55 of file xenos_edid.h.

◆ DRM_EDID_PT_INTERLACED

#define DRM_EDID_PT_INTERLACED   (1 << 7)

Definition at line 59 of file xenos_edid.h.

◆ DRM_EDID_PT_SEPARATE_SYNC

#define DRM_EDID_PT_SEPARATE_SYNC   (3 << 3)

Definition at line 57 of file xenos_edid.h.

◆ DRM_EDID_PT_STEREO

#define DRM_EDID_PT_STEREO   (1 << 5)

Definition at line 58 of file xenos_edid.h.

◆ DRM_EDID_PT_VSYNC_POSITIVE

#define DRM_EDID_PT_VSYNC_POSITIVE   (1 << 2)

Definition at line 56 of file xenos_edid.h.

◆ EDID_DETAIL_COLOR_MGMT_DATA

#define EDID_DETAIL_COLOR_MGMT_DATA   0xf9

Definition at line 135 of file xenos_edid.h.

◆ EDID_DETAIL_CVT_3BYTE

#define EDID_DETAIL_CVT_3BYTE   0xf8

Definition at line 134 of file xenos_edid.h.

◆ EDID_DETAIL_EST_TIMINGS

#define EDID_DETAIL_EST_TIMINGS   0xf7

Definition at line 133 of file xenos_edid.h.

◆ EDID_DETAIL_MONITOR_CPDATA

#define EDID_DETAIL_MONITOR_CPDATA   0xfb

Definition at line 137 of file xenos_edid.h.

◆ EDID_DETAIL_MONITOR_NAME

#define EDID_DETAIL_MONITOR_NAME   0xfc

Definition at line 138 of file xenos_edid.h.

◆ EDID_DETAIL_MONITOR_RANGE

#define EDID_DETAIL_MONITOR_RANGE   0xfd

Definition at line 139 of file xenos_edid.h.

◆ EDID_DETAIL_MONITOR_SERIAL

#define EDID_DETAIL_MONITOR_SERIAL   0xff

Definition at line 141 of file xenos_edid.h.

◆ EDID_DETAIL_MONITOR_STRING

#define EDID_DETAIL_MONITOR_STRING   0xfe

Definition at line 140 of file xenos_edid.h.

◆ EDID_DETAIL_STD_MODES

#define EDID_DETAIL_STD_MODES   0xfa

Definition at line 136 of file xenos_edid.h.

◆ EDID_LENGTH

#define EDID_LENGTH   128

Definition at line 33 of file xenos_edid.h.

◆ EDID_PRODUCT_ID

#define EDID_PRODUCT_ID (   e)    ((e)->prod_code[0] | ((e)->prod_code[1] << 8))

Definition at line 207 of file xenos_edid.h.

◆ EDID_TIMING_ASPECT_MASK

#define EDID_TIMING_ASPECT_MASK   (0x3 << EDID_TIMING_ASPECT_SHIFT)

Definition at line 44 of file xenos_edid.h.

◆ EDID_TIMING_ASPECT_SHIFT

#define EDID_TIMING_ASPECT_SHIFT   6

Definition at line 43 of file xenos_edid.h.

◆ EDID_TIMING_VFREQ_MASK

#define EDID_TIMING_VFREQ_MASK   (0x3f << EDID_TIMING_VFREQ_SHIFT)

Definition at line 48 of file xenos_edid.h.

◆ EDID_TIMING_VFREQ_SHIFT

#define EDID_TIMING_VFREQ_SHIFT   0

Definition at line 47 of file xenos_edid.h.

Typedef Documentation

◆ __le16

typedef unsigned short __le16

Definition at line 31 of file xenos_edid.h.

Function Documentation

◆ __attribute__()

struct est_timings __attribute__ ( (packed)  )

◆ xenos_detect_hdmi_monitor()

BOOL xenos_detect_hdmi_monitor ( struct edid edid)

drm_detect_hdmi_monitor - detect whether monitor is hdmi. @edid: monitor EDID information

Parse the CEA extension according to CEA-861-B. Return true if HDMI, false if not or unknown.

Definition at line 264 of file xenos_edid.c.

◆ xenos_get_edid()

struct edid * xenos_get_edid ( )

drm_get_edid - get EDID data, if available @connector: connector we're probing @adapter: i2c adapter to use for DDC

Poke the given connector's i2c channel to grab EDID data if possible.

Return edid data or NULL if we couldn't find any.

Definition at line 209 of file xenos_edid.c.

Variable Documentation

◆ black_white_lo

u8 black_white_lo

Definition at line 18 of file xenos_edid.h.

◆ blue_x

u8 blue_x

Definition at line 23 of file xenos_edid.h.

◆ blue_y

u8 blue_y

Definition at line 24 of file xenos_edid.h.

◆ c

u8 c

Definition at line 7 of file xenos_edid.h.

◆ checksum

u8 checksum

Definition at line 36 of file xenos_edid.h.

◆ code

u8 code[3]

Definition at line 0 of file xenos_edid.h.

◆ color

struct detailed_data_wpindex color

Definition at line 8 of file xenos_edid.h.

◆ cvt

struct cvt_timing cvt[4]

Definition at line 10 of file xenos_edid.h.

◆ 

union { ... } data

◆ detailed_timings

struct detailed_timing detailed_timings[4]

Definition at line 32 of file xenos_edid.h.

◆ established_timings

struct est_timings established_timings

Definition at line 28 of file xenos_edid.h.

◆ extensions

u8 extensions

Definition at line 34 of file xenos_edid.h.

◆ features

u8 features

Definition at line 15 of file xenos_edid.h.

◆ gamma

u8 gamma

Definition at line 3 of file xenos_edid.h.

◆ green_x

u8 green_x

Definition at line 21 of file xenos_edid.h.

◆ green_y

u8 green_y

Definition at line 22 of file xenos_edid.h.

◆ hactive_hblank_hi

u8 hactive_hblank_hi

Definition at line 2 of file xenos_edid.h.

◆ hactive_lo

u8 hactive_lo

Definition at line 0 of file xenos_edid.h.

◆ hblank_lo

u8 hblank_lo

Definition at line 1 of file xenos_edid.h.

◆ hborder

u8 hborder

Definition at line 13 of file xenos_edid.h.

◆ header

u8 header[8]

Definition at line 0 of file xenos_edid.h.

◆ height_cm

u8 height_cm

Definition at line 13 of file xenos_edid.h.

◆ height_mm_lo

u8 height_mm_lo

Definition at line 11 of file xenos_edid.h.

◆ hfreq_start_khz

u8 hfreq_start_khz

Definition at line 6 of file xenos_edid.h.

◆ hsize

u8 hsize

Definition at line 0 of file xenos_edid.h.

◆ hsync_offset_lo

u8 hsync_offset_lo

Definition at line 6 of file xenos_edid.h.

◆ hsync_pulse_width_lo

u8 hsync_pulse_width_lo

Definition at line 7 of file xenos_edid.h.

◆ hsync_vsync_offset_pulse_width_hi

u8 hsync_vsync_offset_pulse_width_hi

Definition at line 9 of file xenos_edid.h.

◆ input

u8 input

Definition at line 11 of file xenos_edid.h.

◆ j

u8 j

Definition at line 10 of file xenos_edid.h.

◆ k

u8 k

Definition at line 9 of file xenos_edid.h.

◆ m

__le16 m

Definition at line 8 of file xenos_edid.h.

◆ max_hfreq_khz

u8 max_hfreq_khz

Definition at line 3 of file xenos_edid.h.

◆ max_vfreq

u8 max_vfreq

Definition at line 1 of file xenos_edid.h.

◆ mfg_id

u8 mfg_id[2]

Definition at line 2 of file xenos_edid.h.

◆ mfg_rsvd

u8 mfg_rsvd

Definition at line 2 of file xenos_edid.h.

◆ mfg_week

u8 mfg_week

Definition at line 5 of file xenos_edid.h.

◆ mfg_year

u8 mfg_year

Definition at line 6 of file xenos_edid.h.

◆ min_hfreq_khz

u8 min_hfreq_khz

Definition at line 2 of file xenos_edid.h.

◆ min_vfreq

u8 min_vfreq

Definition at line 0 of file xenos_edid.h.

◆ misc

u8 misc

Definition at line 15 of file xenos_edid.h.

◆ other_data

struct detailed_non_pixel other_data

Definition at line 3 of file xenos_edid.h.

◆ pad1

u8 pad1

Definition at line 0 of file xenos_edid.h.

◆ pad2

u8 pad2

Definition at line 4 of file xenos_edid.h.

◆ pixel_clock

__le16 pixel_clock

Definition at line 0 of file xenos_edid.h.

◆ pixel_clock_mhz

u8 pixel_clock_mhz

Definition at line 4 of file xenos_edid.h.

◆ pixel_data

struct detailed_pixel_timing pixel_data

Definition at line 2 of file xenos_edid.h.

◆ prod_code

u8 prod_code[2]

Definition at line 3 of file xenos_edid.h.

◆ range

Definition at line 7 of file xenos_edid.h.

◆ red_green_lo

u8 red_green_lo

Definition at line 17 of file xenos_edid.h.

◆ red_x

u8 red_x

Definition at line 19 of file xenos_edid.h.

◆ red_y

u8 red_y

Definition at line 20 of file xenos_edid.h.

◆ revision

u8 revision

Definition at line 9 of file xenos_edid.h.

◆ sec_gtf_toggle

__le16 sec_gtf_toggle

Definition at line 5 of file xenos_edid.h.

◆ serial

u32 serial

Definition at line 4 of file xenos_edid.h.

◆ standard_timings

struct std_timing standard_timings[8]

Definition at line 30 of file xenos_edid.h.

◆ str

Definition at line 0 of file xenos_edid.h.

◆ t1

u8 t1

Definition at line 0 of file xenos_edid.h.

◆ t2

u8 t2

Definition at line 1 of file xenos_edid.h.

◆ timings

struct std_timing timings[5]

Definition at line 9 of file xenos_edid.h.

◆ type

u8 type

Definition at line 1 of file xenos_edid.h.

◆ vactive_lo

u8 vactive_lo

Definition at line 3 of file xenos_edid.h.

◆ vactive_vblank_hi

u8 vactive_vblank_hi

Definition at line 5 of file xenos_edid.h.

◆ vblank_lo

u8 vblank_lo

Definition at line 4 of file xenos_edid.h.

◆ vborder

u8 vborder

Definition at line 14 of file xenos_edid.h.

◆ version

u8 version

Definition at line 8 of file xenos_edid.h.

◆ vfreq_aspect

u8 vfreq_aspect

Definition at line 1 of file xenos_edid.h.

◆ vsync_offset_pulse_width_lo

u8 vsync_offset_pulse_width_lo

Definition at line 8 of file xenos_edid.h.

◆ white_x

u8 white_x

Definition at line 25 of file xenos_edid.h.

◆ white_x_hi

u8 white_x_hi

Definition at line 1 of file xenos_edid.h.

◆ white_y

u8 white_y

Definition at line 26 of file xenos_edid.h.

◆ white_y_hi

u8 white_y_hi

Definition at line 2 of file xenos_edid.h.

◆ white_yx_lo

u8 white_yx_lo

Definition at line 0 of file xenos_edid.h.

◆ width_cm

u8 width_cm

Definition at line 12 of file xenos_edid.h.

◆ width_height_mm_hi

u8 width_height_mm_hi

Definition at line 12 of file xenos_edid.h.

◆ width_mm_lo

u8 width_mm_lo

Definition at line 10 of file xenos_edid.h.

◆ windex1

u8 windex1

Definition at line 0 of file xenos_edid.h.

◆ windex2

u8 windex2

Definition at line 2 of file xenos_edid.h.

◆ wpindex1

u8 wpindex1[3]

Definition at line 1 of file xenos_edid.h.

◆ wpindex2

u8 wpindex2[3]

Definition at line 3 of file xenos_edid.h.