From 5aa16e093bd4d64ad677ad20635d4456e082a911 Mon Sep 17 00:00:00 2001 From: Guochun Huang Date: Thu, 22 Jul 2021 11:29:28 +0800 Subject: [PATCH] drm/rockchip/rk628: combtxphy: reducing DUAL LVDS power consumption Signed-off-by: Guochun Huang Change-Id: I831dc7879f8f4656e9db63c629c37cc5709d3e35 --- drivers/gpu/drm/rockchip/rk628/rk628_combtxphy.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rk628/rk628_combtxphy.c b/drivers/gpu/drm/rockchip/rk628/rk628_combtxphy.c index c7b682493b6f..e87f097bdf90 100644 --- a/drivers/gpu/drm/rockchip/rk628/rk628_combtxphy.c +++ b/drivers/gpu/drm/rockchip/rk628/rk628_combtxphy.c @@ -59,6 +59,10 @@ #define SW_TX_CTL_CON5(x) UPDATE(x, 10, 10) #define SW_TX_CTL_CON4_MASK GENMASK(9, 8) #define SW_TX_CTL_CON4(x) UPDATE(x, 9, 8) +#define BYPASS_095V_LDO_MASK BIT(3) +#define BYPASS_095V_LDO(x) UPDATE(x, 3, 3) +#define TX_COM_VOLT_ADJ_MASK GENMASK(2, 0) +#define TX_COM_VOLT_ADJ(x) UPDATE(x, 2, 0) #define COMBTXPHY_CON8 REG(0x0020) #define COMBTXPHY_CON9 REG(0x0024) #define SW_DSI_FSET_EN_MASK BIT(29) @@ -142,8 +146,13 @@ static int rk628_combtxphy_lvds_power_on(struct rk628_combtxphy *combtxphy) u32 val; int ret; + /* Adjust terminal resistance 133 ohm, bypass 0.95v ldo for driver. */ regmap_update_bits(combtxphy->regmap, COMBTXPHY_CON7, - SW_TX_MODE_MASK, SW_TX_MODE(3)); + SW_TX_RTERM_MASK | SW_TX_MODE_MASK | + BYPASS_095V_LDO_MASK | TX_COM_VOLT_ADJ_MASK, + SW_TX_RTERM(6) | SW_TX_MODE(3) | + BYPASS_095V_LDO(1) | TX_COM_VOLT_ADJ(0)); + regmap_write(combtxphy->regmap, COMBTXPHY_CON10, TX7_CKDRV_EN | TX2_CKDRV_EN); regmap_update_bits(combtxphy->regmap, COMBTXPHY_CON0,