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>
hdmi_dev->pixelrepeat = timing->pixelrepeat;
hdmi_dev->colordepth = vpara->color_output_depth;
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));
/* Start/stop HDCP keepout window generation */
hdmi_msk_reg(hdmi_dev, FC_INVIDCONF,
m_FC_HDCP_KEEPOUT, v_FC_HDCP_KEEPOUT(1));
dev_info(hdmi->dev, "[%s] sucess output DVI.\n", __func__);
}
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);