From a0745c0d83fd60834df5b1211166e88f4f014d23 Mon Sep 17 00:00:00 2001 From: hjc Date: Fri, 15 May 2015 12:44:30 +0800 Subject: [PATCH] rk31xx lvds: compatible with rk31xx and rk3368 Signed-off-by: hjc --- drivers/video/rockchip/transmitter/rk31xx_lvds.c | 4 +++- drivers/video/rockchip/transmitter/rk31xx_lvds.h | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/video/rockchip/transmitter/rk31xx_lvds.c b/drivers/video/rockchip/transmitter/rk31xx_lvds.c index 8769334a1a6b..4b2d563ae1b5 100755 --- a/drivers/video/rockchip/transmitter/rk31xx_lvds.c +++ b/drivers/video/rockchip/transmitter/rk31xx_lvds.c @@ -32,7 +32,7 @@ #define grf_writel(v,offset) \ do { \ writel_relaxed(v, RK_GRF_VIRT + offset); \ - dsb(sy); \ + dsb(sy); \ } while (0) @@ -455,6 +455,7 @@ static int rk31xx_lvds_probe(struct platform_device *pdev) dev_err(&pdev->dev, "ioremap mipi-lvds ctl reg failed\n"); return PTR_ERR(lvds->ctrl_reg); } +#ifdef CONFIG_MFD_SYSCON if (lvds->data->soc_type == LVDS_SOC_RK3368) { lvds->grf_lvds_base = syscon_regmap_lookup_by_phandle(np, "rockchip,grf"); @@ -463,6 +464,7 @@ static int rk31xx_lvds_probe(struct platform_device *pdev) return PTR_ERR(lvds->grf_lvds_base); } } +#endif ret = rk31xx_lvds_clk_init(lvds); if(ret < 0) goto err_clk_init; diff --git a/drivers/video/rockchip/transmitter/rk31xx_lvds.h b/drivers/video/rockchip/transmitter/rk31xx_lvds.h index dbc094ce3fa6..57e6dbee8272 100755 --- a/drivers/video/rockchip/transmitter/rk31xx_lvds.h +++ b/drivers/video/rockchip/transmitter/rk31xx_lvds.h @@ -186,8 +186,10 @@ static inline int lvds_dsi_writel(struct rk_lvds_device *lvds, static inline u32 lvds_phy_lockon(struct rk_lvds_device *lvds) { u32 val = 0; - - val = readl_relaxed(lvds->ctrl_reg + 0x10); + if (lvds->data->soc_type == LVDS_SOC_RK312X) + val = readl_relaxed(lvds->ctrl_reg); + else + val = readl_relaxed(lvds->ctrl_reg + 0x10); return (val & 0x01); } -- 2.34.1