phy: rockchip: inno-hdmi: enable RK3328 150ohm differential resistance

On some sink, e.g. Philips 24PFL3545/T3, Y data which is transmitted
in the D1 channel was recognized error, and picture will show noise.
It's fixed after enable the 150ohm differential resistance.

Change-Id: Ie1197dc78260bf7931786ebbccf98e9599b66ccd
Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
This commit is contained in:
Zheng Yang
2017-12-29 14:09:54 +08:00
committed by Tao Huang
parent 86155ccebc
commit 377f793ebf

View File

@@ -283,7 +283,7 @@ static const struct phy_config rk3228_phy_cfg[] = {
static const struct phy_config rk3328_phy_cfg[] = {
{ 165000000, {
0x07, 0x08, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x08,
0x07, 0x0a, 0x0a, 0x0a, 0x00, 0x00, 0x08, 0x08, 0x08,
0x00, 0xac, 0xcc, 0xcc, 0xcc,
},
}, {
@@ -774,17 +774,15 @@ inno_hdmi_phy_rk3328_power_on(struct inno_hdmi_phy *inno,
inno_write(inno, 0xc6, val & 0xff);
inno_write(inno, 0xc7, 3 << 1);
inno_write(inno, 0xc5, ((val >> 8) & 0xff));
} else if (phy_cfg->tmdsclock > 165000000) {
} else {
inno_write(inno, 0xc5, 0x81);
/* clk termination resistor is 50ohm
* data termination resistor is 150ohm
*/
inno_write(inno, 0xc8, 0x30);
/* clk termination resistor is 50ohm */
if (phy_cfg->tmdsclock > 165000000)
inno_write(inno, 0xc8, 0x30);
/* data termination resistor is 150ohm */
inno_write(inno, 0xc9, 0x10);
inno_write(inno, 0xca, 0x10);
inno_write(inno, 0xcb, 0x10);
} else {
inno_write(inno, 0xc5, 0x81);
}
/* Power up post PLL */