diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c index dd75a4fd0755..7c381d8f02f2 100644 --- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c +++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c @@ -4401,6 +4401,9 @@ static void config_hdmi20_tx(enum hdmi_vic vic, /* Reset pulse */ hdmitx_rd_check_reg(HDMITX_DWC_MC_LOCKONCLOCK, 0xff, 0x9f); + + hd_write_reg(P_ENCP_VIDEO_EN, 0); + hdmitx_wr_reg(HDMITX_DWC_MC_CLKDIS, 0xdf); hdmitx_wr_reg(HDMITX_DWC_MC_SWRSTZREQ, 0); mdelay(10); @@ -4415,11 +4418,9 @@ static void config_hdmi20_tx(enum hdmi_vic vic, hdmitx_wr_reg(HDMITX_DWC_MC_SWRSTZREQ, data32); hdmitx_wr_reg(HDMITX_DWC_FC_VSYNCINWIDTH, hdmitx_rd_reg(HDMITX_DWC_FC_VSYNCINWIDTH)); - /*reset again*/ - mdelay(1); - hdmitx_wr_reg(HDMITX_DWC_MC_SWRSTZREQ, 0); - hdmitx_wr_reg(HDMITX_DWC_FC_VSYNCINWIDTH, - hdmitx_rd_reg(HDMITX_DWC_FC_VSYNCINWIDTH)); + + hdmitx_wr_reg(HDMITX_DWC_MC_CLKDIS, 0); + hd_write_reg(P_ENCP_VIDEO_EN, 0xff); hdmitx_set_reg_bits(HDMITX_DWC_FC_INVIDCONF, 0, 3, 1); mdelay(1);