3028a hdmi: improve Signal consistency

This commit is contained in:
xuhuicong
2013-08-02 16:44:35 +08:00
parent 2b0034ec2e
commit 313eeecb7e
2 changed files with 7 additions and 6 deletions

View File

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

View File

@@ -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