rk31xx lvds: update config for VOCM and VDIFF
authorhjc <hjc@rock-chips.com>
Wed, 11 Feb 2015 09:30:59 +0000 (17:30 +0800)
committerhjc <hjc@rock-chips.com>
Wed, 11 Feb 2015 09:30:59 +0000 (17:30 +0800)
Signed-off-by: hjc <hjc@rock-chips.com>
drivers/video/rockchip/transmitter/rk31xx_lvds.c
drivers/video/rockchip/transmitter/rk31xx_lvds.h

index 430e13adf6513a7ef689e1ce6b3236833a33d625..dbdf1529ac56c1b1505839bb18a1ce08c090a154 100644 (file)
@@ -94,6 +94,10 @@ static int rk31xx_lvds_pwr_on(void)
         struct rk_lvds_device *lvds = rk31xx_lvds;
 
         if (lvds->screen.type == SCREEN_LVDS) {
+                /* set VOCM 900 mv and V-DIFF 350 mv */
+               lvds_msk_reg(lvds, MIPIPHY_REGE4, m_VOCM | m_DIFF_V,
+                            v_VOCM(0) | v_DIFF_V(2));
+
                 /* power up lvds pll and ldo */
                lvds_msk_reg(lvds, MIPIPHY_REG1,
                             m_SYNC_RST | m_LDO_PWR_DOWN | m_PLL_PWR_DOWN,
index 1ba2696b1b734073b9cbf1e0f2e0033710a8296d..7dc7088c02c586b52bad78eae12fe779b421c12a 100644 (file)
@@ -96,6 +96,13 @@ enum {
 #define v_LVDS_EN(x)            BITS_MASK(x, 1, 1)
 #define v_TTL_EN(x)             BITS_MASK(x, 1, 2)
 
+#define MIPIPHY_REGE4          0x0390
+#define m_VOCM                 BITS(3, 4)
+#define m_DIFF_V               BITS(3, 6)
+
+#define v_VOCM(x)              BITS_MASK(x, 3, 4)
+#define v_DIFF_V(x)            BITS_MASK(x, 3, 6)
+
 #define MIPIPHY_REGE8           0x03a0
 
 #define MIPIPHY_REGEB           0x03ac