hdmi:rk3288/rk3368: set controller register in uboot logo mode.
authorZheng Yang <zhengyang@rock-chips.com>
Thu, 23 Jul 2015 01:05:37 +0000 (09:05 +0800)
committerZheng Yang <zhengyang@rock-chips.com>
Thu, 23 Jul 2015 01:05:37 +0000 (09:05 +0800)
EDID data readed in uboot and kernel may be different, and hdmi
output color mode is different in uboot and kernel: uboot output
RGB when EDID is wrong and kernel output YCbCr with right EDID.
But avi infomation and controller register is not set in kernel,
so the picture is wrong. Now fix this bug.

Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c

index 8492717a1c567682ec295e6c5092a44661ab8668..5ca7c1a15eeb2433971ade8ae74c081f2b650690 100755 (executable)
@@ -578,12 +578,6 @@ static int rockchip_hdmiv2_video_framecomposer(struct hdmi *hdmi_drv,
        hdmi_dev->pixelrepeat = timing->pixelrepeat;
        hdmi_dev->colordepth = vpara->color_output_depth;
 
-       /* Video Register has already been set in uboot,
-          so we no need to set again */
-
-       if (hdmi_drv->uboot)
-               return -1;
-
        /* Start/stop HDCP keepout window generation */
        hdmi_msk_reg(hdmi_dev, FC_INVIDCONF,
                     m_FC_HDCP_KEEPOUT, v_FC_HDCP_KEEPOUT(1));
@@ -1301,7 +1295,8 @@ static int hdmi_dev_config_video(struct hdmi *hdmi, struct hdmi_video *vpara)
                dev_info(hdmi->dev, "[%s] sucess output DVI.\n", __func__);
        }
 
-       rockchip_hdmiv2_config_phy(hdmi_dev);
+       if (!hdmi->uboot)
+               rockchip_hdmiv2_config_phy(hdmi_dev);
        return 0;
 }