diff options
| author | Adam Jackson <ajax@redhat.com> | 2012-09-20 16:42:44 -0400 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-10-02 12:06:07 -0400 |
| commit | 7883dc55e126d49770dda49864831f5998ad12fb (patch) | |
| tree | 148a1498cb440f089d2487d6d0dac4fa71cbb687 /include/drm | |
| parent | caf9ab24e352102ec9dc6df82c78c3a9082109d6 (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.h | 52 |
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 |
