Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3955878pxb; Mon, 8 Feb 2021 04:35:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJzfnbJJL6j+JBHtkLdIA7UDP0P1xCMtYcqoVHEBzCOaTdab99KiEpuJgNH4A/yT7TOls7mI X-Received: by 2002:a17:906:34c3:: with SMTP id h3mr16720611ejb.132.1612787732138; Mon, 08 Feb 2021 04:35:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612787732; cv=none; d=google.com; s=arc-20160816; b=VXjE4kkHisWHWBvyn5HvWLIZHt+tw4FE0+lxsZoLImYqhBiwiEm40idJ3VBvKsaymd ZN9fXNDK6LsH+OhoMQx9QJqC+avxJuDA18zSRjg8rflAhHhF3pZUlp9BW3fD08tkNmUO c32EG/ddrHwveD5sgDm7oOatI4peYFJVqpigKN2KqSwqPKzRZFHTr+QSnhlat2HkTVdm Ca0r4Q0NuddJGNWwkVSRkSAFL8TYAIwmV7g9YniEO+dbKPggS2hEoWIdvm6HEXYlVjQW yO+j/J1ETo3VW9jWCAaAh/L1ls1e48zRGF4Q9gTWOVsi+b38oUWjyINsUS+1rtE35j8Y WT4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=78xTzDbFrd6q7YxkboAn8P9Fw8KZLdXBcJq+R0poj/w=; b=C1l5ppLyN5hWuPf7huSEoCYWNAq7V0lIbT8lxS9JwX9y2ZQ2lNib6LbfSuCoXfHk7i YF1tHB7S+mTsP7Y1mY1Roa/bAxOKTSYu8rFhz0SWT5KEz8plxi7G1RriA33vnpWV1bYU thvhi+csG2gue3Sl4QBoHnJNKlU79p3iemfl+Qrv/DtEbtAEPWKCziGcYKQHThLPPcTN Do8BRefzaHEEGZ9JyYslSyJqs83tZwMzR4ACRFePlTRbXKpzmMb7GBbefOyIg8xUpCGb mawyZOPeiA/q/6hMTqCAJwokZQ8q+TuBkIaBtkneG/bsPdhMiXmEd2czfACcBT8Ed2MR Yz/w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=siol.net Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id kq16si11533585ejb.120.2021.02.08.04.35.07; Mon, 08 Feb 2021 04:35:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=siol.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232209AbhBHMdB (ORCPT + 99 others); Mon, 8 Feb 2021 07:33:01 -0500 Received: from mailoutvs17.siol.net ([185.57.226.208]:53002 "EHLO mail.siol.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S231347AbhBHMUE (ORCPT ); Mon, 8 Feb 2021 07:20:04 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTP id 21EF952234E; Mon, 8 Feb 2021 13:18:10 +0100 (CET) X-Virus-Scanned: amavisd-new at psrvmta12.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta12.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 7fHOD_LTOZrw; Mon, 8 Feb 2021 13:18:09 +0100 (CET) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTPS id D00D152226D; Mon, 8 Feb 2021 13:18:09 +0100 (CET) Received: from kista.localdomain (cpe-86-58-58-53.static.triera.net [86.58.58.53]) (Authenticated sender: 031275009) by mail.siol.net (Zimbra) with ESMTPSA id 84ECB52234E; Mon, 8 Feb 2021 13:18:07 +0100 (CET) From: Jernej Skrabec To: mripard@kernel.org, wens@csie.org Cc: mturquette@baylibre.com, sboyd@kernel.org, airlied@linux.ie, daniel@ffwll.ch, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, Andre Heider Subject: [PATCH v2 4/5] drm/sun4i: Fix H6 HDMI PHY configuration Date: Mon, 8 Feb 2021 13:17:51 +0100 Message-Id: <20210208121752.2255465-5-jernej.skrabec@siol.net> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210208121752.2255465-1-jernej.skrabec@siol.net> References: <20210208121752.2255465-1-jernej.skrabec@siol.net> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As it turns out, vendor HDMI PHY driver for H6 has a pretty big table of predefined values for various pixel clocks. However, most of them are not useful/tested because they come from reference driver code. Vendor PHY driver is concerned with only few of those, namely 27 MHz, 74.25 MHz, 148.5 MHz, 297 MHz and 594 MHz. These are all frequencies for standard CEA modes. Fix sun50i_h6_cur_ctr and sun50i_h6_phy_config with the values only for aforementioned frequencies. Table sun50i_h6_mpll_cfg doesn't need to be changed because values are actually frequency dependant and not so much SoC dependant. See i.MX6 documentation for explanation of those values for similar PHY. Fixes: c71c9b2fee17 ("drm/sun4i: Add support for Synopsys HDMI PHY") Tested-by: Andre Heider Signed-off-by: Jernej Skrabec --- drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c b/drivers/gpu/drm/sun= 4i/sun8i_hdmi_phy.c index 35c2133724e2..9994edf67509 100644 --- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c +++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c @@ -104,29 +104,21 @@ static const struct dw_hdmi_mpll_config sun50i_h6_m= pll_cfg[] =3D { =20 static const struct dw_hdmi_curr_ctrl sun50i_h6_cur_ctr[] =3D { /* pixelclk bpp8 bpp10 bpp12 */ - { 25175000, { 0x0000, 0x0000, 0x0000 }, }, { 27000000, { 0x0012, 0x0000, 0x0000 }, }, - { 59400000, { 0x0008, 0x0008, 0x0008 }, }, - { 72000000, { 0x0008, 0x0008, 0x001b }, }, - { 74250000, { 0x0013, 0x0013, 0x0013 }, }, - { 90000000, { 0x0008, 0x001a, 0x001b }, }, - { 118800000, { 0x001b, 0x001a, 0x001b }, }, - { 144000000, { 0x001b, 0x001a, 0x0034 }, }, - { 180000000, { 0x001b, 0x0033, 0x0034 }, }, - { 216000000, { 0x0036, 0x0033, 0x0034 }, }, - { 237600000, { 0x0036, 0x0033, 0x001b }, }, - { 288000000, { 0x0036, 0x001b, 0x001b }, }, - { 297000000, { 0x0019, 0x001b, 0x0019 }, }, - { 330000000, { 0x0036, 0x001b, 0x001b }, }, - { 594000000, { 0x003f, 0x001b, 0x001b }, }, + { 74250000, { 0x0013, 0x001a, 0x001b }, }, + { 148500000, { 0x0019, 0x0033, 0x0034 }, }, + { 297000000, { 0x0019, 0x001b, 0x001b }, }, + { 594000000, { 0x0010, 0x001b, 0x001b }, }, { ~0UL, { 0x0000, 0x0000, 0x0000 }, } }; =20 static const struct dw_hdmi_phy_config sun50i_h6_phy_config[] =3D { /*pixelclk symbol term vlev*/ - { 74250000, 0x8009, 0x0004, 0x0232}, - { 148500000, 0x8029, 0x0004, 0x0273}, - { 594000000, 0x8039, 0x0004, 0x014a}, + { 27000000, 0x8009, 0x0007, 0x02b0 }, + { 74250000, 0x8009, 0x0006, 0x022d }, + { 148500000, 0x8029, 0x0006, 0x0270 }, + { 297000000, 0x8039, 0x0005, 0x01ab }, + { 594000000, 0x8029, 0x0000, 0x008a }, { ~0UL, 0x0000, 0x0000, 0x0000} }; =20 --=20 2.30.0