Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp966565pxb; Tue, 9 Feb 2021 18:16:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJz4PlEO+kccn0vS7aMmOZt/g6/Zxq7QX3VeD0Qq02WcZdKgrF/bl9gWpbEBVoIKtSvNBmsQ X-Received: by 2002:a17:906:4dc3:: with SMTP id f3mr624712ejw.233.1612923366648; Tue, 09 Feb 2021 18:16:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612923366; cv=none; d=google.com; s=arc-20160816; b=nH2uu4p4ADofwWKWJrR8lUddc4yyxZpHgf31cXqgC6npuX56QmHQ454Ox77/K1fLP0 ednqJjmxykLKtgVnZtM6ipvDHZ26JYjJ0GrEwUXR+h0m8vtxXJg/mGllDioUNKRDBOMQ AZ41UMvaby8jShmCVti7nhY6NzbeO6jV6BNEFEFo2jFCbwubHdPBEq18fTxtmeqXkCHN ILNxhGoKTDXar0gNpF046nwxcdNGvOzB3sbCvNRwrHHnD5i2pR+e/YOekEJ3tPNz9Onc /IXdbD8alBzzDrHOpcw7h0plYaheSPaHq4t5UUbv5cP4fUjFk6E8ERfT1JXFTzT5KSsu VJxQ== 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=BV6BjDgr1rDEfZAKZGnNaToRqNzUD4l4w9+vy+pDFnLly26DGeAuITcBzL6SjjDh0V k7D3TX68Xesxe8CnuSpQBew1s136UdldGkYu6r/dp5OIR3Gjhy1Jjs+NQ+5uPz9GwkyU s33Yc+xUWDoXa2W26JsUx/AyxjJBuG4Sive42EPM0b6ab9JBy3uhzkdYSv00J0vFL5wX npadrtwv+8pC/pGHjXAgz6e2WG0xSpP6Bx2diw9CnVL99u/qPFEUO0cmjuKA1ujivxbY gb82qWM0wTCCaN2Vhd415uzNltUwhXz1BHgLrM+0LfR/h/dXqJCsPbDVBmqleT3SmNmf TGWA== 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 x4si439281ede.417.2021.02.09.18.15.43; Tue, 09 Feb 2021 18:16:06 -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 S235040AbhBJCOo (ORCPT + 99 others); Tue, 9 Feb 2021 21:14:44 -0500 Received: from mailoutvs29.siol.net ([185.57.226.220]:48080 "EHLO mail.siol.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S234012AbhBJBKj (ORCPT ); Tue, 9 Feb 2021 20:10:39 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTP id 1B725522FAE; Tue, 9 Feb 2021 18:59:16 +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 pwugU7GkgDO3; Tue, 9 Feb 2021 18:59:15 +0100 (CET) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTPS id CC3515233C8; Tue, 9 Feb 2021 18:59:15 +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 81842522FAE; Tue, 9 Feb 2021 18:59:13 +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 v3 4/5] drm/sun4i: Fix H6 HDMI PHY configuration Date: Tue, 9 Feb 2021 18:58:59 +0100 Message-Id: <20210209175900.7092-5-jernej.skrabec@siol.net> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210209175900.7092-1-jernej.skrabec@siol.net> References: <20210209175900.7092-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