rk3288 lvds: set lvds into low power mode
authorhjc <hjc@rock-chips.com>
Tue, 15 Apr 2014 07:17:03 +0000 (15:17 +0800)
committerhjc <hjc@rock-chips.com>
Tue, 15 Apr 2014 07:17:38 +0000 (15:17 +0800)
drivers/video/rockchip/transmitter/rk32_lvds.c

index 44db0a24d70c05854d448fa9f07a8fb266f90173..0e0b3d288cad2bb0d782f38ee76a0ecfeb8d40e8 100755 (executable)
@@ -19,7 +19,7 @@ static struct rk32_lvds *rk32_lvds;
 static int rk32_lvds_disable(void)
 {
        struct rk32_lvds *lvds = rk32_lvds;
-       writel_relaxed(0x80008000, RK_GRF_VIRT + RK3288_GRF_SOC_CON7);
+       writel_relaxed(0xffff8000, RK_GRF_VIRT + RK3288_GRF_SOC_CON7);
        writel_relaxed(0x00, lvds->regs + LVDS_CFG_REG_21); /*disable tx*/
        writel_relaxed(0xff, lvds->regs + LVDS_CFG_REG_c); /*disable pll*/
        clk_disable_unprepare(lvds->clk);
@@ -259,7 +259,8 @@ static int rk32_lvds_probe(struct platform_device *pdev)
        if ((lvds->screen.type != SCREEN_RGB) && 
                (lvds->screen.type != SCREEN_LVDS) &&
                (lvds->screen.type != SCREEN_DUAL_LVDS)) {
-               dev_err(&pdev->dev, "screen is not lvds/rgb!\n");
+               dev_err(&pdev->dev, "screen is not lvds/rgb!\n");               
+               writel_relaxed(0xffff8000, RK_GRF_VIRT + RK3288_GRF_SOC_CON7);
                return -EINVAL;
        }
        platform_set_drvdata(pdev, lvds);