diff --git a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c index 50a15e6539c0..b3db69faf35f 100644 --- a/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c +++ b/drivers/amlogic/media/vin/tvin/hdmirx/hdmi_rx_hw.c @@ -1706,10 +1706,15 @@ if (en) { */ void hdmirx_hdcp22_esm_rst(void) { -hdmirx_wr_top(TOP_SW_RESET, 0x100); -mdelay(1); -hdmirx_wr_top(TOP_SW_RESET, 0x0); -rx_pr("esm rst\n"); + /* For TL1,the sw_reset_hdcp22 bit is top reg 0x0,bit'12 */ + if (rx.chip_id == CHIP_ID_TL1) + hdmirx_wr_top(TOP_SW_RESET, 0x1000); + else + /* For txlx and previous chips,the sw_reset_hdcp22 is bit'8 */ + hdmirx_wr_top(TOP_SW_RESET, 0x100); + mdelay(1); + hdmirx_wr_top(TOP_SW_RESET, 0x0); + rx_pr("esm rst\n"); } /*