3 #include <linux/rk_fb.h>
6 #define DP_VERSION 0x10
10 #define FUNC_EN_1 0x18
11 #define VID_CAP_FUNC_EN_N (0x1 << 6)
12 #define VID_FIFO_FUNC_EN_N (0x1 << 5)
13 #define AUD_FIFO_FUNC_EN_N (0x1 << 4)
14 #define AUD_FUNC_EN_N (0x1 << 3)
15 #define HDCP_FUNC_EN_N (0x1 << 2)
16 #define SW_FUNC_EN_N (0x1 << 0)
18 #define FUNC_EN_2 0x1C
19 #define SSC_FUNC_EN_N (0x1 << 7)
20 #define AUX_FUNC_EN_N (0x1 << 2)
21 #define SERDES_FIFO_FUNC_EN_N (0x1 << 1)
22 #define LS_CLK_DOMAIN_FUNC_EN_N (0x1 << 0)
24 #define VIDEO_CTL_1 0x20
25 #define VIDEO_EN (0x1 << 7)
26 #define VIDEO_MUTE (0x1 << 6)
28 #define VIDEO_CTL_2 0x24
29 #define IN_D_RANGE_MASK (0x1 << 7)
30 #define IN_D_RANGE_SHIFT (7)
31 #define IN_D_RANGE_CEA (0x1 << 7)
32 #define IN_D_RANGE_VESA (0x0 << 7)
33 #define IN_BPC_MASK (0x7 << 4)
34 #define IN_BPC_SHIFT (4)
35 #define IN_BPC_12_BITS (0x3 << 4)
36 #define IN_BPC_10_BITS (0x2 << 4)
37 #define IN_BPC_8_BITS (0x1 << 4)
38 #define IN_BPC_6_BITS (0x0 << 4)
39 #define IN_COLOR_F_MASK (0x3 << 0)
40 #define IN_COLOR_F_SHIFT (0)
41 #define IN_COLOR_F_YCBCR444 (0x2 << 0)
42 #define IN_COLOR_F_YCBCR422 (0x1 << 0)
43 #define IN_COLOR_F_RGB (0x0 << 0)
45 #define VIDEO_CTL_3 0x28
46 #define IN_YC_COEFFI_MASK (0x1 << 7)
47 #define IN_YC_COEFFI_SHIFT (7)
48 #define IN_YC_COEFFI_ITU709 (0x1 << 7)
49 #define IN_YC_COEFFI_ITU601 (0x0 << 7)
50 #define VID_CHK_UPDATE_TYPE_MASK (0x1 << 4)
51 #define VID_CHK_UPDATE_TYPE_SHIFT (4)
52 #define VID_CHK_UPDATE_TYPE_1 (0x1 << 4)
53 #define VID_CHK_UPDATE_TYPE_0 (0x0 << 4)
55 #define VIDEO_CTL_4 0x2c
56 #define BIST_EN (0x1 << 3)
57 #define BIST_WH_64 (0x1 << 2)
58 #define BIST_WH_32 (0x0 << 2)
59 #define BIST_TYPE_COLR_BAR (0x0 << 0)
60 #define BIST_TYPE_GRAY_BAR (0x1 << 0)
61 #define BIST_TYPE_MOBILE_BAR (0x2 << 0)
63 #define VIDEO_CTL_8 0x3C
64 #define VID_HRES_TH(x) (((x) & 0xf) << 4)
65 #define VID_VRES_TH(x) (((x) & 0xf) << 0)
67 #define VIDEO_CTL_10 0x44
68 #define F_SEL (0x1 << 4)
69 #define INTERACE_SCAN_CFG (0x1 << 2)
70 #define VSYNC_POLARITY_CFG (0x1 << 1)
71 #define HSYNC_POLARITY_CFG (0x1 << 0)
73 #define TOTAL_LINE_CFG_L 0x48
74 #define TOTAL_LINE_CFG_H 0x4c
75 #define ATV_LINE_CFG_L 0x50
76 #define ATV_LINE_CFG_H 0x54
77 #define VF_PORCH_REG 0x58
78 #define VSYNC_CFG_REG 0x5c
79 #define VB_PORCH_REG 0x60
80 #define TOTAL_PIXELL_REG 0x64
81 #define TOTAL_PIXELH_REG 0x68
82 #define ATV_PIXELL_REG 0x6c
83 #define ATV_PIXELH_REG 0x70
84 #define HF_PORCHL_REG 0x74
85 #define HF_PORCHH_REG 0x78
86 #define HSYNC_CFGL_REG 0x7c
87 #define HSYNC_CFGH_REG 0x80
88 #define HB_PORCHL_REG 0x84
89 #define HB_PORCHH_REG 0x88
93 #define TX_REG_COMMON 0x114
97 #define PLL_REG_1 0xfc
98 #define REF_CLK_24M (0x1 << 1)
99 #define REF_CLK_27M (0x0 << 1)
101 #define PLL_REG_2 0x9e4
102 #define PLL_REG_3 0x9e8
103 #define PLL_REG_4 0x9ec
104 #define PLL_REG_5 0xa00
105 #define DP_PWRDN 0x12c
106 #define PD_INC_BG (0x1 << 7)
107 #define PD_EXP_BG (0x1 << 6)
108 #define PD_AUX (0x1 << 5)
109 #define PD_PLL (0x1 << 4)
110 #define PD_CH3 (0x1 << 3)
111 #define PD_CH2 (0x1 << 2)
112 #define PD_CH1 (0x1 << 1)
113 #define PD_CH0 (0x1 << 0)
115 #define DP_RESERVE2 0x134
117 #define LANE_MAP 0x35C
118 #define LANE3_MAP_LOGIC_LANE_0 (0x0 << 6)
119 #define LANE3_MAP_LOGIC_LANE_1 (0x1 << 6)
120 #define LANE3_MAP_LOGIC_LANE_2 (0x2 << 6)
121 #define LANE3_MAP_LOGIC_LANE_3 (0x3 << 6)
122 #define LANE2_MAP_LOGIC_LANE_0 (0x0 << 4)
123 #define LANE2_MAP_LOGIC_LANE_1 (0x1 << 4)
124 #define LANE2_MAP_LOGIC_LANE_2 (0x2 << 4)
125 #define LANE2_MAP_LOGIC_LANE_3 (0x3 << 4)
126 #define LANE1_MAP_LOGIC_LANE_0 (0x0 << 2)
127 #define LANE1_MAP_LOGIC_LANE_1 (0x1 << 2)
128 #define LANE1_MAP_LOGIC_LANE_2 (0x2 << 2)
129 #define LANE1_MAP_LOGIC_LANE_3 (0x3 << 2)
130 #define LANE0_MAP_LOGIC_LANE_0 (0x0 << 0)
131 #define LANE0_MAP_LOGIC_LANE_1 (0x1 << 0)
132 #define LANE0_MAP_LOGIC_LANE_2 (0x2 << 0)
133 #define LANE0_MAP_LOGIC_LANE_3 (0x3 << 0)
135 #define ANALOG_CTL_2 0x374
136 #define SEL_24M (0x1 << 3)
138 /*#define ANALOG_CTL_3 0x378
139 #define PLL_FILTER_CTL_1 0x37C
140 #define TX_AMP_TUNING_CTL 0x380*/
142 #define AUX_HW_RETRY_CTL 0x390
144 #define INT_STA 0x3c0
146 #define COMMON_INT_STA_1 0x3C4
147 #define VSYNC_DET (0x1 << 7)
148 #define PLL_LOCK_CHG (0x1 << 6)
149 #define SPDIF_ERR (0x1 << 5)
150 #define SPDIF_UNSTBL (0x1 << 4)
151 #define VID_FORMAT_CHG (0x1 << 3)
152 #define AUD_CLK_CHG (0x1 << 2)
153 #define VID_CLK_CHG (0x1 << 1)
154 #define SW_INT (0x1 << 0)
156 #define COMMON_INT_STA_2 0x3C8
157 #define ENC_EN_CHG (0x1 << 6)
158 #define HW_BKSV_RDY (0x1 << 3)
159 #define HW_SHA_DONE (0x1 << 2)
160 #define HW_AUTH_STATE_CHG (0x1 << 1)
161 #define HW_AUTH_DONE (0x1 << 0)
163 #define COMMON_INT_STA_3 0x3CC
164 #define AFIFO_UNDER (0x1 << 7)
165 #define AFIFO_OVER (0x1 << 6)
166 #define R0_CHK_FLAG (0x1 << 5)
168 #define COMMON_INT_STA_4 0x3D0
169 #define PSR_ACTIVE (0x1 << 7)
170 #define PSR_INACTIVE (0x1 << 6)
171 #define SPDIF_BI_PHASE_ERR (0x1 << 5)
172 #define HOTPLUG_CHG (0x1 << 2)
173 #define HPD_LOST (0x1 << 1)
174 #define PLUG (0x1 << 0)
176 #define DP_INT_STA 0x3DC
177 #define INT_HPD (0x1 << 6)
178 #define HW_LT_DONE (0x1 << 5)
179 #define SINK_LOST (0x1 << 3)
180 #define LINK_LOST (0x1 << 2)
181 #define RPLY_RECEIV (0x1 << 1)
182 #define AUX_ERR (0x1 << 0)
184 #define COMMON_INT_MASK_1 0x3E0
185 #define COMMON_INT_MASK_2 0x3E4
186 #define COMMON_INT_MASK_3 0x3E8
187 #define COMMON_INT_MASK_4 0x3EC
188 #define DP_INT_STA_MASK 0x3F8
190 #define INT_CTL 0x3FC
191 #define SOFT_INT_CTRL (0x1 << 2)
192 #define INT_POL (0x1 << 0)
194 #define SYS_CTL_1 0x600
195 #define DET_STA (0x1 << 2)
196 #define FORCE_DET (0x1 << 1)
197 #define DET_CTRL (0x1 << 0)
199 #define SYS_CTL_2 0x604
200 #define CHA_CRI(x) (((x) & 0xf) << 4)
201 #define CHA_STA (0x1 << 2)
202 #define FORCE_CHA (0x1 << 1)
203 #define CHA_CTRL (0x1 << 0)
205 #define SYS_CTL_3 0x608
206 #define HPD_STATUS (0x1 << 6)
207 #define F_HPD (0x1 << 5)
208 #define HPD_CTRL (0x1 << 4)
209 #define HDCP_RDY (0x1 << 3)
210 #define STRM_VALID (0x1 << 2)
211 #define F_VALID (0x1 << 1)
212 #define VALID_CTRL (0x1 << 0)
214 #define SYS_CTL_4 0x60C
215 #define FIX_M_AUD (0x1 << 4)
216 #define ENHANCED (0x1 << 3)
217 #define FIX_M_VID (0x1 << 2)
218 #define M_VID_UPDATE_CTRL (0x3 << 0)
221 #define PKT_SEND_CTL 0x640
222 #define HDCP_CTL 0x648
224 #define LINK_BW_SET 0x680
225 #define LANE_CNT_SET 0x684
227 #define TRAINING_PTN_SET 0x688
228 #define SCRAMBLING_DISABLE (0x1 << 5)
229 #define SCRAMBLING_ENABLE (0x0 << 5)
230 #define LINK_QUAL_PATTERN_SET_MASK (0x7 << 2)
231 #define LINK_QUAL_PATTERN_SET_HBR2 (0x5 << 2)
232 #define LINK_QUAL_PATTERN_SET_80BIT (0x4 << 2)
233 #define LINK_QUAL_PATTERN_SET_PRBS7 (0x3 << 2)
234 #define LINK_QUAL_PATTERN_SET_D10_2 (0x1 << 2)
235 #define LINK_QUAL_PATTERN_SET_DISABLE (0x0 << 2)
236 #define SW_TRAINING_PATTERN_SET_MASK (0x3 << 0)
237 #define SW_TRAINING_PATTERN_SET_PTN2 (0x2 << 0)
238 #define SW_TRAINING_PATTERN_SET_PTN1 (0x1 << 0)
239 #define SW_TRAINING_PATTERN_SET_DISABLE (0x0 << 0)
241 #define LN0_LINK_TRAINING_CTL 0x68C
242 #define LN1_LINK_TRAINING_CTL 0x690
243 #define LN2_LINK_TRAINING_CTL 0x694
244 #define LN3_LINK_TRAINING_CTL 0x698
246 #define HW_LT_CTL 0x6a0
247 #define HW_LT_ERR_CODE_MASK 0x70
248 #define HW_LT_EN (0x1 << 0)
250 #define DEBUG_CTL 0x6C0
251 #define PLL_LOCK (0x1 << 4)
252 #define F_PLL_LOCK (0x1 << 3)
253 #define PLL_LOCK_CTRL (0x1 << 2)
254 #define POLL_EN (0x1 << 1)
255 #define PN_INV (0x1 << 0)
257 #define HPD_DEGLITCH_L 0x6C4
258 #define HPD_DEGLITCH_H 0x6C8
259 #define LINK_DEBUG_CTL 0x6E0
261 #define M_VID_0 0x700
262 #define M_VID_1 0x704
263 #define M_VID_2 0x708
264 #define N_VID_0 0x70C
265 #define N_VID_1 0x710
266 #define N_VID_2 0x714
268 #define VIDEO_FIFO_THRD 0x730
269 #define AUDIO_MARGIN 0x73C
271 #define M_VID_GEN_FILTER_TH 0x764
272 #define M_AUD_GEN_FILTER_TH 0x778
274 #define AUX_CH_STA 0x780
275 #define AUX_BUSY (0x1 << 4)
276 #define AUX_STATUS_MASK (0xf << 0)
278 #define AUX_CH_DEFER_CTL 0x788
279 #define DEFER_CTRL_EN (0x1 << 7)
280 #define DEFER_COUNT(x) (((x) & 0x7f) << 0)
282 #define AUX_RX_COMM 0x78C
283 #define BUFFER_DATA_CTL 0x790
284 #define BUF_CLR (0x1 << 7)
285 #define BUF_HAVE_DATA (0x1 << 4)
286 #define BUF_DATA_COUNT(x) (((x) & 0xf) << 0)
288 #define AUX_CH_CTL_1 0x794
289 #define AUX_LENGTH(x) (((x - 1) & 0xf) << 4)
290 #define AUX_TX_COMM_MASK (0xf << 0)
291 #define AUX_TX_COMM_DP_TRANSACTION (0x1 << 3)
292 #define AUX_TX_COMM_I2C_TRANSACTION (0x0 << 3)
293 #define AUX_TX_COMM_MOT (0x1 << 2)
294 #define AUX_TX_COMM_WRITE (0x0 << 0)
295 #define AUX_TX_COMM_READ (0x1 << 0)
297 #define DP_AUX_ADDR_7_0 0x798
298 #define DP_AUX_ADDR_15_8 0x79C
299 #define DP_AUX_ADDR_19_16 0x7A0
301 #define AUX_CH_CTL_2 0x7A4
302 #define PD_AUX_IDLE (0x1 << 3)
303 #define ADDR_ONLY (0x1 << 1)
304 #define AUX_EN (0x1 << 0)
306 #define BUF_DATA_0 0x7C0
308 #define SOC_GENERAL_CTL 0x800
311 #define RST_DP_TX (0x1 << 0)
314 #define TX_TERMINAL_CTRL_50_OHM (0x1 << 4)
319 #define DRIVE_DVDD_BIT_1_0625V (0x4 << 5)
320 #define VCO_BIT_600_MICRO (0x5 << 0)
322 /* PLL_FILTER_CTL_1 */
323 #define PD_RING_OSC (0x1 << 6)
324 #define AUX_TERMINAL_CTRL_37_5_OHM (0x0 << 4)
325 #define AUX_TERMINAL_CTRL_45_OHM (0x1 << 4)
326 #define AUX_TERMINAL_CTRL_50_OHM (0x2 << 4)
327 #define AUX_TERMINAL_CTRL_65_OHM (0x3 << 4)
328 #define TX_CUR1_2X (0x1 << 2)
329 #define TX_CUR_16_MA (0x3 << 0)
331 /* TX_AMP_TUNING_CTL */
332 #define CH3_AMP_SHIFT (24)
333 #define CH3_AMP_400_MV (0x0 << 24)
334 #define CH2_AMP_SHIFT (16)
335 #define CH2_AMP_400_MV (0x0 << 16)
336 #define CH1_AMP_SHIFT (8)
337 #define CH1_AMP_400_MV (0x0 << 8)
338 #define CH0_AMP_SHIFT (0)
339 #define CH0_AMP_400_MV (0x0 << 0)
341 /* AUX_HW_RETRY_CTL */
342 #define AUX_BIT_PERIOD_EXPECTED_DELAY(x) (((x) & 0x7) << 8)
343 #define AUX_HW_RETRY_INTERVAL_MASK (0x3 << 3)
344 #define AUX_HW_RETRY_INTERVAL_600_MICROSECONDS (0x0 << 3)
345 #define AUX_HW_RETRY_INTERVAL_800_MICROSECONDS (0x1 << 3)
346 #define AUX_HW_RETRY_INTERVAL_1000_MICROSECONDS (0x2 << 3)
347 #define AUX_HW_RETRY_INTERVAL_1800_MICROSECONDS (0x3 << 3)
348 #define AUX_HW_RETRY_COUNT_SEL(x) (((x) & 0x7) << 0)
352 /* LN0_LINK_TRAINING_CTL */
353 #define PRE_EMPHASIS_SET_MASK (0x3 << 3)
354 #define PRE_EMPHASIS_SET_SHIFT (3)
358 #define DP_PLL_PD (0x1 << 7)
359 #define DP_PLL_RESET (0x1 << 6)
360 #define DP_PLL_LOOP_BIT_DEFAULT (0x1 << 4)
361 #define DP_PLL_REF_BIT_1_1250V (0x5 << 0)
362 #define DP_PLL_REF_BIT_1_2500V (0x7 << 0)
365 #define MACRO_RST (0x1 << 5)
366 #define CH1_TEST (0x1 << 1)
367 #define CH0_TEST (0x1 << 0)
375 #define DP_TIMEOUT_LOOP_CNT 100
376 #define MAX_CR_LOOP 5
377 #define MAX_EQ_LOOP 5
381 #define GRF_EDP_REF_CLK_SEL_INTER (1 << 4)
382 #define GRF_EDP_HDCP_EN (1 << 15)
383 #define GRF_EDP_BIST_EN (1 << 14)
384 #define GRF_EDP_MEM_CTL_BY_EDP (1 << 13)
385 #define GRF_EDP_SECURE_EN (1 << 3)
386 #define EDP_SEL_VOP_LIT (1 << 5)
389 DP_IRQ_TYPE_HP_CABLE_IN,
390 DP_IRQ_TYPE_HP_CABLE_OUT,
391 DP_IRQ_TYPE_HP_CHANGE,
395 enum color_coefficient {
410 enum clock_recovery_m_value_type {
415 enum video_timing_recognition_type {
416 VIDEO_TIMING_FROM_CAPTURE,
417 VIDEO_TIMING_FROM_REGISTER
441 enum link_rate_type {
442 LINK_RATE_1_62GBPS = 0x06,
443 LINK_RATE_2_70GBPS = 0x0a
446 enum link_lane_count_type {
452 enum link_training_state {
460 enum voltage_swing_level {
467 enum pre_emphasis_level {
468 PRE_EMPHASIS_LEVEL_0,
469 PRE_EMPHASIS_LEVEL_1,
470 PRE_EMPHASIS_LEVEL_2,
471 PRE_EMPHASIS_LEVEL_3,
474 enum analog_power_block {
487 bool h_sync_polarity;
488 bool v_sync_polarity;
491 enum color_space color_space;
492 enum dynamic_range dynamic_range;
493 enum color_coefficient ycbcr_coeff;
494 enum color_depth color_depth;
496 enum link_rate_type link_rate;
497 enum link_lane_count_type lane_count;
508 enum link_training_state lt_state;
518 struct clk *clk_edp; /*clk for edp controller*/
519 struct clk *clk_24m; /*clk for edp phy*/
520 struct clk *pclk; /*clk for phb bus*/
521 struct link_train link_train;
522 struct video_info video_info;
523 struct rk_screen screen;
524 struct fb_monspecs specs;
526 struct dentry *debugfs_dir;
530 void rk32_edp_enable_video_mute(struct rk32_edp *edp, bool enable);
531 void rk32_edp_stop_video(struct rk32_edp *edp);
532 void rk32_edp_lane_swap(struct rk32_edp *edp, bool enable);
533 void rk32_edp_init_refclk(struct rk32_edp *edp);
534 void rk32_edp_init_interrupt(struct rk32_edp *edp);
535 void rk32_edp_reset(struct rk32_edp *edp);
536 void rk32_edp_config_interrupt(struct rk32_edp *edp);
537 u32 rk32_edp_get_pll_lock_status(struct rk32_edp *edp);
538 void rk32_edp_analog_power_ctr(struct rk32_edp *edp, bool enable);
539 void rk32_edp_init_analog_func(struct rk32_edp *edp);
540 void rk32_edp_init_hpd(struct rk32_edp *edp);
541 void rk32_edp_reset_aux(struct rk32_edp *edp);
542 void rk32_edp_init_aux(struct rk32_edp *edp);
543 int rk32_edp_get_plug_in_status(struct rk32_edp *edp);
544 void rk32_edp_enable_sw_function(struct rk32_edp *edp);
545 int rk32_edp_start_aux_transaction(struct rk32_edp *edp);
546 int rk32_edp_write_byte_to_dpcd(struct rk32_edp *edp,
547 unsigned int reg_addr,
549 int rk32_edp_read_byte_from_dpcd(struct rk32_edp *edp,
550 unsigned int reg_addr,
551 unsigned char *data);
552 int rk32_edp_write_bytes_to_dpcd(struct rk32_edp *edp,
553 unsigned int reg_addr,
555 unsigned char data[]);
556 int rk32_edp_read_bytes_from_dpcd(struct rk32_edp *edp,
557 unsigned int reg_addr,
559 unsigned char data[]);
560 int rk32_edp_select_i2c_device(struct rk32_edp *edp,
561 unsigned int device_addr,
562 unsigned int reg_addr);
563 int rk32_edp_read_byte_from_i2c(struct rk32_edp *edp,
564 unsigned int device_addr,
565 unsigned int reg_addr,
567 int rk32_edp_read_bytes_from_i2c(struct rk32_edp *edp,
568 unsigned int device_addr,
569 unsigned int reg_addr,
571 unsigned char edid[]);
572 void rk32_edp_set_link_bandwidth(struct rk32_edp *edp, u32 bwtype);
573 void rk32_edp_get_link_bandwidth(struct rk32_edp *edp, u32 *bwtype);
574 void rk32_edp_set_lane_count(struct rk32_edp *edp, u32 count);
575 void rk32_edp_get_lane_count(struct rk32_edp *edp, u32 *count);
576 void rk32_edp_enable_enhanced_mode(struct rk32_edp *edp, bool enable);
577 void rk32_edp_set_training_pattern(struct rk32_edp *edp,
578 enum pattern_set pattern);
579 void rk32_edp_set_lane0_pre_emphasis(struct rk32_edp *edp, u32 level);
580 void rk32_edp_set_lane1_pre_emphasis(struct rk32_edp *edp, u32 level);
581 void rk32_edp_set_lane2_pre_emphasis(struct rk32_edp *edp, u32 level);
582 void rk32_edp_set_lane3_pre_emphasis(struct rk32_edp *edp, u32 level);
583 void rk32_edp_set_lane0_link_training(struct rk32_edp *edp,
585 void rk32_edp_set_lane1_link_training(struct rk32_edp *edp,
587 void rk32_edp_set_lane2_link_training(struct rk32_edp *edp,
589 void rk32_edp_set_lane3_link_training(struct rk32_edp *edp,
591 u32 rk32_edp_get_lane0_link_training(struct rk32_edp *edp);
592 u32 rk32_edp_get_lane1_link_training(struct rk32_edp *edp);
593 u32 rk32_edp_get_lane2_link_training(struct rk32_edp *edp);
594 u32 rk32_edp_get_lane3_link_training(struct rk32_edp *edp);
595 void rk32_edp_reset_macro(struct rk32_edp *edp);
596 int rk32_edp_init_video(struct rk32_edp *edp);
598 void rk32_edp_set_video_color_format(struct rk32_edp *edp,
603 int rk32_edp_is_slave_video_stream_clock_on(struct rk32_edp *edp);
604 void rk32_edp_set_video_cr_mn(struct rk32_edp *edp,
605 enum clock_recovery_m_value_type type,
608 void rk32_edp_set_video_timing_mode(struct rk32_edp *edp, u32 type);
609 void rk32_edp_enable_video_master(struct rk32_edp *edp, bool enable);
610 void rk32_edp_start_video(struct rk32_edp *edp);
611 int rk32_edp_is_video_stream_on(struct rk32_edp *edp);
612 void rk32_edp_config_video_slave_mode(struct rk32_edp *edp,
613 struct video_info *video_info);
614 void rk32_edp_enable_scrambling(struct rk32_edp *edp);
615 void rk32_edp_disable_scrambling(struct rk32_edp *edp);
616 void rk32_edp_rx_control(struct rk32_edp *edp, bool enable);
617 int rk32_edp_bist_cfg(struct rk32_edp *edp);
618 void rk32_edp_hw_link_training_en(struct rk32_edp * edp);
619 int rk32_edp_get_hw_lt_status(struct rk32_edp *edp);
620 int rk32_edp_wait_hw_lt_done(struct rk32_edp *edp);
621 enum dp_irq_type rk32_edp_get_irq_type(struct rk32_edp *edp);
622 void rk32_edp_clear_hotplug_interrupts(struct rk32_edp *edp);