.. | .. |
---|
38 | 38 | |
---|
39 | 39 | #define AUX_REG_LIST(id)\ |
---|
40 | 40 | SRI(AUX_CONTROL, DP_AUX, id), \ |
---|
41 | | - SRI(AUX_DPHY_RX_CONTROL0, DP_AUX, id) |
---|
| 41 | + SRI(AUX_DPHY_RX_CONTROL0, DP_AUX, id), \ |
---|
| 42 | + SRI(AUX_DPHY_RX_CONTROL1, DP_AUX, id) |
---|
42 | 43 | |
---|
43 | 44 | #define HPD_REG_LIST(id)\ |
---|
44 | 45 | SRI(DC_HPD_CONTROL, HPD, id) |
---|
.. | .. |
---|
75 | 76 | SRI(DP_DPHY_INTERNAL_CTRL, DP, id), \ |
---|
76 | 77 | SR(DCI_MEM_PWR_STATUS) |
---|
77 | 78 | |
---|
| 79 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
---|
| 80 | +#define LE_DCE60_REG_LIST(id)\ |
---|
| 81 | + SRI(DP_DPHY_INTERNAL_CTRL, DP, id), \ |
---|
| 82 | + SR(DMCU_RAM_ACCESS_CTRL), \ |
---|
| 83 | + SR(DMCU_IRAM_RD_CTRL), \ |
---|
| 84 | + SR(DMCU_IRAM_RD_DATA), \ |
---|
| 85 | + SR(DMCU_INTERRUPT_TO_UC_EN_MASK), \ |
---|
| 86 | + SRI(DIG_BE_CNTL, DIG, id), \ |
---|
| 87 | + SRI(DIG_BE_EN_CNTL, DIG, id), \ |
---|
| 88 | + SRI(DP_CONFIG, DP, id), \ |
---|
| 89 | + SRI(DP_DPHY_CNTL, DP, id), \ |
---|
| 90 | + SRI(DP_DPHY_PRBS_CNTL, DP, id), \ |
---|
| 91 | + SRI(DP_DPHY_SYM0, DP, id), \ |
---|
| 92 | + SRI(DP_DPHY_SYM1, DP, id), \ |
---|
| 93 | + SRI(DP_DPHY_SYM2, DP, id), \ |
---|
| 94 | + SRI(DP_DPHY_TRAINING_PATTERN_SEL, DP, id), \ |
---|
| 95 | + SRI(DP_LINK_CNTL, DP, id), \ |
---|
| 96 | + SRI(DP_LINK_FRAMING_CNTL, DP, id), \ |
---|
| 97 | + SRI(DP_MSE_SAT0, DP, id), \ |
---|
| 98 | + SRI(DP_MSE_SAT1, DP, id), \ |
---|
| 99 | + SRI(DP_MSE_SAT2, DP, id), \ |
---|
| 100 | + SRI(DP_MSE_SAT_UPDATE, DP, id), \ |
---|
| 101 | + SRI(DP_SEC_CNTL, DP, id), \ |
---|
| 102 | + SRI(DP_VID_STREAM_CNTL, DP, id), \ |
---|
| 103 | + SRI(DP_DPHY_FAST_TRAINING, DP, id), \ |
---|
| 104 | + SRI(DP_SEC_CNTL1, DP, id) |
---|
| 105 | +#endif |
---|
| 106 | + |
---|
78 | 107 | #define LE_DCE80_REG_LIST(id)\ |
---|
79 | 108 | SRI(DP_DPHY_INTERNAL_CTRL, DP, id), \ |
---|
80 | 109 | LE_COMMON_REG_LIST_BASE(id) |
---|
.. | .. |
---|
107 | 136 | struct dce110_link_enc_aux_registers { |
---|
108 | 137 | uint32_t AUX_CONTROL; |
---|
109 | 138 | uint32_t AUX_DPHY_RX_CONTROL0; |
---|
| 139 | + uint32_t AUX_DPHY_RX_CONTROL1; |
---|
110 | 140 | }; |
---|
111 | 141 | |
---|
112 | 142 | struct dce110_link_enc_hpd_registers { |
---|
.. | .. |
---|
169 | 199 | const struct dce110_link_enc_aux_registers *aux_regs, |
---|
170 | 200 | const struct dce110_link_enc_hpd_registers *hpd_regs); |
---|
171 | 201 | |
---|
| 202 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
---|
| 203 | +void dce60_link_encoder_construct( |
---|
| 204 | + struct dce110_link_encoder *enc110, |
---|
| 205 | + const struct encoder_init_data *init_data, |
---|
| 206 | + const struct encoder_feature_support *enc_features, |
---|
| 207 | + const struct dce110_link_enc_registers *link_regs, |
---|
| 208 | + const struct dce110_link_enc_aux_registers *aux_regs, |
---|
| 209 | + const struct dce110_link_enc_hpd_registers *hpd_regs); |
---|
| 210 | +#endif |
---|
| 211 | + |
---|
172 | 212 | bool dce110_link_encoder_validate_dvi_output( |
---|
173 | 213 | const struct dce110_link_encoder *enc110, |
---|
174 | 214 | enum signal_type connector_signal, |
---|
.. | .. |
---|
225 | 265 | const struct dc_link_settings *link_settings, |
---|
226 | 266 | enum clock_source_id clock_source); |
---|
227 | 267 | |
---|
| 268 | +/* enables LVDS PHY output */ |
---|
| 269 | +void dce110_link_encoder_enable_lvds_output( |
---|
| 270 | + struct link_encoder *enc, |
---|
| 271 | + enum clock_source_id clock_source, |
---|
| 272 | + uint32_t pixel_clock); |
---|
| 273 | + |
---|
228 | 274 | /* disable PHY output */ |
---|
229 | 275 | void dce110_link_encoder_disable_output( |
---|
230 | 276 | struct link_encoder *enc, |
---|
.. | .. |
---|
249 | 295 | enum engine_id engine, |
---|
250 | 296 | bool connect); |
---|
251 | 297 | |
---|
| 298 | +unsigned int dce110_get_dig_frontend(struct link_encoder *enc); |
---|
| 299 | + |
---|
252 | 300 | void dce110_link_encoder_set_dp_phy_pattern_training_pattern( |
---|
253 | 301 | struct link_encoder *enc, |
---|
254 | 302 | uint32_t index); |
---|
.. | .. |
---|
265 | 313 | |
---|
266 | 314 | bool dce110_is_dig_enabled(struct link_encoder *enc); |
---|
267 | 315 | |
---|
| 316 | +void dce110_link_encoder_get_max_link_cap(struct link_encoder *enc, |
---|
| 317 | + struct dc_link_settings *link_settings); |
---|
| 318 | + |
---|
268 | 319 | #endif /* __DC_LINK_ENCODER__DCE110_H__ */ |
---|