From 313eeecb7e312449a665cb86b9301a61e12c33fb Mon Sep 17 00:00:00 2001 From: xuhuicong Date: Fri, 2 Aug 2013 16:44:35 +0800 Subject: [PATCH] 3028a hdmi: improve Signal consistency --- .../video/rockchip/hdmi/chips/rk616/rk616_hdmi_hw.c | 10 +++++----- drivers/video/rockchip/hdmi/rk_hdmi_lcdc.c | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/video/rockchip/hdmi/chips/rk616/rk616_hdmi_hw.c b/drivers/video/rockchip/hdmi/chips/rk616/rk616_hdmi_hw.c index 84f8333d969d..31329551f0ef 100755 --- a/drivers/video/rockchip/hdmi/chips/rk616/rk616_hdmi_hw.c +++ b/drivers/video/rockchip/hdmi/chips/rk616/rk616_hdmi_hw.c @@ -100,13 +100,13 @@ static void rk616_hdmi_set_pwr_mode(int mode) case NORMAL: hdmi_dbg(hdmi->dev,"%s change pwr_mode NORMALpwr_mode = %d, mode = %d\n",__FUNCTION__,hdmi->pwr_mode,mode); rk616_hdmi_sys_power_down(); - if (hdmi->set_vif) { + if (!(hdmi->set_vif) && (hdmi->vic == HDMI_1920x1080p_60Hz || hdmi->vic == HDMI_1920x1080p_50Hz)) { + /* 3026 and 1080p */ + hdmi_writel(PHY_DRIVER,0xcc); + hdmi_writel(PHY_PRE_EMPHASIS,0x4f); + } else { hdmi_writel(PHY_DRIVER,0xaa); hdmi_writel(PHY_PRE_EMPHASIS,0x0f); - } else { - /* 3026 */ - hdmi_writel(PHY_DRIVER,0xbb); - hdmi_writel(PHY_PRE_EMPHASIS,0x4f); } hdmi_writel(PHY_SYS_CTL,0x2d); hdmi_writel(PHY_SYS_CTL,0x2c); diff --git a/drivers/video/rockchip/hdmi/rk_hdmi_lcdc.c b/drivers/video/rockchip/hdmi/rk_hdmi_lcdc.c index d2f1bef1e1b5..2b43dad334fb 100755 --- a/drivers/video/rockchip/hdmi/rk_hdmi_lcdc.c +++ b/drivers/video/rockchip/hdmi/rk_hdmi_lcdc.c @@ -107,10 +107,11 @@ int hdmi_set_info(struct rk29fb_screen *screen, unsigned int vic) screen->hdmi_resolution = hdmi_mode[i].flag; /* Pin polarity */ -#ifdef CONFIG_HDMI_RK616 +#if defined(CONFIG_HDMI_RK616) && !defined(CONFIG_ARCH_RK3026) screen->pin_hsync = 0; screen->pin_vsync = 0; #else + screen->pin_hsync = 0; if(FB_SYNC_HOR_HIGH_ACT & hdmi_mode[i].sync) screen->pin_hsync = 1; else -- 2.34.1