Home | History | Annotate | Line # | Download | only in videomode
edidreg.h revision 1.2.102.1
      1  1.2.102.1   jruoho /*	$NetBSD: edidreg.h,v 1.2.102.1 2011/06/06 09:08:45 jruoho Exp $	*/
      2        1.1  gdamore 
      3        1.1  gdamore /*-
      4        1.1  gdamore  * Copyright (c) 2006 Itronix Inc.
      5        1.1  gdamore  * All rights reserved.
      6        1.1  gdamore  *
      7        1.1  gdamore  * Written by Garrett D'Amore for Itronix Inc.
      8        1.1  gdamore  *
      9        1.1  gdamore  * Redistribution and use in source and binary forms, with or without
     10        1.1  gdamore  * modification, are permitted provided that the following conditions
     11        1.1  gdamore  * are met:
     12        1.1  gdamore  * 1. Redistributions of source code must retain the above copyright
     13        1.1  gdamore  *    notice, this list of conditions and the following disclaimer.
     14        1.1  gdamore  * 2. Redistributions in binary form must reproduce the above copyright
     15        1.1  gdamore  *    notice, this list of conditions and the following disclaimer in the
     16        1.1  gdamore  *    documentation and/or other materials provided with the distribution.
     17        1.1  gdamore  * 3. The name of Itronix Inc. may not be used to endorse
     18        1.1  gdamore  *    or promote products derived from this software without specific
     19        1.1  gdamore  *    prior written permission.
     20        1.1  gdamore  *
     21        1.1  gdamore  * THIS SOFTWARE IS PROVIDED BY ITRONIX INC. ``AS IS'' AND ANY EXPRESS
     22        1.1  gdamore  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     23        1.1  gdamore  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24        1.1  gdamore  * ARE DISCLAIMED.  IN NO EVENT SHALL ITRONIX INC. BE LIABLE FOR ANY
     25        1.1  gdamore  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     26        1.1  gdamore  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     27        1.1  gdamore  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28        1.1  gdamore  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     29        1.1  gdamore  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     30        1.1  gdamore  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     31        1.1  gdamore  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     32        1.1  gdamore  */
     33        1.1  gdamore 
     34        1.1  gdamore #ifndef _DEV_VIDEOMODE_EDIDREG_H
     35        1.1  gdamore #define _DEV_VIDEOMODE_EDIDREG_H
     36        1.1  gdamore 
     37        1.1  gdamore #define	EDID_OFFSET_SIGNATURE		0x00
     38        1.1  gdamore #define	EDID_OFFSET_MANUFACTURER_ID	0x08
     39        1.1  gdamore #define	EDID_OFFSET_PRODUCT_ID		0x0a
     40        1.1  gdamore #define	EDID_OFFSET_SERIAL_NUMBER	0x0c
     41        1.1  gdamore #define	EDID_OFFSET_MANUFACTURE_WEEK	0x10
     42        1.1  gdamore #define	EDID_OFFSET_MANUFACTURE_YEAR	0x11
     43        1.1  gdamore #define	EDID_OFFSET_VERSION		0x12
     44        1.1  gdamore #define	EDID_OFFSET_REVISION		0x13
     45        1.1  gdamore #define	EDID_OFFSET_VIDEO_INPUT		0x14
     46        1.1  gdamore #define	EDID_OFFSET_MAX_HSIZE		0x15	/* in cm */
     47        1.1  gdamore #define	EDID_OFFSET_MAX_VSIZE		0x16
     48        1.1  gdamore #define	EDID_OFFSET_GAMMA		0x17
     49        1.1  gdamore #define	EDID_OFFSET_FEATURE		0x18
     50        1.1  gdamore #define	EDID_OFFSET_CHROMA		0x19
     51        1.1  gdamore #define	EDID_OFFSET_EST_TIMING_1	0x23
     52        1.1  gdamore #define	EDID_OFFSET_EST_TIMING_2	0x24
     53        1.1  gdamore #define EDID_OFFSET_MFG_TIMING		0x25
     54        1.1  gdamore #define	EDID_OFFSET_STD_TIMING		0x26
     55        1.1  gdamore #define	EDID_OFFSET_DESC_BLOCK		0x36
     56        1.1  gdamore 
     57        1.1  gdamore #define	EDID_SIGNATURE		{ 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0 }
     58        1.1  gdamore 
     59        1.1  gdamore /* assume x is 16-bit value */
     60        1.1  gdamore #define	EDID_VENDOR_ID(ptr)		((((ptr)[8]) << 8) + ptr[9])
     61        1.1  gdamore #define	EDID_MANFID_0(x)		((((x) >> 10) & 0x1f) + '@')
     62        1.1  gdamore #define	EDID_MANFID_1(x)		((((x) >> 5) & 0x1f) + '@')
     63        1.1  gdamore #define	EDID_MANFID_2(x)		((((x) >> 0) & 0x1f) + '@')
     64        1.1  gdamore 
     65        1.1  gdamore /* relative to edid block */
     66        1.1  gdamore #define	EDID_PRODUCT_ID(ptr)		(((ptr)[10]) | (((ptr)[11]) << 8))
     67        1.1  gdamore #define	EDID_SERIAL_NUMBER(ptr)		(((ptr)[12] << 24) + \
     68        1.1  gdamore 					((ptr)[13] << 16) + \
     69        1.1  gdamore 					((ptr)[14] << 8) + \
     70        1.1  gdamore 					(ptr)[15])
     71        1.1  gdamore 
     72        1.1  gdamore /* relative to edid block */
     73        1.1  gdamore #define	EDID_WEEK(ptr)			((ptr)[16])
     74        1.1  gdamore #define	EDID_YEAR(ptr)			(((ptr)[17]) + 1990)
     75        1.1  gdamore 
     76        1.1  gdamore #define	EDID_VERSION(ptr)		((ptr)[18])
     77        1.1  gdamore #define	EDID_REVISION(ptr)		((ptr)[19])
     78        1.1  gdamore 
     79        1.1  gdamore #define	EDID_VIDEO_INPUT(ptr)		((ptr)[20])
     80        1.1  gdamore #define	EDID_VIDEO_INPUT_DIGITAL	0x80
     81        1.1  gdamore /* if INPUT_BIT_DIGITAL set */
     82        1.1  gdamore #define	EDID_VIDEO_INPUT_DFP1_COMPAT	0x01
     83        1.1  gdamore /* if INPUT_BIT_DIGITAL not set */
     84        1.1  gdamore #define	EDID_VIDEO_INPUT_BLANK_TO_BLACK	0x10
     85        1.1  gdamore #define	EDID_VIDEO_INPUT_SEPARATE_SYNCS	0x08
     86        1.1  gdamore #define	EDID_VIDEO_INPUT_COMPOSITE_SYNC	0x04
     87        1.1  gdamore #define	EDID_VIDEO_INPUT_SYNC_ON_GRN	0x02
     88        1.1  gdamore #define	EDID_VIDEO_INPUT_SERRATION	0x01
     89        1.1  gdamore #define	EDID_VIDEO_INPUT_LEVEL(x)	(((x) & 0x60) >> 5)
     90        1.1  gdamore /* meanings of level bits are as follows, I don't know names */
     91        1.1  gdamore /* 0 = 0.7,0.3,  1 = 0.714,0.286, 2 = 1.0,0.4, 3 = 0.7,0.0 */
     92        1.1  gdamore 
     93        1.1  gdamore /* relative to edid block */
     94        1.1  gdamore #define	EDID_MAX_HSIZE(ptr)		((ptr)[21])	/* cm */
     95        1.1  gdamore #define	EDID_MAX_VSIZE(ptr)		((ptr)[22])	/* cm */
     96        1.1  gdamore /* gamma is scaled by 100 (avoid fp), e.g. 213 == 2.13 */
     97        1.1  gdamore #define	_GAMMA(x)			((x) == 0xff ? 100 : ((x) + 100))
     98        1.1  gdamore #define	EDID_GAMMA(ptr)			_GAMMA(ptr[23])
     99        1.1  gdamore 
    100        1.1  gdamore #define	EDID_FEATURES(ptr)		((ptr)[24])
    101        1.1  gdamore #define	EDID_FEATURES_STANDBY			0x80
    102        1.1  gdamore #define	EDID_FEATURES_SUSPEND			0x40
    103        1.1  gdamore #define	EDID_FEATURES_ACTIVE_OFF		0x20
    104        1.1  gdamore #define	EDID_FEATURES_DISP_TYPE(x)		(((x) & 0x18) >> 3)
    105        1.1  gdamore #define	EDID_FEATURES_DISP_TYPE_MONO		0
    106        1.1  gdamore #define	EDID_FEATURES_DISP_TYPE_RGB		1
    107        1.1  gdamore #define	EDID_FEATURES_DISP_TYPE_NON_RGB		2
    108        1.1  gdamore #define	EDID_FEATURES_DISP_TYPE_UNDEFINED	3
    109        1.1  gdamore #define	EDID_FEATURES_STD_COLOR			0x04
    110        1.1  gdamore #define	EDID_FEATURES_PREFERRED_TIMING		0x02
    111        1.1  gdamore #define	EDID_FEATURES_DEFAULT_GTF		0x01
    112        1.1  gdamore 
    113        1.1  gdamore /* chroma values 0.0 - 0.999 scaled as 0-999 */
    114        1.1  gdamore #define	_CHLO(byt, shft)	(((byt) >> (shft)) & 0x3)
    115        1.1  gdamore #define	_CHHI(byt)		((byt) << 2)
    116        1.1  gdamore #define	_CHHILO(ptr, l, s, h)	(_CHLO((ptr)[l], s) | _CHHI((ptr)[h]))
    117        1.1  gdamore #define	_CHROMA(ptr, l, s, h)	((_CHHILO(ptr, l, s, h) * 1000) / 1024)
    118        1.1  gdamore 
    119        1.1  gdamore #define	EDID_CHROMA_REDX(ptr)	(_CHROMA(ptr, 25, 6, 27))
    120        1.1  gdamore #define	EDID_CHROMA_REDY(ptr)	(_CHROMA(ptr, 25, 4, 28))
    121        1.1  gdamore #define	EDID_CHROMA_GREENX(ptr)	(_CHROMA(ptr, 25, 2, 29))
    122        1.1  gdamore #define	EDID_CHROMA_GREENY(ptr)	(_CHROMA(ptr, 25, 0, 30))
    123        1.1  gdamore #define	EDID_CHROMA_BLUEX(ptr)	(_CHROMA(ptr, 26, 6, 31))
    124        1.1  gdamore #define	EDID_CHROMA_BLUEY(ptr)	(_CHROMA(ptr, 26, 4, 32))
    125        1.1  gdamore #define	EDID_CHROMA_WHITEX(ptr)	(_CHROMA(ptr, 26, 2, 33))
    126        1.1  gdamore #define	EDID_CHROMA_WHITEY(ptr)	(_CHROMA(ptr, 26, 0, 34))
    127        1.1  gdamore 
    128        1.1  gdamore /* relative to edid block */
    129        1.2  gdamore #define	EDID_EST_TIMING(ptr)		(((ptr)[35] << 8) | (ptr)[36])
    130        1.1  gdamore #define	EDID_EST_TIMING_720_400_70	0x8000	/* 720x400 @ 70Hz */
    131        1.1  gdamore #define	EDID_EST_TIMING_720_400_88	0x4000	/* 720x400 @ 88Hz */
    132        1.1  gdamore #define	EDID_EST_TIMING_640_480_60	0x2000	/* 640x480 @ 60Hz */
    133        1.1  gdamore #define	EDID_EST_TIMING_640_480_67	0x1000	/* 640x480 @ 67Hz */
    134        1.1  gdamore #define	EDID_EST_TIMING_640_480_72	0x0800	/* 640x480 @ 72Hz */
    135        1.1  gdamore #define	EDID_EST_TIMING_640_480_75	0x0400	/* 640x480 @ 75Hz */
    136        1.1  gdamore #define	EDID_EST_TIMING_800_600_56	0x0200	/* 800x600 @ 56Hz */
    137        1.1  gdamore #define	EDID_EST_TIMING_800_600_60	0x0100	/* 800x600 @ 60Hz */
    138        1.1  gdamore #define	EDID_EST_TIMING_800_600_72	0x0080	/* 800x600 @ 72Hz */
    139        1.1  gdamore #define	EDID_EST_TIMING_800_600_75	0x0040	/* 800x600 @ 75Hz */
    140        1.1  gdamore #define	EDID_EST_TIMING_832_624_75	0x0020	/* 832x624 @ 75Hz */
    141        1.1  gdamore #define	EDID_EST_TIMING_1024_768_87I	0x0010	/* 1024x768i @ 87Hz */
    142        1.1  gdamore #define	EDID_EST_TIMING_1024_768_60	0x0008	/* 1024x768 @ 60Hz */
    143        1.1  gdamore #define	EDID_EST_TIMING_1024_768_70	0x0004	/* 1024x768 @ 70Hz */
    144        1.1  gdamore #define	EDID_EST_TIMING_1024_768_75	0x0002	/* 1024x768 @ 75Hz */
    145        1.1  gdamore #define	EDID_EST_TIMING_1280_1024_75	0x0001	/* 1280x1024 @ 75Hz */
    146        1.1  gdamore 
    147        1.1  gdamore /*
    148        1.1  gdamore  * N.B.: ptr is relative to standard timing block - used for standard timing
    149        1.1  gdamore  * descriptors as well as standard timings section of edid!
    150        1.1  gdamore  */
    151        1.1  gdamore #define	EDID_STD_TIMING_HRES(ptr)	((((ptr)[0]) * 8) + 248)
    152        1.1  gdamore #define	EDID_STD_TIMING_VFREQ(ptr)	((((ptr)[1]) & 0x3f) + 60)
    153        1.1  gdamore #define	EDID_STD_TIMING_RATIO(ptr)	((ptr)[1] & 0xc0)
    154        1.1  gdamore #define	EDID_STD_TIMING_RATIO_16_10	0x00
    155        1.1  gdamore #define	EDID_STD_TIMING_RATIO_4_3	0x40
    156        1.1  gdamore #define	EDID_STD_TIMING_RATIO_5_4	0x80
    157        1.1  gdamore #define	EDID_STD_TIMING_RATIO_16_9	0xc0
    158        1.1  gdamore 
    159        1.1  gdamore #define	EDID_STD_TIMING_SIZE		16
    160        1.1  gdamore #define	EDID_STD_TIMING_COUNT		8
    161        1.1  gdamore 
    162        1.1  gdamore /*
    163        1.1  gdamore  * N.B.: ptr is relative to descriptor block start
    164        1.1  gdamore  */
    165        1.1  gdamore #define	EDID_BLOCK_SIZE			18
    166        1.1  gdamore #define	EDID_BLOCK_COUNT		4
    167        1.1  gdamore 
    168        1.1  gdamore /* detailed timing block.... what a mess */
    169        1.1  gdamore #define	EDID_BLOCK_IS_DET_TIMING(ptr)		((ptr)[0] | (ptr)[1])
    170        1.1  gdamore 
    171        1.1  gdamore #define	EDID_DET_TIMING_DOT_CLOCK(ptr)	(((ptr)[0] | ((ptr)[1] << 8)) * 10000)
    172        1.1  gdamore #define	_HACT_LO(ptr)			((ptr)[2])
    173        1.1  gdamore #define	_HBLK_LO(ptr)			((ptr)[3])
    174        1.1  gdamore #define	_HACT_HI(ptr)			(((ptr)[4] & 0xf0) << 4)
    175        1.1  gdamore #define	_HBLK_HI(ptr)			(((ptr)[4] & 0x0f) << 8)
    176        1.1  gdamore #define	EDID_DET_TIMING_HACTIVE(ptr)		(_HACT_LO(ptr) | _HACT_HI(ptr))
    177        1.1  gdamore #define	EDID_DET_TIMING_HBLANK(ptr)		(_HBLK_LO(ptr) | _HBLK_HI(ptr))
    178        1.1  gdamore #define	_VACT_LO(ptr)			((ptr)[5])
    179        1.1  gdamore #define	_VBLK_LO(ptr)			((ptr)[6])
    180        1.1  gdamore #define	_VACT_HI(ptr)			(((ptr)[7] & 0xf0) << 4)
    181        1.1  gdamore #define	_VBLK_HI(ptr)			(((ptr)[7] & 0x0f) << 8)
    182        1.1  gdamore #define	EDID_DET_TIMING_VACTIVE(ptr)		(_VACT_LO(ptr) | _VACT_HI(ptr))
    183        1.1  gdamore #define	EDID_DET_TIMING_VBLANK(ptr)		(_VBLK_LO(ptr) | _VBLK_HI(ptr))
    184        1.1  gdamore #define	_HOFF_LO(ptr)			((ptr)[8])
    185        1.1  gdamore #define	_HWID_LO(ptr)			((ptr)[9])
    186        1.1  gdamore #define	_VOFF_LO(ptr)			((ptr)[10] >> 4)
    187        1.1  gdamore #define	_VWID_LO(ptr)			((ptr)[10] & 0xf)
    188        1.1  gdamore #define	_HOFF_HI(ptr)			(((ptr)[11] & 0xc0) << 2)
    189        1.1  gdamore #define	_HWID_HI(ptr)			(((ptr)[11] & 0x30) << 4)
    190        1.1  gdamore #define	_VOFF_HI(ptr)			(((ptr)[11] & 0x0c) << 2)
    191        1.1  gdamore #define	_VWID_HI(ptr)			(((ptr)[11] & 0x03) << 4)
    192        1.1  gdamore #define	EDID_DET_TIMING_HSYNC_OFFSET(ptr)	(_HOFF_LO(ptr) | _HOFF_HI(ptr))
    193        1.1  gdamore #define	EDID_DET_TIMING_HSYNC_WIDTH(ptr)	(_HWID_LO(ptr) | _HWID_HI(ptr))
    194        1.1  gdamore #define	EDID_DET_TIMING_VSYNC_OFFSET(ptr)	(_VOFF_LO(ptr) | _VOFF_HI(ptr))
    195        1.1  gdamore #define	EDID_DET_TIMING_VSYNC_WIDTH(ptr)	(_VWID_LO(ptr) | _VWID_HI(ptr))
    196        1.1  gdamore #define	_HSZ_LO(ptr)			((ptr)[12])
    197        1.1  gdamore #define	_VSZ_LO(ptr)			((ptr)[13])
    198        1.1  gdamore #define	_HSZ_HI(ptr)			(((ptr)[14] & 0xf0) << 4)
    199        1.1  gdamore #define	_VSZ_HI(ptr)			(((ptr)[14] & 0x0f) << 8)
    200        1.1  gdamore #define	EDID_DET_TIMING_HSIZE(ptr)		(_HSZ_LO(ptr) | _HSZ_HI(ptr))
    201        1.1  gdamore #define	EDID_DET_TIMING_VSIZE(ptr)		(_VSZ_LO(ptr) | _VSZ_HI(ptr))
    202        1.1  gdamore #define	EDID_DET_TIMING_HBORDER(ptr)	((ptr)[15])
    203        1.1  gdamore #define	EDID_DET_TIMING_VBORDER(ptr)	((ptr)[16])
    204        1.1  gdamore #define	EDID_DET_TIMING_FLAGS(ptr)	((ptr)[17])
    205        1.1  gdamore #define	EDID_DET_TIMING_FLAG_INTERLACE		0x80
    206  1.2.102.1   jruoho #define	EDID_DET_TIMING_FLAG_STEREO		0x60	/* stereo or not */
    207        1.1  gdamore #define	EDID_DET_TIMING_FLAG_SYNC_SEPARATE	0x18
    208  1.2.102.1   jruoho #define	EDID_DET_TIMING_FLAG_VSYNC_POSITIVE	0x04
    209  1.2.102.1   jruoho #define	EDID_DET_TIMING_FLAG_HSYNC_POSITIVE	0x02
    210  1.2.102.1   jruoho #define	EDID_DET_TIMING_FLAG_STEREO_MODE	0x01	/* stereo mode */
    211        1.1  gdamore 
    212        1.1  gdamore 
    213        1.1  gdamore /* N.B.: these tests assume that we already checked for detailed timing! */
    214        1.1  gdamore #define	EDID_BLOCK_TYPE(ptr)			((ptr)[3])
    215        1.1  gdamore 
    216        1.1  gdamore #define	EDID_DESC_BLOCK_SIZE			18
    217        1.1  gdamore #define	EDID_DESC_BLOCK_TYPE_SERIAL		0xFF
    218        1.1  gdamore #define	EDID_DESC_BLOCK_TYPE_ASCII		0xFE
    219        1.1  gdamore #define	EDID_DESC_BLOCK_TYPE_RANGE		0xFD
    220        1.1  gdamore #define	EDID_DESC_BLOCK_TYPE_NAME		0xFC
    221        1.1  gdamore #define	EDID_DESC_BLOCK_TYPE_COLOR_POINT	0xFB
    222        1.1  gdamore #define	EDID_DESC_BLOCK_TYPE_STD_TIMING		0xFA
    223        1.1  gdamore 
    224        1.1  gdamore /* used for descriptors 0xFF, 0xFE, and 0xFC */
    225        1.1  gdamore #define	EDID_DESC_ASCII_DATA_OFFSET		5
    226        1.1  gdamore #define	EDID_DESC_ASCII_DATA_LEN		13
    227        1.1  gdamore 
    228        1.1  gdamore #define	EDID_DESC_RANGE_MIN_VFREQ(ptr)		((ptr)[5])	/* Hz */
    229        1.1  gdamore #define	EDID_DESC_RANGE_MAX_VFREQ(ptr)		((ptr)[6])	/* Hz */
    230        1.1  gdamore #define	EDID_DESC_RANGE_MIN_HFREQ(ptr)		((ptr)[7])	/* kHz */
    231        1.1  gdamore #define	EDID_DESC_RANGE_MAX_HFREQ(ptr)		((ptr)[8])	/* kHz */
    232        1.1  gdamore #define	EDID_DESC_RANGE_MAX_CLOCK(ptr)		(((ptr)[9]) * 10) /* MHz */
    233        1.1  gdamore #define	EDID_DESC_RANGE_HAVE_GTF2(ptr)		(((ptr)[10]) == 0x02)
    234        1.1  gdamore #define	EDID_DESC_RANGE_GTF2_HFREQ(ptr)		(((ptr)[12]) * 2)
    235        1.1  gdamore #define	EDID_DESC_RANGE_GTF2_C(ptr)		(((ptr)[13]) / 2)
    236        1.1  gdamore #define	EDID_DESC_RANGE_GTF2_M(ptr)		((ptr)[14] + ((ptr)[15] << 8))
    237        1.1  gdamore #define	EDID_DESC_RANGE_GTF2_K(ptr)		((ptr)[16])
    238        1.1  gdamore #define	EDID_DESC_RANGE_GTF2_J(ptr)		((ptr)[17] / 2)
    239        1.1  gdamore 
    240        1.1  gdamore #define	EDID_DESC_COLOR_WHITEX(ptr)
    241        1.1  gdamore #define	EDID_DESC_COLOR_WHITE_INDEX_1(ptr)	((ptr)[5])
    242        1.1  gdamore #define	EDID_DESC_COLOR_WHITEX_1(ptr)		_CHROMA(ptr, 6, 2, 7)
    243        1.1  gdamore #define	EDID_DESC_COLOR_WHITEY_1(ptr)		_CHROMA(ptr, 6, 0, 8)
    244        1.1  gdamore #define	EDID_DESC_COLOR_GAMMA_1(ptr)		_GAMMA(ptr[9])
    245        1.1  gdamore #define	EDID_DESC_COLOR_WHITE_INDEX_2(ptr)	((ptr)[10])
    246        1.1  gdamore #define	EDID_DESC_COLOR_WHITEX_2(ptr)		_CHROMA(ptr, 11, 2, 12)
    247        1.1  gdamore #define	EDID_DESC_COLOR_WHITEY_2(ptr)		_CHROMA(ptr, 11, 0, 13)
    248        1.1  gdamore #define	EDID_DESC_COLOR_GAMMA_2(ptr)		_GAMMA(ptr[14])
    249        1.1  gdamore 
    250        1.1  gdamore #define	EDID_DESC_STD_TIMING_START		5
    251        1.1  gdamore #define	EDID_DESC_STD_TIMING_COUNT		6
    252        1.1  gdamore 
    253        1.1  gdamore #endif /* _DEV_VIDEOMODE_EDIDREG_H */
    254