aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2012-09-20 16:42:44 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-10-02 12:06:07 -0400
commit7883dc55e126d49770dda49864831f5998ad12fb (patch)
tree148a1498cb440f089d2487d6d0dac4fa71cbb687 /include/drm
parentcaf9ab24e352102ec9dc6df82c78c3a9082109d6 (diff)
drm/dp: Document DP spec versions for various DPCD registers
Note with a comment anything newer than DP 1.1a. Obviously this needs some work still... Signed-off-by: Adam Jackson <ajax@redhat.com> Acked-by: Dave Airlie <airlied@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm_dp_helper.h52
1 files changed, 32 insertions, 20 deletions
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index f9888c3cb955..38ffcb4332aa 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -26,7 +26,19 @@
26#include <linux/types.h> 26#include <linux/types.h>
27#include <linux/i2c.h> 27#include <linux/i2c.h>
28 28
29/* From the VESA DisplayPort spec */ 29/*
30 * Unless otherwise noted, all values are from the DP 1.1a spec. Note that
31 * DP and DPCD versions are independent. Differences from 1.0 are not noted,
32 * 1.0 devices basically don't exist in the wild.
33 *
34 * Abbreviations, in chronological order:
35 *
36 * eDP: Embedded DisplayPort version 1
37 * DPI: DisplayPort Interoperability Guideline v1.1a
38 * 1.2: DisplayPort 1.2
39 *
40 * 1.2 formally includes both eDP and DPI definitions.
41 */
30 42
31#define AUX_NATIVE_WRITE 0x8 43#define AUX_NATIVE_WRITE 0x8
32#define AUX_NATIVE_READ 0x9 44#define AUX_NATIVE_READ 0x9
@@ -53,7 +65,7 @@
53 65
54#define DP_MAX_LANE_COUNT 0x002 66#define DP_MAX_LANE_COUNT 0x002
55# define DP_MAX_LANE_COUNT_MASK 0x1f 67# define DP_MAX_LANE_COUNT_MASK 0x1f
56# define DP_TPS3_SUPPORTED (1 << 6) 68# define DP_TPS3_SUPPORTED (1 << 6) /* 1.2 */
57# define DP_ENHANCED_FRAME_CAP (1 << 7) 69# define DP_ENHANCED_FRAME_CAP (1 << 7)
58 70
59#define DP_MAX_DOWNSPREAD 0x003 71#define DP_MAX_DOWNSPREAD 0x003
@@ -69,16 +81,16 @@
69/* 10b = TMDS or HDMI */ 81/* 10b = TMDS or HDMI */
70/* 11b = Other */ 82/* 11b = Other */
71# define DP_FORMAT_CONVERSION (1 << 3) 83# define DP_FORMAT_CONVERSION (1 << 3)
72# define DP_DETAILED_CAP_INFO_AVAILABLE (1 << 4) 84# define DP_DETAILED_CAP_INFO_AVAILABLE (1 << 4) /* DPI */
73 85
74#define DP_MAIN_LINK_CHANNEL_CODING 0x006 86#define DP_MAIN_LINK_CHANNEL_CODING 0x006
75 87
76#define DP_DOWN_STREAM_PORT_COUNT 0x007 88#define DP_DOWN_STREAM_PORT_COUNT 0x007
77# define DP_PORT_COUNT_MASK 0x0f 89# define DP_PORT_COUNT_MASK 0x0f
78# define DP_MSA_TIMING_PAR_IGNORED (1 << 6) 90# define DP_MSA_TIMING_PAR_IGNORED (1 << 6) /* eDP */
79# define DP_OUI_SUPPORT (1 << 7) 91# define DP_OUI_SUPPORT (1 << 7)
80 92
81#define DP_I2C_SPEED_CAP 0x00c 93#define DP_I2C_SPEED_CAP 0x00c /* DPI */
82# define DP_I2C_SPEED_1K 0x01 94# define DP_I2C_SPEED_1K 0x01
83# define DP_I2C_SPEED_5K 0x02 95# define DP_I2C_SPEED_5K 0x02
84# define DP_I2C_SPEED_10K 0x04 96# define DP_I2C_SPEED_10K 0x04
@@ -86,16 +98,16 @@
86# define DP_I2C_SPEED_400K 0x10 98# define DP_I2C_SPEED_400K 0x10
87# define DP_I2C_SPEED_1M 0x20 99# define DP_I2C_SPEED_1M 0x20
88 100
89#define DP_EDP_CONFIGURATION_CAP 0x00d 101#define DP_EDP_CONFIGURATION_CAP 0x00d /* XXX 1.2? */
90#define DP_TRAINING_AUX_RD_INTERVAL 0x00e 102#define DP_TRAINING_AUX_RD_INTERVAL 0x00e /* XXX 1.2? */
91 103
92/* Multiple stream transport */ 104/* Multiple stream transport */
93#define DP_MSTM_CAP 0x021 105#define DP_MSTM_CAP 0x021 /* 1.2 */
94# define DP_MST_CAP (1 << 0) 106# define DP_MST_CAP (1 << 0)
95 107
96#define DP_PSR_SUPPORT 0x070 108#define DP_PSR_SUPPORT 0x070 /* XXX 1.2? */
97# define DP_PSR_IS_SUPPORTED 1 109# define DP_PSR_IS_SUPPORTED 1
98#define DP_PSR_CAPS 0x071 110#define DP_PSR_CAPS 0x071 /* XXX 1.2? */
99# define DP_PSR_NO_TRAIN_ON_EXIT 1 111# define DP_PSR_NO_TRAIN_ON_EXIT 1
100# define DP_PSR_SETUP_TIME_330 (0 << 1) 112# define DP_PSR_SETUP_TIME_330 (0 << 1)
101# define DP_PSR_SETUP_TIME_275 (1 << 1) 113# define DP_PSR_SETUP_TIME_275 (1 << 1)
@@ -136,7 +148,7 @@
136#define DP_LINK_BW_SET 0x100 148#define DP_LINK_BW_SET 0x100
137# define DP_LINK_BW_1_62 0x06 149# define DP_LINK_BW_1_62 0x06
138# define DP_LINK_BW_2_7 0x0a 150# define DP_LINK_BW_2_7 0x0a
139# define DP_LINK_BW_5_4 0x14 151# define DP_LINK_BW_5_4 0x14 /* 1.2 */
140 152
141#define DP_LANE_COUNT_SET 0x101 153#define DP_LANE_COUNT_SET 0x101
142# define DP_LANE_COUNT_MASK 0x0f 154# define DP_LANE_COUNT_MASK 0x0f
@@ -146,7 +158,7 @@
146# define DP_TRAINING_PATTERN_DISABLE 0 158# define DP_TRAINING_PATTERN_DISABLE 0
147# define DP_TRAINING_PATTERN_1 1 159# define DP_TRAINING_PATTERN_1 1
148# define DP_TRAINING_PATTERN_2 2 160# define DP_TRAINING_PATTERN_2 2
149# define DP_TRAINING_PATTERN_3 3 161# define DP_TRAINING_PATTERN_3 3 /* 1.2 */
150# define DP_TRAINING_PATTERN_MASK 0x3 162# define DP_TRAINING_PATTERN_MASK 0x3
151 163
152# define DP_LINK_QUAL_PATTERN_DISABLE (0 << 2) 164# define DP_LINK_QUAL_PATTERN_DISABLE (0 << 2)
@@ -187,22 +199,22 @@
187 199
188#define DP_DOWNSPREAD_CTRL 0x107 200#define DP_DOWNSPREAD_CTRL 0x107
189# define DP_SPREAD_AMP_0_5 (1 << 4) 201# define DP_SPREAD_AMP_0_5 (1 << 4)
190# define DP_MSA_TIMING_PAR_IGNORE_EN (1 << 7) 202# define DP_MSA_TIMING_PAR_IGNORE_EN (1 << 7) /* eDP */
191 203
192#define DP_MAIN_LINK_CHANNEL_CODING_SET 0x108 204#define DP_MAIN_LINK_CHANNEL_CODING_SET 0x108
193# define DP_SET_ANSI_8B10B (1 << 0) 205# define DP_SET_ANSI_8B10B (1 << 0)
194 206
195#define DP_I2C_SPEED_CONTROL_STATUS 0x109 207#define DP_I2C_SPEED_CONTROL_STATUS 0x109 /* DPI */
196/* bitmask as for DP_I2C_SPEED_CAP */ 208/* bitmask as for DP_I2C_SPEED_CAP */
197 209
198#define DP_EDP_CONFIGURATION_SET 0x10a 210#define DP_EDP_CONFIGURATION_SET 0x10a /* XXX 1.2? */
199 211
200#define DP_MSTM_CTRL 0x111 212#define DP_MSTM_CTRL 0x111 /* 1.2 */
201# define DP_MST_EN (1 << 0) 213# define DP_MST_EN (1 << 0)
202# define DP_UP_REQ_EN (1 << 1) 214# define DP_UP_REQ_EN (1 << 1)
203# define DP_UPSTREAM_IS_SRC (1 << 2) 215# define DP_UPSTREAM_IS_SRC (1 << 2)
204 216
205#define DP_PSR_EN_CFG 0x170 217#define DP_PSR_EN_CFG 0x170 /* XXX 1.2? */
206# define DP_PSR_ENABLE (1 << 0) 218# define DP_PSR_ENABLE (1 << 0)
207# define DP_PSR_MAIN_LINK_ACTIVE (1 << 1) 219# define DP_PSR_MAIN_LINK_ACTIVE (1 << 1)
208# define DP_PSR_CRC_VERIFICATION (1 << 2) 220# define DP_PSR_CRC_VERIFICATION (1 << 2)
@@ -277,14 +289,14 @@
277# define DP_SET_POWER_D0 0x1 289# define DP_SET_POWER_D0 0x1
278# define DP_SET_POWER_D3 0x2 290# define DP_SET_POWER_D3 0x2
279 291
280#define DP_PSR_ERROR_STATUS 0x2006 292#define DP_PSR_ERROR_STATUS 0x2006 /* XXX 1.2? */
281# define DP_PSR_LINK_CRC_ERROR (1 << 0) 293# define DP_PSR_LINK_CRC_ERROR (1 << 0)
282# define DP_PSR_RFB_STORAGE_ERROR (1 << 1) 294# define DP_PSR_RFB_STORAGE_ERROR (1 << 1)
283 295
284#define DP_PSR_ESI 0x2007 296#define DP_PSR_ESI 0x2007 /* XXX 1.2? */
285# define DP_PSR_CAPS_CHANGE (1 << 0) 297# define DP_PSR_CAPS_CHANGE (1 << 0)
286 298
287#define DP_PSR_STATUS 0x2008 299#define DP_PSR_STATUS 0x2008 /* XXX 1.2? */
288# define DP_PSR_SINK_INACTIVE 0 300# define DP_PSR_SINK_INACTIVE 0
289# define DP_PSR_SINK_ACTIVE_SRC_SYNCED 1 301# define DP_PSR_SINK_ACTIVE_SRC_SYNCED 1
290# define DP_PSR_SINK_ACTIVE_RFB 2 302# define DP_PSR_SINK_ACTIVE_RFB 2