mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 04:48:04 +09:00
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:
committed by
Jianxin Pan
parent
65079d0617
commit
6728638fb5
@@ -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();
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "hdmi_rx_edid.h"
|
||||
|
||||
|
||||
#define RX_VER0 "ver.2018-11-30"
|
||||
#define RX_VER0 "ver.2018-12-13"
|
||||
/*
|
||||
*
|
||||
*
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user