|
@@ -126,9 +126,14 @@ void analogix_dp_reset(struct analogix_dp_device *dp)
|
|
|
analogix_dp_stop_video(dp);
|
|
|
analogix_dp_enable_video_mute(dp, 0);
|
|
|
|
|
|
- reg = MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N |
|
|
|
- AUD_FIFO_FUNC_EN_N | AUD_FUNC_EN_N |
|
|
|
- HDCP_FUNC_EN_N | SW_FUNC_EN_N;
|
|
|
+ if (dp->plat_data && is_rockchip(dp->plat_data->dev_type))
|
|
|
+ reg = RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N |
|
|
|
+ SW_FUNC_EN_N;
|
|
|
+ else
|
|
|
+ reg = MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N |
|
|
|
+ AUD_FIFO_FUNC_EN_N | AUD_FUNC_EN_N |
|
|
|
+ HDCP_FUNC_EN_N | SW_FUNC_EN_N;
|
|
|
+
|
|
|
writel(reg, dp->reg_base + ANALOGIX_DP_FUNC_EN_1);
|
|
|
|
|
|
reg = SSC_FUNC_EN_N | AUX_FUNC_EN_N |
|
|
@@ -971,8 +976,12 @@ void analogix_dp_config_video_slave_mode(struct analogix_dp_device *dp)
|
|
|
u32 reg;
|
|
|
|
|
|
reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_1);
|
|
|
- reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N);
|
|
|
- reg |= MASTER_VID_FUNC_EN_N;
|
|
|
+ if (dp->plat_data && is_rockchip(dp->plat_data->dev_type)) {
|
|
|
+ reg &= ~(RK_VID_CAP_FUNC_EN_N | RK_VID_FIFO_FUNC_EN_N);
|
|
|
+ } else {
|
|
|
+ reg &= ~(MASTER_VID_FUNC_EN_N | SLAVE_VID_FUNC_EN_N);
|
|
|
+ reg |= MASTER_VID_FUNC_EN_N;
|
|
|
+ }
|
|
|
writel(reg, dp->reg_base + ANALOGIX_DP_FUNC_EN_1);
|
|
|
|
|
|
reg = readl(dp->reg_base + ANALOGIX_DP_VIDEO_CTL_10);
|