aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/exynos/exynos_dp_reg.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/exynos/exynos_dp_reg.c')
-rw-r--r--drivers/video/exynos/exynos_dp_reg.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/video/exynos/exynos_dp_reg.c b/drivers/video/exynos/exynos_dp_reg.c
index 169d1810d30c..3863726f5874 100644
--- a/drivers/video/exynos/exynos_dp_reg.c
+++ b/drivers/video/exynos/exynos_dp_reg.c
@@ -65,6 +65,28 @@ void exynos_dp_lane_swap(struct exynos_dp_device *dp, bool enable)
65 writel(reg, dp->reg_base + EXYNOS_DP_LANE_MAP); 65 writel(reg, dp->reg_base + EXYNOS_DP_LANE_MAP);
66} 66}
67 67
68void exynos_dp_init_analog_param(struct exynos_dp_device *dp)
69{
70 u32 reg;
71
72 reg = TX_TERMINAL_CTRL_50_OHM;
73 writel(reg, dp->reg_base + EXYNOS_DP_ANALOG_CTL_1);
74
75 reg = SEL_24M | TX_DVDD_BIT_1_0625V;
76 writel(reg, dp->reg_base + EXYNOS_DP_ANALOG_CTL_2);
77
78 reg = DRIVE_DVDD_BIT_1_0625V | VCO_BIT_600_MICRO;
79 writel(reg, dp->reg_base + EXYNOS_DP_ANALOG_CTL_3);
80
81 reg = PD_RING_OSC | AUX_TERMINAL_CTRL_50_OHM |
82 TX_CUR1_2X | TX_CUR_8_MA;
83 writel(reg, dp->reg_base + EXYNOS_DP_PLL_FILTER_CTL_1);
84
85 reg = CH3_AMP_400_MV | CH2_AMP_400_MV |
86 CH1_AMP_400_MV | CH0_AMP_400_MV;
87 writel(reg, dp->reg_base + EXYNOS_DP_TX_AMP_TUNING_CTL);
88}
89
68void exynos_dp_init_interrupt(struct exynos_dp_device *dp) 90void exynos_dp_init_interrupt(struct exynos_dp_device *dp)
69{ 91{
70 /* Set interrupt pin assertion polarity as high */ 92 /* Set interrupt pin assertion polarity as high */
@@ -131,6 +153,7 @@ void exynos_dp_reset(struct exynos_dp_device *dp)
131 153
132 writel(0x00000101, dp->reg_base + EXYNOS_DP_SOC_GENERAL_CTL); 154 writel(0x00000101, dp->reg_base + EXYNOS_DP_SOC_GENERAL_CTL);
133 155
156 exynos_dp_init_analog_param(dp);
134 exynos_dp_init_interrupt(dp); 157 exynos_dp_init_interrupt(dp);
135} 158}
136 159