display:dp:edid/e-edid/displayid

名词

  • EDID         Extended Display Identification Data (Legacy VESA structure, superseded by the DisplayID structure).
  • E-EDID     Enhanced Extended Display Identification Data (Legacy VESA structure, superseded by the DisplayID structure).
  • DisplayID  Display Identification Data (VESA).
  • DPCD       DisplayPort Configuration Data

如上,单一的edid以及e-edid都是过时的标准

DPCD::1.4

都是link相关的配置信息,通过native读取

分别是:

DPCDAddress     DPCD Field
00000h - 000FFh Receiver Capability 
00100h - 001FFh Link Configuration
00200h - 002FFh Link/Sink Device Status
00300h - 003FFh Source Device-specific
00400h - 004FFh Sink Device-specific
00500h - 005FFh Branch Device-specific
00600h - 006FFh Link/Sink Device Power Control
00700h - 007FFh eDP-specific
00800h - 00FFFh RESERVED (usage to be defined)
01000h - 017FFh Sideband MSG Buffers
01800h - 01FFFh RESERVED (usage to be defined)
02000h - 021FFh DPRX Event Status Indicator
02200h - 022FFh Extended Receiver Capability
02300h - 02FFFh RESERVED (usage to be defined)
03000h - 030FFh Protocol Converter Extension
03100h - 5FFFFh RESERVED (usage to be defined)
60000h - 61CFFh Multi-touch (for eDP)
61D00h - 67FFFh RESERVED (usage to be defined)
68000h - 69FFFh HDCP 1.3 and HDCP2.2
6A000h - EFFFFh RESERVED (usage to be defined)
F0000h - F02FFh LT-tunable PHY Repeater
F0300h - FFEFFh RESERVED (usage to be defined)
FFF00h - FFFFFh MyDP-specific Table2-173 

dpcd版本;每条lane的最大书传输速率1.62/2.7/5.4/8.1; lane的数量[1/2/4];下游屏幕接口[dp/vga/dvi/hdmi];是否有edid;i2c速率;等等,详细信息请参阅vesa:https://vesa.org/

关于edid变更历史

  1. EDID         Development History EDID Defines the data structures sent from a video display to a source over E-DDC lines to describe its capabilities

  2. EDID 1.0     Defined original 128-byte data structure (Deprecated)
  3. EDID 1.1     Defined some alternative uses for space in data structure (Deprecated)
  4. EDID 1.2     Defined some alternative uses for space in data structure (Deprecated)
  5. EDID 1.3     Current definitions for 128-byte EDID data fields
  6. EDID 2.0     Introduced new 256-byte data structure
  7. E-EDID       Defined optional additional 128-byte extension blocks for EDID 1.3, incorporated EDID 2.0 as optional extensions
  8. DisplayID    Introduced variable length data structure
     

EDID::1.4

屏幕分辨率,功能等,通过i2c读取,首地址是50

分别是:

Address  (Decimal)     Data                              
0-7                    Header                           
8-17                   Vendor / Product Identification
18-19                  EDID Version 
20-24                  Basic Display Parameters and Features                 基本显示参数和特征定义为视频输入清晰度、最大水平图像尺寸,最大垂直图像尺寸,显示传输特性(Gamma),和功能支持。
25-34                  Color Characteristics                                 Color space  definition
35-36                  Established Supported Timings                         Timing information for all resolutions supported by the display are reported here
37                     Manufacturer's Reserved Timing 
38-53                  EDID Standard Timing ID #1 – 8 
54-71                  Detailed Timing Descriptor Block 1 
72-89                  Detailed Timing Descriptor Block 2 
90-107                 Detailed Timing Descriptor Block 3 
108-125                Detailed Timing Descriptor Block 4
126                    Extension Flag                                        Number of (optional) 128-byte extension blocks to follow 
127                    Checksum
EDID-struct
Address  (Decimal) 十进制地址Data-16进制General Description
0-7

"00h FFh FFh FFh FFh FFh FFh 00h" 

固定的header pattern

这些固定值是必须的正确标识EDID表数据的开始

8-9
Bit 150 = reserved
Bits 14–10First letter of manufacturer ID (byte 8, bits 6–2)
Bits 9–5Second letter of manufacturer ID (byte 8, bit 1 through byte 9 bit 5)
Bits 4–0Third letter of manufacturer ID (byte 9 bits 4–0)
制造商ID。这是一个遗留的即插即用ID,由微软分配,它是一个16位的big-endian值,由三个5位字母组成: 00001, A; 00010, B; …; 11010, Z. E.g., 24 4d, 0 01001 00010 01101, "IBM".
10-11 制造商的产品代码。16位数字,低位优先。
12–15 序列号。32位,低位优先。对序列号的数据或格式没有明确的要求。如果序列号包含在ASCII序列号描述符中,这个字段应该为零。如果块0中没有提供序列号,那么CEA-861-E实现应该使用0x00作为块0序列号的填充。
16-17 16    生产周数; 这个字段的指定值范围从1到53。大于53的值不被识别。当没有指定星期时,可以使用零。制造商决定周编号系统。制造商应该使用一种系统,在这种系统中,周数的整数值会随着年份的推移而增加。如果制造商选择只声明型号年份
(在17地址)那么0xFF应该放在地址10 (Week of Manufacture)。
17    生产年, 这个值由实际生产年份减去1990年确定。例如:2002 - 1990 = 12或0x0C
18-19 

18    EDID version, usually 01 (for 1.3 and 1.4)
19    EDID revision, usually 03 (for 1.3) or 04 (for 1.4)

不允许使用其他数字。如果其他数字被放置在这个区域,源可能会忽略整个EDID表。

20
Video input parameters bitmap
Bit 7 = 1Digital input. If set, the following bit definitions apply:
Bits 6–4Bit depth:

000 = undefined
001 = 6
010 = 8
011 = 10
100 = 12
101 = 14
110 = 16 bits per color
111 = reserved

Bits 3–0Video interface:

0000 = undefined
0010 = HDMIa
0011 = HDMIb
0100 = MDDI
0101 = DisplayPort

Bit 7 = 0Analog input. If clear, the following bit definitions apply:
Bits 6–5Video white and sync levels, relative to blank:

00 = +0.7/−0.3 V
01 = +0.714/−0.286 V
10 = +1.0/−0.4 V
11 = +0.7/0 V

Bit 4Blank-to-black setup (pedestal) expected
Bit 3Separate sync supported
Bit 2Composite sync (on HSync) supported
Bit 1Sync on green supported
Bit 0VSync pulse must be serrated when composite or sync-on-green is used.
用于标识接收设备[显示器]所需的输出配置。对于数字显示,包括CE设备,建议设置为0x80。此值用于声明设备支持数字接口。
21-22

 

最大水平图像大小和垂直图像大小字段(字节0x15、0x16)用于指示接收的屏幕大小和长宽比。当已知时,应该提供有效显示区域的最大物理尺寸(在这些字段中,cm)。这些字段的一个重要用途是指示实际屏幕的高宽比。如果已知最大图像大小的高宽比,那么最大大小字段的比率应该等于该高宽比,即使最大图像大小是未知的,或者在不同的设备配置中是可变的(比如在投影中)

在填写最大图像大小字段时,应使用以下规则:

a)如果已知高宽比和显示大小,则应显示实际大小,以最接近的cm为准。
b)如果长宽比已知,但尺寸未知,则可以使用典型的或预期的显示器配置所对应的任何值,但最大水平和垂直场的比率应等于长宽比。
c)如果高宽比未知,或者希望不被发现,则应使用0,0的值。

如果字段被设置为零,source不应该对屏幕大小或高宽比做任何假设。

23Display gamma, factory default (range 1.00–3.54), datavalue = (gamma×100) − 100 = (gamma − 1)×100. If 225, gamma is defined by DI-EXT block.显示传输特性(Gamma):可以由source根据显示设备的Gamma来定制视频输出。宣告伽玛的概念与个人计算机CRT显示器,接受非伽玛校正信号有关。数字和模拟电视视频信号是伽玛纠正根据建立的行业惯例,因此需要声明,CRT伽马射线并不总是必要的。然而,这是需要的个人计算机CRT应用。虽然信号源可能不需要使用显示器的伽马值,但显示器设备的正确伽马值应该是存在的。由于一些电视阴极射线管通常具有相似的伽马值,因此在本例中使用2.2。伽马值本身没有插入到表中。相反,插入一个等于(gamma x 100) - 100的值。
24
Supported features bitmap 
Bit 7DPMS standby supported1 = Standby supported, 0 = not supported
Bit 6DPMS suspend supported1 = Suspend supported, 0 = not supported
Bit 5DPMS active-off supported1 = Active Off supported, 0 = not supported
Bits 4–3Display type (digital):

00 = RGB 4:4:4
01 = RGB 4:4:4 + YCrCb 4:4:4
10 = RGB 4:4:4 + YCrCb 4:2:2
11 = RGB 4:4:4 + YCrCb 4:4:4 + YCrCb 4:2:2

 

Display type (analog):

00 = monochrome or grayscale
01 = RGB color
10 = non-RGB color
11 = undefined

 
Bit 2Standard sRGB colour space. Bytes 25–34 must contain sRGB standard values.1 = sRGB supported, 0 = not supported
Bit 1Preferred timing mode specified in descriptor block 1. For EDID 1.3+ the preferred timing mode is always in the first Detailed Timing Descriptor. In that case, this bit specifies whether the preferred timing mode includes native pixel format and refresh rate.1 = preferred timing is indicated in first detailed timing block (required), 0 = not indicated (not allowed)
Bit 0Continuous timings with GTF or CVT1 = GTF supported, 0 = not supported
特性支持由识别各种显示或接收参数的8位组成。这些包括基于VESA显示电源管理信令标准(DPMS)的节能模式,显示类型、标准默认颜色空间、首选定时模式和默认通用定时公式(GTF)。在大多数情况下,这些信息都与CE设备和个人计算机显示无关,因为GTF不常用。
25-34

 

25Red and green least-significant bits (2−9, 2−10)
Bits 7–6Red x value least-significant 2 bits
Bits 5–4Red y value least-significant 2 bits
Bits 3–2Green x value least-significant 2 bits
Bits 1–0Green y value least-significant 2 bits
26Blue and white least-significant 2 bits
27Red x value most significant 8 bits (2−1, …, 2−8). 0–255 encodes fractional 0–0.996 (255/256); 0–0.999 (1023/1024) with lsbits
28Red y value most significant 8 bits
29–30Green x and y value most significant 8 bits
31–32Blue x and y value most significant 8 bits
33–34Default white point x and y value most significant 8 bits
颜色特性提供了显示设备的色度和色温参数(白色温度开氏度)的信息。
35-37

 

35Bit 7720×400 @ 70 Hz (VGA)
Bit 6720×400 @ 88 Hz (XGA)
Bit 5640×480 @ 60 Hz (VGA)
Bit 4640×480 @ 67 Hz (Apple Macintosh II)
Bit 3640×480 @ 72 Hz
Bit 2640×480 @ 75 Hz
Bit 1800×600 @ 56 Hz
Bit 0800×600 @ 60 Hz
36Bit 7800×600 @ 72 Hz
Bit 6800×600 @ 75 Hz
Bit 5832×624 @ 75 Hz (Apple Macintosh II)
Bit 41024×768 @ 87 Hz, interlaced (1024×768i)
Bit 31024×768 @ 60 Hz
Bit 21024×768 @ 70 Hz
Bit 11024×768 @ 75 Hz
Bit 01280×1024 @ 75 Hz
37Bit 71152x870 @ 75 Hz (Apple Macintosh II)
Bits 6–0Other manufacturer-specific display modes
用于声明已建立的timing。建立的timing是由VESA识别的计算机显示时间。此表还用于指示在工厂调整和验证了所建立的timing,这意味着这些timing被支持并正确地呈现在显示器上。
38-53
0X resolution, 00 = reserved; otherwise, (datavalue + 31) × 8 (256–2288 pixels).
1Bits 7–6Image aspect ratio:

00 = 16:10
01 = 4:3
10 = 5:4
11 = 16:9
(Versions prior to 1.3 defined 00 as 1:1.)

Bits 5–0Vertical frequency, datavalue + 60 (60–123 Hz)
标准时间是那些通过VESA离散显示屏幕timing或由VESA识别的
通用定时公式标准。显示设备应该列出支持的timing。数据长度是两个字节。CE设备可能不支持任何VESA计时或GTF,当没有声明timing时,就需要用0x01填充字节对中每个未使用的字节。
54-125
54–71Descriptor 118 byte descriptors. Detailed timing descriptors, in decreasing preference order, followed by Display descriptors
72–89Descriptor 2
90–107Descriptor 3
108–125Descriptor 4

详细的计时部分长度为72字节,可分为四个描述符块,每个描述符块为18字节。在下面的示例中,这四个块的地址范围是0x36-0x47, 0x48-
0x59, 0x5A-0x6B和0x6C-0x7D。每个描述符都包含详细的计时数据(Detailed Timing Descriptor)或VESA E-EDID标准中描述的其他特定类型的数据。本文档中的示例按以下顺序配置这四个块:

First Detailed Timing Descriptor,

Second Detailed Timing Descriptor,

First Monitor Descriptor (Monitor Name), and Second Monitor Descriptor (Monitor Range).

54-71
BytesDescription
0–1Pixel clock. 00 = reserved; otherwise in 10 kHz units (0.01–655.35 MHz, little-endian).
2Horizontal active pixels 8 lsbits (0–4095)
3Horizontal blanking pixels 8 lsbits (0–4095) End of active to start of next active.
4Bits 7–4Horizontal active pixels 4 msbits
Bits 3–0Horizontal blanking pixels 4 msbits
5Vertical active lines 8 lsbits (0–4095)
6Vertical blanking lines 8 lsbits (0–4095)
7Bits 7–4Vertical active lines 4 msbits
Bits 3–0Vertical blanking lines 4 msbits
8Horizontal front porch (sync offset) pixels 8 lsbits (0–1023) From blanking start
9Horizontal sync pulse width pixels 8 lsbits (0–1023)
10Bits 7–4Vertical front porch (sync offset) lines 4 lsbits (0–63)
Bits 3–0Vertical sync pulse width lines 4 lsbits (0–63)
11Bits 7–6Horizontal front porch (sync offset) pixels 2 msbits
Bits 5–4Horizontal sync pulse width pixels 2 msbits
Bits 3–2Vertical front porch (sync offset) lines 2 msbits
Bits 1–0Vertical sync pulse width lines 2 msbits
12Horizontal image size, mm, 8 lsbits (0–4095 mm, 161 in)
13Vertical image size, mm, 8 lsbits (0–4095 mm, 161 in)
14Bits 7–4Horizontal image size, mm, 4 msbits
Bits 3–0Vertical image size, mm, 4 msbits
15Horizontal border pixels (one side; total is twice this)
16Vertical border lines (one side; total is twice this)
17Features bitmap
Bit 7Interlaced
Bits 6–5Stereo mode (combine bits 6–5 with bit 0):

00 0 = none, bit 0 is reserved;
01 0 = field sequential, right during stereo sync;
10 0 = field sequential, left during stereo sync;
01 1 = 2-way interleaved, right image on even lines;
10 1 = 2-way interleaved, left image on even lines;
11 0 = 4-way interleaved;
11 1 = side-by-side interleaved.

Bit 4 = 0Analog sync.
If set, the following bit definitions apply:
Bit 3Sync type:

0 = analog composite;
1 = bipolar analog composite.

Bit 2VSync serration (HSync during VSync)
Bit 1Sync on red and blue lines additionally to green
Bits 4–3 = 10Digital sync., composite (on HSync).
If set, the following bit definitions apply:
Bit 2Vertical sync polarity

0 = negative;
1 = positive.

Bit 10 = reserved
Bits 4–3 = 11Digital sync., separate
If set, the following bit definitions apply:
Bit 2VSync serration (HSync during VSync)
Bit 1Horizontal sync polarity:

0 = negative;
1 = positive.

Bit 0Stereo mode (combines with bits 6-5)

When used for another descriptor, the pixel clock and some other bytes are set to 0:

注意描述h-active和h-blanking,0x3A的高四位和第四位分别描述的不同timing:

1920 ==》0111 1000 0000

280   ==》0001 0001 1000 

0x38  ==》 1000 0000            //1920的后八位

0x39  ==》 0001 1000

0x3A ==》 0111 0001             //1920的前四位:280的前四位

 

72–89Second Detailed Timing Descriptor,Second Detailed Timing Descriptor,
90–107
BytesDescription
0–10 = Display Descriptor (cf. Detailed Timing Descriptor).
20 = reserved
3Descriptor type. FAFF currently defined. 000F reserved for vendors.
40 = reserved, except for Display Range Limits Descriptor.
5–17Defined by descriptor type. If text, code page 437 text, terminated (if less than 13 bytes) with LF and padded with SP.

Currently defined descriptor types are:

  • FF: Display serial number (ASCII text)
  • FE: Unspecified text (ASCII text)
  • FD: Display range limits. 6- or 13-byte (with additional timing) binary descriptor.
  • FC: Display name (ASCII text).
  • FB: Additional white point data. 2× 5-byte descriptors, padded with 0A 20 20.
  • FA: Additional standard timing identifiers. 6× 2-byte descriptors, padded with 0A.
  • F9: Display Color Management (DCM).
  • F8: CVT 3-Byte Timing Codes.
  • F7: Additional standard timing 3.
  • 10: Dummy identifier.
  • 00–0F: Manufacturer reserved descriptors.

VESA标准[10]要求四个18字节描述符中的一个是监视器名称描述符。
在这里,建议将第三个18字节的描述符用作第一个监视器描述符或
监控的名字。这些字节的示例位于地址0x5F到0x6B。每个位置的长度是一个字节,用于ASCII字符串。在表71中包含的示例中,有一个虚构的
列出了监视器名称

 

108–125Second Monitor Descriptor (Monitor Range Limits)

块0中的下一个和最后一个18字节描述符应该用作第二个监视器描述符。在本例中,它是监视器范围限制,用于指定水平和垂直频率的最小和最大参数以及最大像素时钟率。在下面的示例中,数据块的范围从0x6C到0x7D。数据格式是二进制编码的整数。

位置0x71到0x75用于指定水平和垂直频率的最小和最大参数,以及最大像素时钟。表72包含一个支持60hz垂直刷新率、15khz到46khz水平率的DTV示例,它覆盖了720x480i和1280x720p格式所需的频率,包括480x720p和1920x1080i,以及最大像素时钟80 MHz。

地址0x76用作辅助通用定时公式(GTF)的标记,通常不用于CE设备。在本例中,标志被设置为零。地址0x77到0x7D与这个标记相关。
E-EDID标准要求当没有提供辅助GTF数据时,地址0x77包含0x0A,地址0x78 ~ 0x7D包含0x20。 

 

126-127Extension Flag and Checksum

扩展标志用于声明EDID表中存在的扩展数量。实际提供的扩展总数应该等于在基本EDID中声明的扩展数。在基本EDID中声明的扩展数量不应包括基本EDID,而应包括块映射。例如,如果EDID数据中不存在扩展,那么扩展标志应该设置为零。如果有一个扩展名(例如CEA),那么该标志应该设置为1。如果两个(例如CEA)扩展被使用,那么VESA EDID标准也需要一个块映射扩展—将扩展的总数增加到三个。

表73包含了基于本文档中给出的表的示例数据。0x7E位置上的扩展标志被设置为1,表明存在块1。由于本例中的扩展标志等于1,因此不存在其他块。校验和的设置使整个128字节块的模256的和等于0x00

 

 

 

 

 

 

相关链接:
https://media.extron.com/public/download/files/articles/understandingedid.pdf
http://read.pudn.com/downloads178/ebook/828201/EIA-CEA-861E.pdf
https://en.wikipedia.org/wiki/DisplayPort
https://zh.wikipedia.org/zh-tw/EDID
https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

 

E-EDID

E-EDID作为edid的拓展。

块0是惟一的强制块[0-127]。该表显示了E-EDID块的必要用法。所有块的长度都是128字节。所有扩展块必须是连续的。

 

相关链接:
http://read.pudn.com/downloads110/ebook/456020/E-EDID%20Standard.pdf

DisplayID

DisplayID v2.0是真正的第二代EDID,它是一种更灵活和可扩展的显示标识数据格式,旨在满足各种显示类型、技术和应用程序的需要。DisplayID v2.0和EDID之间最明显的区别,使用了基于“数据块”概念的模块化结构,这些数据块是单独定义的、自包含的数据格式,每个数据块提供一组特定的相关显示信息。

下面这幅图讲述的是displayid的数据块

 

NOTE

一般来说,edid第一个128是标准的edid块,接下来可能是其他的块;关于block,displayid是以70开头的块,如果是以02开头的块,则是cea的audio以及speaker的块 

 

一份详细的关于edid+cea+diplayid的raw和解释

https://download.csdn.net/download/u012839187/12792110

一份关于displayid 1.3的public版本spec,非常给力

https://download.csdn.net/download/u012839187/12793610

hw-edid的值,涵盖非常多的常用显示器,值得收藏 https://github.com/linuxhw/EDID

linux代码里也有类似结构体,可以拿来用https://lxr.missinglinkelectronics.com/linux/drivers/gpu/drm/drm_edid.c

edid https://www.quantumdata.com/downloads.html

  • 8
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值