hdmirx: fix dvi issue when resume [1/1]

PD#SWPL-2641

Problem:
SDA of I2C was pulled down,the box cant read EDID and then send DVI.

Solution:
Add rxsense pulse to avoid mtk box sda low issue.

Verify:
Local

Change-Id: I0d3dc4b0c3b956663be1d3e383094e456f3d4e7d
Signed-off-by: yicheng shen <yicheng.shen@amlogic.com>
This commit is contained in:
yicheng shen
2018-12-13 04:12:07 -05:00
committed by Jianxin Pan
parent 65079d0617
commit 6728638fb5
4 changed files with 7 additions and 7 deletions

View File

@@ -1691,7 +1691,7 @@ static void rx_phy_suspend(void)
if (hdmi_cec_en != 0) {
if (suspend_pddq_sel == 2) {
/* set rxsense pulse */
rx_phy_rxsense_pulse(10, 10);
rx_phy_rxsense_pulse(10, 10, 0);
}
}
/* phy powerdown */
@@ -1707,7 +1707,7 @@ static void rx_phy_resume(void)
* rxsense pulse and phy_int shottern than
* 50ms, SDA may be pulled low 800ms on MTK box
*/
rx_phy_rxsense_pulse(20, 50);
rx_phy_rxsense_pulse(20, 50, 1);
}
}
hdmirx_phy_init();

View File

@@ -34,7 +34,7 @@
#include "hdmi_rx_edid.h"
#define RX_VER0 "ver.2018-11-30"
#define RX_VER0 "ver.2018-12-13"
/*
*
*

View File

@@ -3561,12 +3561,12 @@ unsigned int aml_phy_tmds_valid(void)
}
}
void rx_phy_rxsense_pulse(unsigned int t1, unsigned int t2)
void rx_phy_rxsense_pulse(unsigned int t1, unsigned int t2, bool en)
{
/* set rxsense pulse */
hdmirx_phy_pddq(1);
hdmirx_phy_pddq(!en);
mdelay(t1);
hdmirx_phy_pddq(0);
hdmirx_phy_pddq(en);
mdelay(t2);
}

View File

@@ -1204,7 +1204,7 @@ extern void rx_force_rxsense_cfg(uint8_t level);
extern void rx_force_hpd_rxsense_cfg(uint8_t level);
extern void rx_audio_bandgap_rst(void);
extern void rx_audio_bandgap_rst(void);
extern void rx_phy_rxsense_pulse(unsigned int t1, unsigned int t2);
extern void rx_phy_rxsense_pulse(unsigned int t1, unsigned int t2, bool en);
extern void rx_phy_power_on(unsigned int onoff);