linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Maxime Ripard <mripard@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Rob Herring <robh@kernel.org>, Ondrej Jirman <megous@megous.com>,
	Icenowy Zheng <icenowy@aosc.io>,
	Samuel Holland <samuel@sholland.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	linux-clk@vger.kernel.org
Subject: [PATCH v10 02/18] clk: sunxi-ng: h616: Add PLL derived 32KHz clock
Date: Fri, 11 Feb 2022 12:26:27 +0000	[thread overview]
Message-ID: <20220211122643.1343315-3-andre.przywara@arm.com> (raw)
In-Reply-To: <20220211122643.1343315-1-andre.przywara@arm.com>

The RTC section of the H616 manual mentions in a half-sentence the
existence of a clock "32K divided by PLL_PERI(2X)". This is used as
one of the possible inputs for the mux that selects the clock for the
32 KHz fanout pad. On the H616 this is routed to pin PG10, and some
boards use that clock output to compensate for a missing 32KHz crystal.
On the OrangePi Zero2 this is for instance connected to the LPO pin of
the WiFi/BT chip.
The new RTC clock binding requires this clock to be named as one input
clock, so we need to expose this to the DT. In contrast to the D1 SoC
there does not seem to be a gate for this clock, so just use a fixed
divider clock, using a newly assigned clock number.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 drivers/clk/sunxi-ng/ccu-sun50i-h616.c      | 7 +++++++
 drivers/clk/sunxi-ng/ccu-sun50i-h616.h      | 2 +-
 include/dt-bindings/clock/sun50i-h616-ccu.h | 1 +
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h616.c b/drivers/clk/sunxi-ng/ccu-sun50i-h616.c
index 49a2474cf314..f4e896b19a16 100644
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h616.c
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h616.c
@@ -704,6 +704,12 @@ static CLK_FIXED_FACTOR_HWS(pll_periph0_2x_clk, "pll-periph0-2x",
 			    pll_periph0_parents,
 			    1, 2, 0);
 
+static const struct clk_hw *pll_periph0_2x_hws[] = {
+	&pll_periph0_2x_clk.hw
+};
+static CLK_FIXED_FACTOR_HWS(pll_system_32k_clk, "pll-system-32k",
+			    pll_periph0_2x_hws, 36621, 1, 0);
+
 static const struct clk_hw *pll_periph1_parents[] = {
 	&pll_periph1_clk.common.hw
 };
@@ -852,6 +858,7 @@ static struct clk_hw_onecell_data sun50i_h616_hw_clks = {
 		[CLK_PLL_DDR1]		= &pll_ddr1_clk.common.hw,
 		[CLK_PLL_PERIPH0]	= &pll_periph0_clk.common.hw,
 		[CLK_PLL_PERIPH0_2X]	= &pll_periph0_2x_clk.hw,
+		[CLK_PLL_SYSTEM_32K]	= &pll_system_32k_clk.hw,
 		[CLK_PLL_PERIPH1]	= &pll_periph1_clk.common.hw,
 		[CLK_PLL_PERIPH1_2X]	= &pll_periph1_2x_clk.hw,
 		[CLK_PLL_GPU]		= &pll_gpu_clk.common.hw,
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h616.h b/drivers/clk/sunxi-ng/ccu-sun50i-h616.h
index dd671b413f22..fdd2f4d5103f 100644
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h616.h
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h616.h
@@ -51,6 +51,6 @@
 
 #define CLK_BUS_DRAM		56
 
-#define CLK_NUMBER		(CLK_BUS_HDCP + 1)
+#define CLK_NUMBER		(CLK_PLL_SYSTEM_32K + 1)
 
 #endif /* _CCU_SUN50I_H616_H_ */
diff --git a/include/dt-bindings/clock/sun50i-h616-ccu.h b/include/dt-bindings/clock/sun50i-h616-ccu.h
index 4fc08b0df2f3..1191aca53ac6 100644
--- a/include/dt-bindings/clock/sun50i-h616-ccu.h
+++ b/include/dt-bindings/clock/sun50i-h616-ccu.h
@@ -111,5 +111,6 @@
 #define CLK_BUS_TVE0		125
 #define CLK_HDCP		126
 #define CLK_BUS_HDCP		127
+#define CLK_PLL_SYSTEM_32K	128
 
 #endif /* _DT_BINDINGS_CLK_SUN50I_H616_H_ */
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2022-02-11 12:28 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-11 12:26 [PATCH v10 00/18] arm64: sunxi: Initial Allwinner H616 SoC support Andre Przywara
2022-02-11 12:26 ` [PATCH v10 01/18] clk: sunxi-ng: h616-r: Add RTC gate clock Andre Przywara
2022-02-23  3:22   ` Samuel Holland
2022-04-24 23:36     ` Andre Przywara
2022-04-25  0:05       ` Samuel Holland
2022-04-27 19:24         ` Andre Przywara
2022-02-11 12:26 ` Andre Przywara [this message]
2022-02-23  3:28   ` [PATCH v10 02/18] clk: sunxi-ng: h616: Add PLL derived 32KHz clock Samuel Holland
2022-02-11 12:26 ` [PATCH v10 03/18] rtc: sun6i: Fix time overflow handling Andre Przywara
2022-02-22 10:58   ` Andre Przywara
2022-03-08 21:21   ` (subset) " Alexandre Belloni
2022-02-11 12:26 ` [PATCH v10 04/18] rtc: sun6i: Add support for linear day storage Andre Przywara
2022-03-08 21:28   ` (subset) " Alexandre Belloni
2022-02-11 12:26 ` [PATCH v10 05/18] rtc: sun6i: Add support for broken-down alarm registers Andre Przywara
2022-03-08 21:28   ` (subset) " Alexandre Belloni
2022-02-11 12:26 ` [PATCH v10 06/18] rtc: sun6i: Add Allwinner H616 support Andre Przywara
2022-03-08 21:28   ` (subset) " Alexandre Belloni
2022-02-11 12:26 ` [PATCH v10 07/18] arm64: dts: allwinner: Add Allwinner H616 .dtsi file Andre Przywara
2022-02-11 12:26 ` [PATCH v10 08/18] dt-bindings: arm: sunxi: Add two H616 board compatible strings Andre Przywara
2022-02-23  3:38   ` Samuel Holland
2022-02-11 12:26 ` [PATCH v10 09/18] arm64: dts: allwinner: h616: Add OrangePi Zero 2 board support Andre Przywara
2022-02-11 12:26 ` [PATCH v10 10/18] arm64: dts: allwinner: h616: Add X96 Mate TV box support Andre Przywara
2022-02-11 12:26 ` [PATCH v10 11/18] dt-bindings: usb: Add H616 compatible string Andre Przywara
2022-02-17 23:38   ` Rob Herring
2022-02-11 12:26 ` [PATCH v10 12/18] phy: sun4i-usb: Rework HCI PHY (aka. "pmu_unk1") handling Andre Przywara
2022-02-23  3:42   ` Samuel Holland
2022-02-11 12:26 ` [PATCH v10 13/18] phy: sun4i-usb: Allow reset line to be shared Andre Przywara
2022-02-23  3:44   ` Samuel Holland
2022-02-23  3:50     ` Samuel Holland
2022-02-11 12:26 ` [PATCH v10 14/18] phy: sun4i-usb: Introduce port2 SIDDQ quirk Andre Przywara
2022-02-23  3:57   ` Samuel Holland
2022-02-11 12:26 ` [PATCH v10 15/18] phy: sun4i-usb: Add support for the H616 USB PHY Andre Przywara
2022-02-23  3:58   ` Samuel Holland
2022-02-11 12:26 ` [PATCH v10 16/18] arm64: dts: allwinner: h616: Add USB nodes Andre Przywara
2022-02-11 12:26 ` [PATCH v10 17/18] arm64: dts: allwinner: h616: OrangePi Zero 2: " Andre Przywara
2022-02-11 12:26 ` [PATCH v10 18/18] arm64: dts: allwinner: h616: X96 Mate: " Andre Przywara

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=20220211122643.1343315-3-andre.przywara@arm.com \
    --to=andre.przywara@arm.com \
    --cc=icenowy@aosc.io \
    --cc=jernej.skrabec@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=megous@megous.com \
    --cc=mripard@kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=robh@kernel.org \
    --cc=samuel@sholland.org \
    --cc=sboyd@kernel.org \
    --cc=wens@csie.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).