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
next prev 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.