From: tomasz.figa@gmail.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 09/11] clk: mmp: parse clock from dts
Date: Sat, 10 Aug 2013 13:06:01 +0200 [thread overview]
Message-ID: <2492085.mx8aBrGksJ@flatron> (raw)
In-Reply-To: <20130809160401.GU27325@e106331-lin.cambridge.arm.com>
Hi Mark, Haojian,
On Friday 09 of August 2013 17:04:01 Mark Rutland wrote:
> On Fri, Jul 26, 2013 at 11:05:31AM +0100, Haojian Zhuang wrote:
> > Parse clock information from DTS file for mach-mmp.
> >
> > Changelog:
> > v6:
> > 1. Remove marvell string from properties in clock driver.
> > 2. Append document for clock binding device tree.
> > 3. Use apbc to replace apbcp. Since the main difference is register
> > base.
> >
> > v5:
> > 1. Replace clk_register_mux() by clk_register_mux_table().
> >
> > Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
> > ---
> >
> > .../devicetree/bindings/clock/mmp-clock.txt | 51 ++++
> > arch/arm/mach-mmp/mmp-dt.c | 2 +
> > drivers/clk/mmp/Makefile | 2 +-
> > drivers/clk/mmp/clk-mmp.c | 300
> > +++++++++++++++++++++ 4 files changed, 354 insertions(+), 1
> > deletion(-)
> > create mode 100644
> > Documentation/devicetree/bindings/clock/mmp-clock.txt create mode
> > 100644 drivers/clk/mmp/clk-mmp.c
> >
> > diff --git a/Documentation/devicetree/bindings/clock/mmp-clock.txt
> > b/Documentation/devicetree/bindings/clock/mmp-clock.txt new file mode
> > 100644
> > index 0000000..5fe52a2
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/clock/mmp-clock.txt
> > @@ -0,0 +1,51 @@
> > +Device Tree Clock bindings for arch-mmp
> > +
> > +This binding uses the common clock binding[1].
> > +
> > +[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
> > +
>
> Are these used somewhere already?
Hmm? Are you asking about the generic clock bindings or I didn't get your
question right? They are supposed to be used (and they are used) whenever
clocks are involved.
> > +Required properties for fixed rate clocks:
> > + - compatible : should be "marvell,mmp-fixed-clkrate".
> > + - clocks : should be the input parent clock phandle for the clock.
> > This + should be the reference clock.
> > + - clock-output-names : should be reference name.
> > + - #clock-cells : from common clock binding; should be set to 0.
> > + - clock-frequency : frequency of the fixed rate clock
>
> Why is "fixed-clock" not good enough?
>
> This doesn't seem to describe anything more, and there's nothing
> additional in the driver...
+1
> > +
> > +Required properties for fixed factor clocks:
> > + - compatible : should be "marvell,mmp-fixed-clkfactor".
> > + - clocks : should be the input parent clock phandle for the clock.
> > This + should be the reference clock.
> > + - clock-output-names : should be reference name.
> > + - #clock-cells : from common clock binding; should be set to 0.
>
> The code seems to use an additional property not described here
> (mmp-fixed-factor). What does that represent?
>
> Why not "fixed-factor-clock"?
+1
> > +
> > +Required properties for mux clocks:
> > + - compatible : should be "marvell,mmp-clkmux".
> > + - clocks : should be the input parent clock phandle for the clock.
> > This + should be the reference clock.
> > + - clock-output-names : should be reference name.
> > + - #clock-cells : from common clock binding; should be set to 0.
> > + - mmp-clk-reg : mux register offset & mask bits.
>
> Offset from where? There's no reg, no container's described and there's
> no example.
+1
> > + - mmp-clk-sel : array of mux select bits
> > +
> > +Required properties for divider clocks:
> > + - compatible : should be "marvell,mmp-apmu-clkdiv".
> > + - clocks : should be the input parent clock phandle for the clock.
> > This + should be the reference clock.
> > + - clock-output-names : should be reference name.
> > + - #clock-cells : from common clock binding; should be set to 0.
> > + - mmp-clk-reg : divider register offset & mask bits.
>
> Similar comments to those above. This is also a fixed-factor-clock, no?
This looks like a clock with configurable divisor for me, but again, why
not use the standard divider clock here?
Best regards,
Tomasz
> > +
> > +Required properties for gate clocks:
> > + - compatible : should be "marvell,mmp-apbc-clk".
> > + - clocks : should be the input parent clock phandle for the clock.
> > This + should be the reference clock.
> > + - clock-output-names : should be reference name.
> > + - #clock-cells : from common clock binding; should be set to 0.
> > + - mmp-clk-reg : gate register offset & mask bits.
>
> Offset from where?
>
> > +
> > +Optional properties for gate clocks:
> > + - mmp-clk-delay : delay between enabling function clock and apb
> > clock
> Units?
>
> > + - mmp-apbc-power-ctrl : enable apbc power control bit
>
> Is this a boolean or the offset of the bit offset?
>
> > +
>
> > +For example:
> Missing example?
>
> [...]
>
> > +static const struct of_device_id mmp_of_match[] = {
> > + { .compatible = "marvell,mmp-mpmu", .data = (void *)MMP_MPMU,
> > }, + { .compatible = "marvell,mmp-apmu", .data = (void
> > *)MMP_APMU, }, + { .compatible = "marvell,mmp-apbc", .data =
> > (void *)MMP_APBC, }, + { .compatible = "marvell,mmp-apbcp",
> > .data = (void *)MMP_APBCP, }, + { .compatible = "mrvl,apb-bus",
> > .data = (void *)MMP_APB, }, +};
>
> Not documented?
>
> Thanks,
> Mark.
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2013-08-10 11:06 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-26 10:05 No subject Haojian Zhuang
2013-07-26 10:05 ` [PATCH v6 01/11] irqchip: move mmp irq driver Haojian Zhuang
2013-08-14 21:26 ` Daniel Drake
2013-08-21 20:27 ` Daniel Drake
2013-08-22 1:28 ` Haojian Zhuang
2013-07-26 10:05 ` [PATCH v6 02/11] irqchip: mmp: support irqchip Haojian Zhuang
2013-08-12 22:53 ` Daniel Drake
2013-08-13 22:53 ` Daniel Drake
2013-08-14 17:47 ` Daniel Drake
2013-07-26 10:05 ` [PATCH v6 03/11] irqchip: mmp: support MULTI_IRQ_HANDLER Haojian Zhuang
2013-07-26 10:05 ` [PATCH v6 04/11] ARM: mmp: avoid to include head file in mach-mmp Haojian Zhuang
2013-08-14 18:56 ` Daniel Drake
2013-08-24 9:45 ` Haojian Zhuang
2013-07-26 10:05 ` [PATCH v6 05/11] irqchip: mmp: avoid to include irqs head file Haojian Zhuang
2013-07-26 16:10 ` Arnd Bergmann
2013-07-26 10:05 ` [PATCH v6 06/11] clocksource: mmp: move mmp timer driver Haojian Zhuang
2013-08-14 19:22 ` Daniel Drake
2013-07-26 10:05 ` [PATCH v6 07/11] ARM: mmp: move timer registers into driver Haojian Zhuang
2013-08-14 19:37 ` Daniel Drake
2013-07-26 10:05 ` [PATCH v6 08/11] ARM: pxa: init dma debugfs in late level Haojian Zhuang
2013-08-10 17:29 ` Daniel Mack
2013-08-11 4:53 ` Haojian Zhuang
2013-07-26 10:05 ` [PATCH v6 09/11] clk: mmp: parse clock from dts Haojian Zhuang
2013-08-09 16:04 ` Mark Rutland
2013-08-10 11:06 ` Tomasz Figa [this message]
2013-08-10 12:31 ` Mark Rutland
2013-08-10 12:34 ` Tomasz Figa
2013-08-10 14:57 ` Daniel Drake
2013-08-11 5:22 ` Haojian Zhuang
2013-08-14 21:25 ` Daniel Drake
2013-07-26 10:05 ` [PATCH v6 10/11] ARM: dts: support common clock in arch mmp Haojian Zhuang
2013-07-26 10:05 ` [PATCH v6 11/11] ARM: mmp: avoid to use cpu_is_xxx in timer Haojian Zhuang
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=2492085.mx8aBrGksJ@flatron \
--to=tomasz.figa@gmail.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