All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lubomir Rintel <lkundrak@v3.sk>
To: Stephen Boyd <sboyd@kernel.org>
Cc: Michael Turquette <mturquette@baylibre.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Lubomir Rintel <lkundrak@v3.sk>
Subject: [PATCH v2 05/17] clk: mmp2: Stop pretending PLL outputs are constant
Date: Mon,  9 Mar 2020 20:42:42 +0100	[thread overview]
Message-ID: <20200309194254.29009-6-lkundrak@v3.sk> (raw)
In-Reply-To: <20200309194254.29009-1-lkundrak@v3.sk>

The hardcoded values for PLL1 and PLL2 are wrong. PLL1 is slightly
off -- it defaults to 797.33 MHz, not 800 MHz. PLL2 is disabled by default,
but also configurable.

Tested on a MMP2-based OLPC XO-1.75 laptop, with PLL1=797.33 and various
values of PLL2 set via set-pll2-520mhz, set-pll2-910mhz and
set-pll2-988mhz Open Firmware words.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 drivers/clk/mmp/clk-of-mmp2.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/mmp/clk-of-mmp2.c b/drivers/clk/mmp/clk-of-mmp2.c
index ee086d9714160..251d8d0e78abb 100644
--- a/drivers/clk/mmp/clk-of-mmp2.c
+++ b/drivers/clk/mmp/clk-of-mmp2.c
@@ -3,6 +3,7 @@
  *
  * Copyright (C) 2012 Marvell
  * Chao Xie <xiechao.mail@gmail.com>
+ * Copyright (C) 2020 Lubomir Rintel <lkundrak@v3.sk>
  *
  * This file is licensed under the terms of the GNU General Public
  * License version 2. This program is licensed "as is" without any
@@ -55,7 +56,11 @@
 #define APMU_CCIC1	0xf4
 #define APMU_USBHSIC0	0xf8
 #define APMU_USBHSIC1	0xfc
+
+#define MPMU_FCCR	0x8
+#define MPMU_POSR	0x10
 #define MPMU_UART_PLL	0x14
+#define MPMU_PLL2_CR	0x34
 
 struct mmp2_clk_unit {
 	struct mmp_clk_unit unit;
@@ -67,11 +72,14 @@ struct mmp2_clk_unit {
 static struct mmp_param_fixed_rate_clk fixed_rate_clks[] = {
 	{MMP2_CLK_CLK32, "clk32", NULL, 0, 32768},
 	{MMP2_CLK_VCTCXO, "vctcxo", NULL, 0, 26000000},
-	{MMP2_CLK_PLL1, "pll1", NULL, 0, 800000000},
-	{MMP2_CLK_PLL2, "pll2", NULL, 0, 960000000},
 	{MMP2_CLK_USB_PLL, "usb_pll", NULL, 0, 480000000},
 };
 
+static struct mmp_param_pll_clk pll_clks[] = {
+	{MMP2_CLK_PLL1,   "pll1",   797330000, MPMU_FCCR,          0x4000, MPMU_POSR,     0},
+	{MMP2_CLK_PLL2,   "pll2",           0, MPMU_PLL2_CR,       0x0300, MPMU_PLL2_CR, 10},
+};
+
 static struct mmp_param_fixed_factor_clk fixed_factor_clks[] = {
 	{MMP2_CLK_PLL1_2, "pll1_2", "pll1", 1, 2, 0},
 	{MMP2_CLK_PLL1_4, "pll1_4", "pll1_2", 1, 2, 0},
@@ -113,6 +121,10 @@ static void mmp2_pll_init(struct mmp2_clk_unit *pxa_unit)
 	mmp_register_fixed_rate_clks(unit, fixed_rate_clks,
 					ARRAY_SIZE(fixed_rate_clks));
 
+	mmp_register_pll_clks(unit, pll_clks,
+				pxa_unit->mpmu_base,
+				ARRAY_SIZE(pll_clks));
+
 	mmp_register_fixed_factor_clks(unit, fixed_factor_clks,
 					ARRAY_SIZE(fixed_factor_clks));
 
-- 
2.25.1


  parent reply	other threads:[~2020-03-09 19:43 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-09 19:42 [PATCH v2 00/17] clk: mmp2: MMP2 CLK Update Lubomir Rintel
2020-03-09 19:42 ` [PATCH v2 01/17] clk: mmp2: Remove a unused prototype Lubomir Rintel
2020-03-21  1:24   ` Stephen Boyd
2020-03-21  1:24     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 02/17] clk: mmp2: Constify some strings Lubomir Rintel
2020-03-21  1:24   ` Stephen Boyd
2020-03-21  1:24     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 03/17] dt-bindings: clock: Convert marvell,mmp2-clock to json-schema Lubomir Rintel
2020-03-21  1:24   ` Stephen Boyd
2020-03-21  1:24     ` [PATCH v2 03/17] dt-bindings: clock: Convert marvell, mmp2-clock " Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 04/17] clk: mmp2: Add support for PLL clock sources Lubomir Rintel
2020-03-21  1:24   ` Stephen Boyd
2020-03-21  1:24     ` Stephen Boyd
2020-04-06 19:30   ` Guenter Roeck
2020-04-06 19:30     ` Guenter Roeck
2020-04-09  8:32     ` Stephen Boyd
2020-04-09  8:32       ` Stephen Boyd
2020-03-09 19:42 ` Lubomir Rintel [this message]
2020-03-21  1:24   ` [PATCH v2 05/17] clk: mmp2: Stop pretending PLL outputs are constant Stephen Boyd
2020-03-21  1:24     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 06/17] dt-bindings: clock: Add MMP3 compatible string Lubomir Rintel
2020-03-21  1:24   ` Stephen Boyd
2020-03-21  1:24     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 07/17] clk: mmp2: Check for MMP3 Lubomir Rintel
2020-03-21  1:24   ` Stephen Boyd
2020-03-21  1:24     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 08/17] dt-bindings: marvell,mmp2: Add clock ids for MMP3 PLLs Lubomir Rintel
2020-03-21  1:24   ` Stephen Boyd
2020-03-21  1:24     ` [PATCH v2 08/17] dt-bindings: marvell, mmp2: " Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 09/17] clk: mmp2: Add PLLs that are available on MMP3 Lubomir Rintel
2020-03-21  1:25   ` Stephen Boyd
2020-03-21  1:25     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 10/17] ARM: dts: mmp3: Use the MMP3 compatible string for /clocks Lubomir Rintel
2020-03-21  1:20   ` Stephen Boyd
2020-03-21  1:20     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 11/17] dt-bindings: marvell,mmp2: Add clock ids for the GPU clocks Lubomir Rintel
2020-03-21  1:25   ` Stephen Boyd
2020-03-21  1:25     ` [PATCH v2 11/17] dt-bindings: marvell, mmp2: " Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 12/17] clk: mmp2: add " Lubomir Rintel
2020-03-21  1:25   ` Stephen Boyd
2020-03-21  1:25     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 13/17] dt-bindings: marvell,mmp2: Add clock ids for the thermal sensors Lubomir Rintel
2020-03-21  1:25   ` Stephen Boyd
2020-03-21  1:25     ` [PATCH v2 13/17] dt-bindings: marvell, mmp2: " Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 14/17] clk: mmp2: Add clocks " Lubomir Rintel
2020-03-21  1:25   ` Stephen Boyd
2020-03-21  1:25     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 15/17] dt-bindings: marvell,mmp2: Add clock id for the fifth SD HCI on MMP3 Lubomir Rintel
2020-03-21  1:25   ` Stephen Boyd
2020-03-21  1:25     ` [PATCH v2 15/17] dt-bindings: marvell, mmp2: " Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 16/17] clk: mmp2: Add clock for " Lubomir Rintel
2020-03-21  1:25   ` Stephen Boyd
2020-03-21  1:25     ` Stephen Boyd
2020-03-09 19:42 ` [PATCH v2 17/17] clk: mmp2: Fix bit masks for LCDC I/O and pixel clocks Lubomir Rintel
2020-03-21  1:25   ` Stephen Boyd
2020-03-21  1:25     ` Stephen Boyd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200309194254.29009-6-lkundrak@v3.sk \
    --to=lkundrak@v3.sk \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@baylibre.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.