From ceb6a6c693039397e6406a99e9201b4d4f1f37bc Mon Sep 17 00:00:00 2001 From: yicheng shen Date: Mon, 24 Jun 2019 16:00:05 +0800 Subject: [PATCH] hdmitx: update phy setting of 3G for SM1 [2/2] PD#SWPL-8791 Problem: HDMITX Eye Diagram of SM1 test fail Solution: Optimize the PHY setting. Verify: SM1 Change-Id: I33d8b8a1a515fe478845287c44271524b256c5f1 Signed-off-by: yicheng shen Signed-off-by: Luan Yuan --- .../vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c | 21 ++++++++++++++++++- .../media/vout/hdmi_tx/hdmi_tx_module.h | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c index 81790cb20460..4ed857b73d23 100644 --- a/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c +++ b/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hw/hdmi_tx_hw.c @@ -1997,7 +1997,6 @@ static void set_phy_by_mode(unsigned int mode) switch (hdev->chip_type) { case MESON_CPU_ID_G12A: case MESON_CPU_ID_G12B: - case MESON_CPU_ID_SM1: switch (mode) { case 1: /* 5.94/4.5/3.7Gbps */ hd_write_reg(P_HHI_HDMI_PHY_CNTL0, 0x37eb65c4); @@ -2017,6 +2016,26 @@ static void set_phy_by_mode(unsigned int mode) break; } break; + case MESON_CPU_ID_SM1: + switch (mode) { + case 1: /* 5.94/4.5/3.7Gbps */ + hd_write_reg(P_HHI_HDMI_PHY_CNTL0, 0x37eb65c4); + hd_write_reg(P_HHI_HDMI_PHY_CNTL3, 0x2ab0ff3b); + hd_write_reg(P_HHI_HDMI_PHY_CNTL5, 0x0000080b); + break; + case 2: /* 2.97Gbps */ + hd_write_reg(P_HHI_HDMI_PHY_CNTL0, 0x33eb42a2); + hd_write_reg(P_HHI_HDMI_PHY_CNTL3, 0x2ab0ff3b); + hd_write_reg(P_HHI_HDMI_PHY_CNTL5, 0x00000003); + break; + case 3: /* 1.485Gbps, and below */ + default: + hd_write_reg(P_HHI_HDMI_PHY_CNTL0, 0x33eb4242); + hd_write_reg(P_HHI_HDMI_PHY_CNTL3, 0x2ab0ff3b); + hd_write_reg(P_HHI_HDMI_PHY_CNTL5, 0x00000003); + break; + } + break; case MESON_CPU_ID_M8B: case MESON_CPU_ID_GXBB: case MESON_CPU_ID_GXTVBB: diff --git a/include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h b/include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h index 40a13e2765a7..0cbfc3ac20d6 100644 --- a/include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h +++ b/include/linux/amlogic/media/vout/hdmi_tx/hdmi_tx_module.h @@ -27,7 +27,7 @@ #include /* HDMITX driver version */ -#define HDMITX_VER "20181019" +#define HDMITX_VER "20190624" /* chip type */ #define MESON_CPU_ID_M8B 0