mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
media: i2c: rk628: fix CTS test fail
1. disable RR_Capable in EDID. 2. HDCP 2C-01/2C-02 fail, HPD hpd drawdown time extended to 1.1s. Type: Fix Redmine ID: N/A Associated modifications: N/A Test: CTS test Change-Id: I7f80372e30d6d6ec40df5c1f289bcfb9937171b2 Signed-off-by: Chen Shunqing <csq@rock-chips.com>
This commit is contained in:
@@ -423,8 +423,6 @@ static void rk628_bt1120_delayed_work_enable_hotplug(struct work_struct *work)
|
||||
if (bt1120->cec && bt1120->cec->adap)
|
||||
rk628_hdmirx_cec_state_reconfiguration(bt1120->rk628, bt1120->cec);
|
||||
rk628_bt1120_enable_interrupts(sd, true);
|
||||
rk628_i2c_update_bits(bt1120->rk628, GRF_SYSTEM_CON0,
|
||||
SW_I2S_DATA_OEN_MASK, SW_I2S_DATA_OEN(0));
|
||||
} else {
|
||||
bt1120->nosignal = true;
|
||||
rk628_hdmirx_plugout(sd);
|
||||
@@ -486,7 +484,7 @@ static void rk628_delayed_work_res_change(struct work_struct *work)
|
||||
rk628_hdmirx_inno_phy_power_off(sd);
|
||||
rk628_hdmirx_controller_reset(bt1120->rk628);
|
||||
schedule_delayed_work(&bt1120->delayed_work_enable_hotplug,
|
||||
msecs_to_jiffies(800));
|
||||
msecs_to_jiffies(1100));
|
||||
} else {
|
||||
rk628_bt1120_enable_interrupts(sd, false);
|
||||
enable_stream(sd, false);
|
||||
@@ -870,12 +868,14 @@ static void rk628_bt1120_initial_setup(struct v4l2_subdev *sd)
|
||||
SW_OUTPUT_MODE_MASK |
|
||||
SW_EFUSE_HDCP_EN_MASK |
|
||||
SW_HSYNC_POL_MASK |
|
||||
SW_VSYNC_POL_MASK,
|
||||
SW_VSYNC_POL_MASK |
|
||||
SW_I2S_DATA_OEN_MASK,
|
||||
SW_INPUT_MODE(INPUT_MODE_HDMI) |
|
||||
SW_OUTPUT_MODE(OUTPUT_MODE_BT1120) |
|
||||
SW_EFUSE_HDCP_EN(0) |
|
||||
SW_HSYNC_POL(1) |
|
||||
SW_VSYNC_POL(1));
|
||||
SW_VSYNC_POL(1) |
|
||||
SW_I2S_DATA_OEN(0));
|
||||
rk628_hdmirx_controller_reset(bt1120->rk628);
|
||||
|
||||
def_edid.pad = 0;
|
||||
|
||||
@@ -210,7 +210,7 @@ static u8 rk628f_edid_init_data[] = {
|
||||
0x60, 0x61, 0x23, 0x09, 0x07, 0x07, 0x83, 0x01,
|
||||
0x00, 0x00, 0x6D, 0x03, 0x0C, 0x00, 0x10, 0x00,
|
||||
0x00, 0x44, 0x20, 0x00, 0x60, 0x03, 0x02, 0x01,
|
||||
0x67, 0xD8, 0x5D, 0xC4, 0x01, 0x78, 0xC0, 0x00,
|
||||
0x67, 0xD8, 0x5D, 0xC4, 0x01, 0x78, 0x80, 0x00,
|
||||
0xE3, 0x05, 0x03, 0x01, 0xE4, 0x0F, 0x00, 0x18,
|
||||
0x00, 0x02, 0x3A, 0x80, 0x18, 0x71, 0x38, 0x2D,
|
||||
0x40, 0x58, 0x2C, 0x45, 0x00, 0xB9, 0xA8, 0x42,
|
||||
@@ -220,7 +220,7 @@ static u8 rk628f_edid_init_data[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3,
|
||||
};
|
||||
|
||||
static const struct mipi_timing rk628d_csi_mipi = {
|
||||
@@ -510,8 +510,6 @@ static void rk628_csi_delayed_work_enable_hotplug(struct work_struct *work)
|
||||
if (csi->cec && csi->cec->adap)
|
||||
rk628_hdmirx_cec_state_reconfiguration(csi->rk628, csi->cec);
|
||||
rk628_csi_enable_interrupts(sd, true);
|
||||
rk628_i2c_update_bits(csi->rk628, GRF_SYSTEM_CON0,
|
||||
SW_I2S_DATA_OEN_MASK, SW_I2S_DATA_OEN(0));
|
||||
} else {
|
||||
rk628_hdmirx_plugout(sd);
|
||||
}
|
||||
@@ -570,7 +568,7 @@ static void rk628_delayed_work_res_change(struct work_struct *work)
|
||||
rk628_hdmirx_inno_phy_power_off(sd);
|
||||
rk628_hdmirx_controller_reset(csi->rk628);
|
||||
schedule_delayed_work(&csi->delayed_work_enable_hotplug,
|
||||
msecs_to_jiffies(800));
|
||||
msecs_to_jiffies(1100));
|
||||
} else {
|
||||
rk628_hdmirx_audio_cancel_work_audio(csi->audio_info, true);
|
||||
rk628_hdmirx_inno_phy_power_off(sd);
|
||||
@@ -1340,12 +1338,14 @@ static void rk628_csi_initial_setup(struct v4l2_subdev *sd)
|
||||
mask |
|
||||
SW_EFUSE_HDCP_EN_MASK |
|
||||
SW_HSYNC_POL_MASK |
|
||||
SW_VSYNC_POL_MASK,
|
||||
SW_VSYNC_POL_MASK |
|
||||
SW_I2S_DATA_OEN_MASK,
|
||||
SW_INPUT_MODE(INPUT_MODE_HDMI) |
|
||||
val |
|
||||
SW_EFUSE_HDCP_EN(0) |
|
||||
SW_HSYNC_POL(1) |
|
||||
SW_VSYNC_POL(1));
|
||||
SW_VSYNC_POL(1) |
|
||||
SW_I2S_DATA_OEN(0));
|
||||
rk628_hdmirx_controller_reset(csi->rk628);
|
||||
|
||||
def_edid.pad = 0;
|
||||
|
||||
Reference in New Issue
Block a user