57 lines
2.4 KiB
Diff
57 lines
2.4 KiB
Diff
|
From 63d794d460040c24526b2263af24421087721e35 Mon Sep 17 00:00:00 2001
|
||
|
From: Yakir Yang <ykk@rock-chips.com>
|
||
|
Date: Mon, 11 Jul 2016 19:05:39 +0800
|
||
|
Subject: [PATCH 07/14] drm/rockchip: dw_hdmi: adjust cklvl & txlvl for RF/EMI
|
||
|
|
||
|
Dut to the high HDMI signal voltage driver, Mickey have meet
|
||
|
a serious RF/EMI problem, so we decided to reduce HDMI signal
|
||
|
voltage to a proper value.
|
||
|
|
||
|
The default params for phy is cklvl = 20 & txlvl = 13 (RF/EMI failed)
|
||
|
ck: lvl = 13, term=100, vlo = 2.71, vhi=3.14, vswing = 0.43
|
||
|
tx: lvl = 20, term=100, vlo = 2.81, vhi=3.16, vswing = 0.35
|
||
|
|
||
|
1. We decided to reduce voltage value to lower, but VSwing still
|
||
|
keep high, RF/EMI have been improved but still failed.
|
||
|
ck: lvl = 6, term=100, vlo = 2.61, vhi=3.11, vswing = 0.50
|
||
|
tx: lvl = 6, term=100, vlo = 2.61, vhi=3.11, vswing = 0.50
|
||
|
|
||
|
2. We try to keep voltage value and vswing both lower, then RF/EMI
|
||
|
test all passed ;)
|
||
|
ck: lvl = 11, term= 66, vlo = 2.68, vhi=3.09, vswing = 0.40
|
||
|
tx: lvl = 11, term= 66, vlo = 2.68, vhi=3.09, vswing = 0.40
|
||
|
When we back to run HDMI different test and single-end test, we see
|
||
|
different test passed, but signle-end test failed. The oscilloscope
|
||
|
show that simgle-end clock's VL value is 1.78v (which remind LowLimit
|
||
|
should not lower then 2.6v).
|
||
|
|
||
|
3. That's to say there are some different between PHY document and
|
||
|
measure value. And according to experiment 2 results, we need to
|
||
|
higher clock voltage and lower data voltage, then we can keep RF/EMI
|
||
|
satisfied and single-end & differen test passed.
|
||
|
ck: lvl = 9, term=100, vlo = 2.65, vhi=3.12, vswing = 0.47
|
||
|
tx: lvl = 16, term=100, vlo = 2.75, vhi=3.15, vswing = 0.39
|
||
|
|
||
|
Signed-off-by: Yakir Yang <ykk@rock-chips.com>
|
||
|
Reviewed-by: Douglas Anderson <dianders@chromium.org>
|
||
|
---
|
||
|
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||
|
index 7d7ee5b26..3cd86070f 100644
|
||
|
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||
|
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
|
||
|
@@ -168,7 +168,7 @@ static const struct dw_hdmi_curr_ctrl rockchip_cur_ctr[] = {
|
||
|
static const struct dw_hdmi_phy_config rockchip_phy_config[] = {
|
||
|
/*pixelclk symbol term vlev*/
|
||
|
{ 74250000, 0x8009, 0x0004, 0x0272},
|
||
|
- { 148500000, 0x802b, 0x0004, 0x028d},
|
||
|
+ { 165000000, 0x802b, 0x0004, 0x0209},
|
||
|
{ 297000000, 0x8039, 0x0005, 0x028d},
|
||
|
{ ~0UL, 0x0000, 0x0000, 0x0000}
|
||
|
};
|
||
|
--
|
||
|
2.26.2
|
||
|
|