rk31xx lvds: set clock lane enable int ttl mode
authorhjc <hjc@rock-chips.com>
Fri, 27 Feb 2015 03:50:10 +0000 (11:50 +0800)
committerhjc <hjc@rock-chips.com>
Fri, 27 Feb 2015 07:43:08 +0000 (15:43 +0800)
Signed-off-by: hjc <hjc@rock-chips.com>
arch/arm64/boot/dts/rk3368.dtsi
drivers/video/rockchip/transmitter/rk31xx_lvds.c [changed mode: 0644->0755]
drivers/video/rockchip/transmitter/rk31xx_lvds.h [changed mode: 0644->0755]

index 9783d301ce6b6175e6d2ddad9062d25c96ab467a..2dc40c5c2cd5d0f366119050750eb7cdbf32a7bd 100755 (executable)
        lvds: lvds@ff968000 {
                compatible = "rockchip,rk3368-lvds";
                rockchip,grf = <&grf>;
-               reg = <0x0 0xff968000 0x0 0x4000>, <0x0 0xff9600b0 0x0 0x01>;
+               reg = <0x0 0xff968000 0x0 0x4000>, <0x0 0xff9600a0 0x0 0x20>;
                reg-names = "mipi_lvds_phy", "mipi_lvds_ctl";
                clocks = <&clk_gates22 10>, <&clk_gates17 3>;
                clock-names = "pclk_lvds", "pclk_lvds_ctl";
old mode 100644 (file)
new mode 100755 (executable)
index 44fabe3..2ee1216
@@ -257,6 +257,7 @@ static void rk31xx_output_lvttl(struct rk_lvds_device *lvds,
                        pinctrl_select_state(lvds->pins->p,
                                             lvds->pins->default_state);
 #endif
+                lvds_dsi_writel(lvds, 0x0, 0x4);/*set clock lane enable*/
                /* enable lvds mode */
                val |= v_RK3368_LVDSMODE_EN(0) | v_RK3368_MIPIPHY_TTL_EN(1) |
                        v_RK3368_MIPIPHY_LANE0_EN(1) |
old mode 100644 (file)
new mode 100755 (executable)
index 597fd62..253d8c7
@@ -173,11 +173,20 @@ static inline int lvds_grf_writel(struct rk_lvds_device *lvds,
        return 0;
 }
 
+static inline int lvds_dsi_writel(struct rk_lvds_device *lvds,
+                                 u32 offset, u32 val)
+{
+       writel_relaxed(val, lvds->ctrl_reg + offset);
+       dsb(sy);
+
+       return 0;
+}
+
 static inline u32 lvds_phy_lockon(struct rk_lvds_device *lvds)
 {
        u32 val = 0;
 
-       val = readl_relaxed(lvds->ctrl_reg);
+       val = readl_relaxed(lvds->ctrl_reg + 0x10);
        return (val & 0x01);
 }