From f1d8317f7f90edf4ab258998bdc45c17f1b3b631 Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Fri, 10 Jul 2015 11:33:57 +0800 Subject: [PATCH] hdmi:rk3368/rk3288: modify phy termination resistance. Set single-ended source termination resistance to 100ohm for HDMI1.4 and 50ohm for HDMI2.0. Signed-off-by: Zheng Yang --- .../hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c index 4106858b6b2d..ef98b201b3b3 100755 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c @@ -462,23 +462,30 @@ static int rockchip_hdmiv2_config_phy(struct hdmi_dev *hdmi_dev) v_MPLL_GMP_CNTRL( phy_mpll->gmp_cntrl)); } - rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_TERM_RESIS, - v_TX_TERM(R50_OHMS)); + rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_CLKSYMCTRL, v_OVERRIDE(1) | v_SLOPEBOOST(0) | v_TX_SYMON(1) | v_TX_TRAON(0) | v_TX_TRBON(0) | v_CLK_SYMON(1)); - if (hdmi_dev->tmdsclk > 340000000) - rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_VLEVCTRL, - v_SUP_TXLVL(9) | v_SUP_CLKLVL(17)); - else if (hdmi_dev->tmdsclk > 165000000) - rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_VLEVCTRL, - v_SUP_TXLVL(14) | v_SUP_CLKLVL(17)); - else + if (hdmi_dev->tmdsclk > 340000000) { + rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_TERM_RESIS, + v_TX_TERM(R50_OHMS)); rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_VLEVCTRL, - v_SUP_TXLVL(18) | v_SUP_CLKLVL(17)); - - rockchip_hdmiv2_write_phy(hdmi_dev, 0x05, 0x8000); + v_SUP_TXLVL(9) | + v_SUP_CLKLVL(17)); + } else { + rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_TERM_RESIS, + v_TX_TERM(R100_OHMS)); + if (hdmi_dev->tmdsclk > 165000000) + rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_VLEVCTRL, + v_SUP_TXLVL(14) | + v_SUP_CLKLVL(17)); + else + rockchip_hdmiv2_write_phy(hdmi_dev, PHYTX_VLEVCTRL, + v_SUP_TXLVL(18) | + v_SUP_CLKLVL(17)); + } + /* rockchip_hdmiv2_write_phy(hdmi_dev, 0x05, 0x8000); */ if (hdmi_dev->tmdsclk_ratio_change) msleep(100); /* power on PHY */ -- 2.34.1