From: maxime.ripard@free-electrons.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 4/5] ARM: dts: sun9i: Add A80 PRCM clocks and reset control nodes
Date: Thu, 26 Nov 2015 21:09:42 +0100 [thread overview]
Message-ID: <20151126200942.GQ32142@lukather> (raw)
In-Reply-To: <20151124182709.7671f12f@xhacker>
On Tue, Nov 24, 2015 at 06:27:09PM +0800, Jisheng Zhang wrote:
> + Sebastian
>
> On Tue, 24 Nov 2015 17:32:15 +0800
> Chen-Yu Tsai wrote:
>
> > This adds the supported PRCM clocks and reset controls to the A80 dtsi.
> > The DAUDIO module clocks are not supported yet.
> >
> > Also update clock and reset phandles for r_uart.
> >
> > Signed-off-by: Chen-Yu Tsai <wens@csie.org>
> > ---
> > arch/arm/boot/dts/sun9i-a80.dtsi | 79 +++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 78 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi
> > index 1118bf5cc4fb..a4ce348c0831 100644
> > --- a/arch/arm/boot/dts/sun9i-a80.dtsi
> > +++ b/arch/arm/boot/dts/sun9i-a80.dtsi
> > @@ -164,6 +164,14 @@
> > "usb_phy2", "usb_hsic_12M";
> > };
> >
> > + pll3: clk at 06000008 {
> > + /* placeholder until implemented */
> > + #clock-cells = <0>;
> > + compatible = "fixed-clock";
> > + clock-rate = <0>;
> > + clock-output-names = "pll3";
> > + };
> > +
> > pll4: clk at 0600000c {
> > #clock-cells = <0>;
> > compatible = "allwinner,sun9i-a80-pll4-clk";
> > @@ -350,6 +358,68 @@
> > "apb1_uart2", "apb1_uart3",
> > "apb1_uart4", "apb1_uart5";
> > };
> > +
> > + cpus_clk: clk at 08001410 {
> > + compatible = "allwinner,sun9i-a80-cpus-clk";
> > + reg = <0x08001410 0x4>;
> > + #clock-cells = <0>;
> > + clocks = <&osc32k>, <&osc24M>, <&pll4>, <&pll3>;
> > + clock-output-names = "cpus";
> > + };
> > +
> > + ahbs: ahbs_clk {
> > + compatible = "fixed-factor-clock";
> > + #clock-cells = <0>;
> > + clock-div = <1>;
> > + clock-mult = <1>;
> > + clocks = <&cpus_clk>;
> > + clock-output-names = "ahbs";
> > + };
>
> Dear Sebastian and all,
>
> I just want to take the sunxi clk support in mainline for example.
>
> I'm not sure I understand correctly, it seems to me that some maintainers draw a
> line: "having a node for every clock" is a no, no[1]. But here we saw one node for
> cpus_clk and apbs below. And <0x08001410 0x4>; <0x0800141c 0x4>; shows they
> are close each other, so should we merge them into a single clock complex node
> then use mfd, regmap in clk driver?
>
> But IMHO, sunxi dts nodes really represent real HW, so I still can't understand
> why we could not have each node for cpus_clk and apbs. Can you please kindly
> teach me?
I'm totally lacking any context, but I'll reply. My view on this is
that they both represent the hardware, simply with a different model.
This preference of the clk maintainers and active clk developers
regarding the model to choose has evolved over time. When we started
the sunxi support, having one node per clock was the preferred way to
do things.
Berlin came much later, and the preference at that time was to have
the entire clock controller represented as single opaque block to the
consumers.
Both have pros and cons. The approach we took allows for an easier mix
and match, especially if the clocks you have in one SoC are reused in
others, without modifying the source code (or barely). AFAIK, this is
also the approach took by mvebu, except that their clock tree is much
much much simpler.
The approach Berlin took allows to have an easier maintainance and
more flexibility, for example to deal with clock registration
ordering, or clocks that share registers.
Our approach works just fine in our case, and I feel no incentive to
move to the new model (quite the opposite actually), but I guess it
also depends on how your clock controller is built, how many SoCs you
have to support, and how much clocks they are sharing.
I hope it clears things up.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20151126/8a0357c6/attachment.sig>
next prev parent reply other threads:[~2015-11-26 20:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-24 9:32 [PATCH v3 0/5] ARM: sun9i: Add Allwinner A80 PRCM clock/reset support Chen-Yu Tsai
2015-11-24 9:32 ` [PATCH v3 1/5] clk: sunxi: Add CLK_OF_DECLARE support for sun8i-a23-apb0-clk driver Chen-Yu Tsai
2015-11-25 14:18 ` Maxime Ripard
2015-11-24 9:32 ` [PATCH v3 2/5] clk: sunxi: Add sun9i A80 apbs gates support Chen-Yu Tsai
2015-11-24 9:32 ` [PATCH v3 3/5] clk: sunxi: Add sun9i A80 cpus (cpu special) clock support Chen-Yu Tsai
2015-11-25 17:32 ` Maxime Ripard
2015-11-27 7:13 ` Chen-Yu Tsai
2015-11-24 9:32 ` [PATCH v3 4/5] ARM: dts: sun9i: Add A80 PRCM clocks and reset control nodes Chen-Yu Tsai
2015-11-24 10:27 ` Jisheng Zhang
2015-11-26 20:09 ` Maxime Ripard [this message]
2015-11-27 5:42 ` Jisheng Zhang
2015-11-24 9:32 ` [PATCH v3 5/5] ARM: dts: sun9i: Add TODO comments for the main and low power clocks Chen-Yu Tsai
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=20151126200942.GQ32142@lukather \
--to=maxime.ripard@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.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).