From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yakir Yang Subject: [PATCH v1 2/6] drm/rockchip: dw_hdmi: adjust cklvl & txlvl for RF/EMI Date: Mon, 11 Jul 2016 19:05:39 +0800 Message-ID: <1468235139-29460-1-git-send-email-ykk@rock-chips.com> References: <1468235079-29152-1-git-send-email-ykk@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1468235079-29152-1-git-send-email-ykk@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark Yao , Heiko Stuebner , Rob Herring , Russell King , Philipp Zabel , Andy Yan Cc: devicetree@vger.kernel.org, Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Kumar Gala , xhc@rock-chips.com, linux-arm-kernel@lists.infradead.org, Zheng Yang List-Id: linux-rockchip.vger.kernel.org RHV0IHRvIHRoZSBoaWdoIEhETUkgc2lnbmFsIHZvbHRhZ2UgZHJpdmVyLCBNaWNrZXkgaGF2ZSBt ZWV0CmEgc2VyaW91cyBSRi9FTUkgcHJvYmxlbSwgc28gd2UgZGVjaWRlZCB0byByZWR1Y2UgSERN SSBzaWduYWwKdm9sdGFnZSB0byBhIHByb3BlciB2YWx1ZS4KClRoZSBkZWZhdWx0IHBhcmFtcyBm b3IgcGh5IGlzIGNrbHZsID0gMjAgJiB0eGx2bCA9IDEzIChSRi9FTUkgZmFpbGVkKQogIGNrOiBs dmwgPSAxMywgdGVybT0xMDAsIHZsbyA9IDIuNzEsIHZoaT0zLjE0LCB2c3dpbmcgPSAwLjQzCiAg dHg6IGx2bCA9IDIwLCB0ZXJtPTEwMCwgdmxvID0gMi44MSwgdmhpPTMuMTYsIHZzd2luZyA9IDAu MzUKCjEuIFdlIGRlY2lkZWQgdG8gcmVkdWNlIHZvbHRhZ2UgdmFsdWUgdG8gbG93ZXIsIGJ1dCBW U3dpbmcgc3RpbGwKa2VlcCBoaWdoLCBSRi9FTUkgaGF2ZSBiZWVuIGltcHJvdmVkIGJ1dCBzdGls bCBmYWlsZWQuCiAgIGNrOiBsdmwgPSAgNiwgdGVybT0xMDAsIHZsbyA9IDIuNjEsIHZoaT0zLjEx LCB2c3dpbmcgPSAwLjUwCiAgIHR4OiBsdmwgPSAgNiwgdGVybT0xMDAsIHZsbyA9IDIuNjEsIHZo aT0zLjExLCB2c3dpbmcgPSAwLjUwCgoyLiBXZSB0cnkgdG8ga2VlcCB2b2x0YWdlIHZhbHVlIGFu ZCB2c3dpbmcgYm90aCBsb3dlciwgdGhlbiBSRi9FTUkKdGVzdCBhbGwgcGFzc2VkICA7KQogICBj azogbHZsID0gMTEsIHRlcm09IDY2LCB2bG8gPSAyLjY4LCB2aGk9My4wOSwgdnN3aW5nID0gMC40 MAogICB0eDogbHZsID0gMTEsIHRlcm09IDY2LCB2bG8gPSAyLjY4LCB2aGk9My4wOSwgdnN3aW5n ID0gMC40MApXaGVuIHdlIGJhY2sgdG8gcnVuIEhETUkgZGlmZmVyZW50IHRlc3QgYW5kIHNpbmds ZS1lbmQgdGVzdCwgd2Ugc2VlCmRpZmZlcmVudCB0ZXN0IHBhc3NlZCwgYnV0IHNpZ25sZS1lbmQg dGVzdCBmYWlsZWQuIFRoZSBvc2NpbGxvc2NvcGUKc2hvdyB0aGF0IHNpbWdsZS1lbmQgY2xvY2sn cyBWTCB2YWx1ZSBpcyAxLjc4diAod2hpY2ggcmVtaW5kIExvd0xpbWl0CnNob3VsZCBub3QgbG93 ZXIgdGhlbiAyLjZ2KS4KCjMuIFRoYXQncyB0byBzYXkgdGhlcmUgYXJlIHNvbWUgZGlmZmVyZW50 IGJldHdlZW4gUEhZIGRvY3VtZW50IGFuZAptZWFzdXJlIHZhbHVlLiBBbmQgYWNjb3JkaW5nIHRv IGV4cGVyaW1lbnQgMiByZXN1bHRzLCB3ZSBuZWVkIHRvCmhpZ2hlciBjbG9jayB2b2x0YWdlIGFu ZCBsb3dlciBkYXRhIHZvbHRhZ2UsIHRoZW4gd2UgY2FuIGtlZXAgUkYvRU1JCnNhdGlzZmllZCBh bmQgc2luZ2xlLWVuZCAmIGRpZmZlcmVuIHRlc3QgcGFzc2VkLgogIGNrOiBsdmwgPSAgOSwgdGVy bT0xMDAsIHZsbyA9IDIuNjUsIHZoaT0zLjEyLCB2c3dpbmcgPSAwLjQ3CiAgdHg6IGx2bCA9IDE2 LCB0ZXJtPTEwMCwgdmxvID0gMi43NSwgdmhpPTMuMTUsIHZzd2luZyA9IDAuMzkKClNpZ25lZC1v ZmYtYnk6IFlha2lyIFlhbmcgPHlra0Byb2NrLWNoaXBzLmNvbT4KUmV2aWV3ZWQtYnk6IERvdWds YXMgQW5kZXJzb24gPGRpYW5kZXJzQGNocm9taXVtLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvZHdfaGRtaS1yb2NrY2hpcC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL2R3X2hkbWktcm9ja2NoaXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kd19o ZG1pLXJvY2tjaGlwLmMKaW5kZXggYTYyMTExOC4uY2RiNjNhYyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL2R3X2hkbWktcm9ja2NoaXAuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvZHdfaGRtaS1yb2NrY2hpcC5jCkBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkd19oZG1pX2N1cnJfY3RybCByb2NrY2hpcF9jdXJfY3RyW10gPSB7CiBz dGF0aWMgY29uc3Qgc3RydWN0IGR3X2hkbWlfcGh5X2NvbmZpZyByb2NrY2hpcF9waHlfY29uZmln W10gPSB7CiAJLypwaXhlbGNsayAgIHN5bWJvbCAgIHRlcm0gICB2bGV2Ki8KIAl7IDc0MjUwMDAw LCAgMHg4MDA5LCAweDAwMDQsIDB4MDI3Mn0sCi0JeyAxNDg1MDAwMDAsIDB4ODAyYiwgMHgwMDA0 LCAweDAyOGR9LAorCXsgMTY1MDAwMDAwLCAweDgwMmIsIDB4MDAwNCwgMHgwMjA5fSwKIAl7IDI5 NzAwMDAwMCwgMHg4MDM5LCAweDAwMDUsIDB4MDI4ZH0sCiAJeyB+MFVMLAkgICAgIDB4MDAwMCwg MHgwMDAwLCAweDAwMDB9CiB9OwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: ykk@rock-chips.com (Yakir Yang) Date: Mon, 11 Jul 2016 19:05:39 +0800 Subject: [PATCH v1 2/6] drm/rockchip: dw_hdmi: adjust cklvl & txlvl for RF/EMI In-Reply-To: <1468235079-29152-1-git-send-email-ykk@rock-chips.com> References: <1468235079-29152-1-git-send-email-ykk@rock-chips.com> Message-ID: <1468235139-29460-1-git-send-email-ykk@rock-chips.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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 Reviewed-by: Douglas Anderson --- 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 a621118..cdb63ac 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -124,7 +124,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} }; -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758683AbcGKLFu (ORCPT ); Mon, 11 Jul 2016 07:05:50 -0400 Received: from lucky1.263xmail.com ([211.157.147.135]:58938 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758106AbcGKLFr (ORCPT ); Mon, 11 Jul 2016 07:05:47 -0400 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: ykk@rock-chips.com X-FST-TO: mark.yao@rock-chips.com X-SENDER-IP: 58.22.7.114 X-LOGIN-NAME: ykk@rock-chips.com X-UNIQUE-TAG: <61492dfc8b0e96926c6764c3049b7f85> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 From: Yakir Yang To: Mark Yao , Heiko Stuebner , Rob Herring , Russell King , Philipp Zabel , Andy Yan Cc: David Airlie , Daniel Vetter , Kumar Gala , Zheng Yang , xhc@rock-chips.com, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Yakir Yang Subject: [PATCH v1 2/6] drm/rockchip: dw_hdmi: adjust cklvl & txlvl for RF/EMI Date: Mon, 11 Jul 2016 19:05:39 +0800 Message-Id: <1468235139-29460-1-git-send-email-ykk@rock-chips.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1468235079-29152-1-git-send-email-ykk@rock-chips.com> References: <1468235079-29152-1-git-send-email-ykk@rock-chips.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Reviewed-by: Douglas Anderson --- 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 a621118..cdb63ac 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -124,7 +124,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} }; -- 1.9.1