From patchwork Wed Dec 14 12:58:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jagan Teki X-Patchwork-Id: 2557 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id A92CF3F0FB for ; Wed, 14 Dec 2022 14:00:19 +0100 (CET) Received: by mail-pf1-f200.google.com with SMTP id v16-20020a62a510000000b005745a58c197sf4113631pfm.23 for ; Wed, 14 Dec 2022 05:00:19 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1671022818; cv=pass; d=google.com; s=arc-20160816; b=DXME2jnkXv2WcvmuRPAxX63kCvZR0QxlKTNwcait6B5lQEIlOT1CZCXkcLxSD319jQ 6bk3N34Sk2lyNQFEliIYMbxd6FNn3BInIWJevipLtuN97ftfb7iaCY38nphC8EYHM90R 0lB0I3nphI9NSIo5JcfrE5mJggvKv+UFKBKO3nnTVwSD0PurdijULBvjBMpgyjuBjcRA ouE9+hMKkvRjPQiu3FEHnCUYDXgOWFgRfx6pgLY3JpMjQFlvz6TC1LqDIPBkhRbAY/pG qHKaun9hHiQO9jH8BvE8tqS/XT50PExLZdl/kx20ZVf+qFHA1FSB5tbJiGOBVjasiKlG qkTQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=2gIMnLFW5vZo+7N2CS8xH0rYj5OCnOW2V5jrdhN9Lt8=; b=wpJyeAptj5MzZ0Rp7P0lpsQVh5l2XpFMY1BVECCmDEkUQtE6NfSXs41EBV1TTOTszP 63PZ+0md6g0SbkxNLBHwGTvapjwD3yXbnSYWJL442jHzCJsUtlX886+iG2qO2MYMff4B K50aigRKRImkPQp/LRZmcQU//ZuJ9rjHRP5paI2IF+Vmew41mlEayXlgccUenNGC4u1w hlaGLeS+vLzdlDywtuq7JrTJUGl4tNz7UAmXgSXqrrFAavZ81+M3eJVh2X+QHi4sqnRw FVpY5tZDYyOWMOFKyr6PljoW0eZwWe1zmfaFDBbnxaRc5RH2RG7d1JtEi1WD1oSGBaJ7 XLqA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=RNWzCrgw; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=2gIMnLFW5vZo+7N2CS8xH0rYj5OCnOW2V5jrdhN9Lt8=; b=b6cL9bCkJ4UzYFdIXn87ds3Ao6ZLawtMiZafIvUrwhm6o2VHJGbb2vk/rd50AU++fF Wwyd7ZBob4PBtaySSLzd9JLkgg0Rl7K0c1vZt/DCqaJ6gOj2Cv8oFC4r0mwXCwxUrhUb utN4ZvS5uz9bI3/w/wU7yzDGltaDN7OdP1UrI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2gIMnLFW5vZo+7N2CS8xH0rYj5OCnOW2V5jrdhN9Lt8=; b=uWdiqTxZwv9R7Su+R5UP67A6Ta+35kJzaR/2AWwYqa4apoPMSn48aFQjapkC5MeV5d 7f010ZPztags9moMvP6L2QMH0BZMjuDAf8YQB9lIgX2e840qeoTZsF20q7oGTUQZjxiu VNFBw53oihfRxkaAMVPVFIpogm/LImw8+ySUCh3pK/9Uu+7g5HRsN8IWJzUVGyX23462 A5noEDb4QPqZSZViBwP2ESm1VVyn79c4yslzLbA5buqrMGLUcVErfLn9Y5eLQvjRWl59 34bLpRO1/FPFfietXvWOKcQzzPfWUQGUvKHKXlkUao1R2dL5DIugygjnNuBHuqgTaGMs iPXQ== X-Gm-Message-State: ANoB5pm+eZtQdmQU1MRXWGBizcthxoIVqTKzdkps5zR82DkeJVKhBB3p bdXy3GYGvV+LicFh/cJskecPySiL X-Google-Smtp-Source: AMrXdXt4auSePFdW1RgENU6LbuqiIW1sFAE3VTsDed8TuZFxI7hSUiC/27JXdS0KhrJH5mXmwu1Bew== X-Received: by 2002:a17:90a:7b87:b0:219:4056:720c with SMTP id z7-20020a17090a7b8700b002194056720cmr272674pjc.53.1671022818505; Wed, 14 Dec 2022 05:00:18 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a17:902:6b4c:b0:17a:6fa:2290 with SMTP id g12-20020a1709026b4c00b0017a06fa2290ls22251006plt.3.-pod-prod-gmail; Wed, 14 Dec 2022 05:00:17 -0800 (PST) X-Received: by 2002:a17:902:7c90:b0:188:533e:da22 with SMTP id y16-20020a1709027c9000b00188533eda22mr23593428pll.12.1671022813901; Wed, 14 Dec 2022 05:00:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671022813; cv=none; d=google.com; s=arc-20160816; b=lcPBlMawICTE4hpWo5YJEQOp/a2X9FmNqhX3aZQPAgrIp5ohCuEb2XmCcNELqzs+x+ pxurjzTB0E4mEbeOGUH28hXHSdh6+XO/b2+tlFRxY7FUvtBc+3FtI5qgoSTiJE9R0mZ0 jnLH1LIpzSHcxou7eq4y8tNHmmdQf6swPx6l+dP9L9GdWEhsVnmT0gNtc3/wVzp/e2VD VbGOgxD34RAh+HqGRkMNCGTtM12KH1S+V9NrIM31Dp/LxDnkeasAis86N/VqvQx8d5Ev C8ixwBFYM1S+nJZIv/9JBuUfA8Vx9f1zFWhhI+BnPrXoeGjSfH+YmYWmwc+2Xcf1OmYB /2eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=mb1nxdVLVqjQupqttT8Xu0fM/Can5U2rIfAM94zt0R0=; b=s//E6mXtNh4c/rhxlhfQBZP5jl86XeJ5W8CEax5M/G1pFL4/WNuDgrNZUDUerijyM1 Tk7mMRbfiD4jR+ubx0n03CPpFCSTC2Rv16fFy2iQyrNFfXDfuJgcRnBnJtD7zqGn/T92 RNpOo3h8/WGZfY11Oq+E2Oz8q8q8pfuBpqmVCBaqONkmGE+dIVvdqbDI51kjcbN5TJyz GDN/O2ArqSkWU3q3NeNmGYW/6DZMbt2+JWqPg3L1ItjGg1Zm01Xc89xuuvCfqXOFWmf8 jdDmEU2H7D2gVcJEP3VBtdhNWHuniSf94Rw6xezQgxluiIl9592AgUhAMWfOyHV+Nzes LAcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=RNWzCrgw; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id jh11-20020a170903328b00b00186c1684da4sor1561349plb.152.2022.12.14.05.00.13 for (Google Transport Security); Wed, 14 Dec 2022 05:00:13 -0800 (PST) Received-SPF: pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Received: by 2002:a17:902:e194:b0:189:aab9:cd80 with SMTP id y20-20020a170902e19400b00189aab9cd80mr20942466pla.64.1671022813531; Wed, 14 Dec 2022 05:00:13 -0800 (PST) Received: from localhost.localdomain ([2405:201:c00a:a809:5e03:faf:846e:352d]) by smtp.gmail.com with ESMTPSA id ix17-20020a170902f81100b001895f7c8a71sm1838651plb.97.2022.12.14.05.00.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Dec 2022 05:00:12 -0800 (PST) From: Jagan Teki To: Andrzej Hajda , Inki Dae , Marek Szyprowski , Joonyoung Shim , Seung-Woo Kim , Kyungmin Park , Frieder Schrempf , Fancy Fang , Tim Harvey , Michael Nazzareno Trimarchi , Adam Ford , Neil Armstrong , Robert Foss , Laurent Pinchart , Tommaso Merciai , Marek Vasut Cc: Matteo Lisi , dri-devel@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP Linux Team , linux-amarula , Jagan Teki Subject: [PATCH v10 06/18] drm: exynos: dsi: Add platform PLL_P (PMS_P) offset Date: Wed, 14 Dec 2022 18:28:55 +0530 Message-Id: <20221214125907.376148-7-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221214125907.376148-1-jagan@amarulasolutions.com> References: <20221214125907.376148-1-jagan@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: jagan@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=RNWzCrgw; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Look like PLL PMS_P offset value varies between platforms that have Samsung DSIM IP. However, there is no clear evidence for it as both Exynos and i.MX 8M Mini Application Processor Reference Manual is still referring the PMS_P offset as 13. The offset 13 is not working for i.MX8M Mini SoCs but the downstream NXP sec-dsim.c driver is using offset 14 for i.MX8M Mini SoC platforms [1] [2]. PMS_P value set in sec_mipi_dsim_check_pll_out using PLLCTRL_SET_P() with offset 13 and then an additional offset of one bit added in sec_mipi_dsim_config_pll via PLLCTRL_SET_PMS(). Not sure whether it is reference manual documentation or something else but this patch trusts the downstream code and handle PLL_P offset via platform driver data so-that imx8mm driver data shall use pll_p_offset to 14. Similar to Mini the i.MX8M Nano/Plus also has P=14, unlike Exynos. [1] https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/gpu/drm/bridge/sec-dsim.c?h=imx_5.4.47_2.2.0#n210 [2] https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/gpu/drm/bridge/sec-dsim.c?h=imx_5.4.47_2.2.0#n211 Reviewed-by: Marek Vasut Signed-off-by: Frieder Schrempf Signed-off-by: Jagan Teki --- Changes for v10, v9: - none Changes for v8: - updated commit message for 8M Nano/Plus Changes for v7, v6: - none Changes for v5: - updated clear commit message Changes for v4, v3, v2: - none Changes for v1: - updated commit message - add downstream driver link drivers/gpu/drm/exynos/exynos_drm_dsi.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c index 5918d31127aa..7a845badb1b2 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -194,7 +194,7 @@ /* DSIM_PLLCTRL */ #define DSIM_FREQ_BAND(x) ((x) << 24) #define DSIM_PLL_EN (1 << 23) -#define DSIM_PLL_P(x) ((x) << 13) +#define DSIM_PLL_P(x, offset) ((x) << (offset)) #define DSIM_PLL_M(x) ((x) << 4) #define DSIM_PLL_S(x) ((x) << 1) @@ -263,6 +263,7 @@ struct exynos_dsi_driver_data { unsigned int max_freq; unsigned int wait_for_reset; unsigned int num_bits_resol; + unsigned int pll_p_offset; const unsigned int *reg_values; }; @@ -471,6 +472,7 @@ static const struct exynos_dsi_driver_data exynos3_dsi_driver_data = { .max_freq = 1000, .wait_for_reset = 1, .num_bits_resol = 11, + .pll_p_offset = 13, .reg_values = reg_values, }; @@ -483,6 +485,7 @@ static const struct exynos_dsi_driver_data exynos4_dsi_driver_data = { .max_freq = 1000, .wait_for_reset = 1, .num_bits_resol = 11, + .pll_p_offset = 13, .reg_values = reg_values, }; @@ -493,6 +496,7 @@ static const struct exynos_dsi_driver_data exynos5_dsi_driver_data = { .max_freq = 1000, .wait_for_reset = 1, .num_bits_resol = 11, + .pll_p_offset = 13, .reg_values = reg_values, }; @@ -504,6 +508,7 @@ static const struct exynos_dsi_driver_data exynos5433_dsi_driver_data = { .max_freq = 1500, .wait_for_reset = 0, .num_bits_resol = 12, + .pll_p_offset = 13, .reg_values = exynos5433_reg_values, }; @@ -515,6 +520,7 @@ static const struct exynos_dsi_driver_data exynos5422_dsi_driver_data = { .max_freq = 1500, .wait_for_reset = 1, .num_bits_resol = 12, + .pll_p_offset = 13, .reg_values = exynos5422_reg_values, }; @@ -628,7 +634,8 @@ static unsigned long exynos_dsi_set_pll(struct exynos_dsi *dsi, writel(driver_data->reg_values[PLL_TIMER], dsi->reg_base + driver_data->plltmr_reg); - reg = DSIM_PLL_EN | DSIM_PLL_P(p) | DSIM_PLL_M(m) | DSIM_PLL_S(s); + reg = DSIM_PLL_EN | DSIM_PLL_P(p, driver_data->pll_p_offset) | + DSIM_PLL_M(m) | DSIM_PLL_S(s); if (driver_data->has_freqband) { static const unsigned long freq_bands[] = {