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);
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);