From: "Heiko Stübner" <heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Cc: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Mike Turquette
<mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Matt Sealey <neko-HhXTZounMxbZATc7fWT8Dg@public.gmane.org>
Subject: Re: [PATCH RFC 3/3] clk: dt: binding for basic divider clock
Date: Thu, 6 Jun 2013 02:09:43 +0200 [thread overview]
Message-ID: <201306060209.43486.heiko@sntech.de> (raw)
In-Reply-To: <20130604192243.10233.76496@quantum>
Am Dienstag, 4. Juni 2013, 21:22:43 schrieb Mike Turquette:
> Quoting Matt Sealey (2013-06-04 10:39:53)
>
> > On Tue, Jun 4, 2013 at 12:11 PM, Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
wrote:
> > > On 06/03/13 10:53, Mike Turquette wrote:
> > >> +Required properties:
> > >> +- compatible : shall be "divider-clock".
> > >> +- #clock-cells : from common clock binding; shall be set to 0.
> > >> +- clocks : link to phandle of parent clock
> > >> +- reg : base address for register controlling adjustable divider
> > >> +- mask : arbitrary bitmask for programming the adjustable divider
> > >> +
> > >> +Optional properties:
> > >> +- clock-output-names : From common clock binding.
> > >> +- table : array of integer pairs defining divisors & bitfield values
> > >> +- shift : number of bits to shift the mask, defaults to 0 if not
> > >> present +- index_one : valid divisor programming starts at 1, not
> > >> zero +- index_power_of_two : valid divisor programming must be a
> > >> power of two +- allow_zero : implies index_one, and programming zero
> > >> results in + divide-by-one
> > >
> > > It's preferred that property names have dashes instead of underscores.
> >
> > I think I have a suggestion or two here..
> >
> > I mailed one to Mike earlier, I have had some mailing list problems
> > which I think are solved now..
> >
> > If you provide a mask for programming the divider, surely the "shift"
> > property is therefore redundant. Unless some device has a completely
> > strange way of doing things and uses two seperated bitfields for
> > programming in the same register, the shift value is simply a function
> > of ffs() on the mask, isn't it? It is nice to put the information
> > specifically in the device tree, but where a shift is not specified
> > it'd probably be a good idea to go about deriving that value that way
> > anyway, right, and if we're doing that.. why specify it?
>
> Shift is optional. Also I think the integer values in a DTS are
> 32-bits, so if some day someone had a clock driver that needed to write
> to a 64-bit register then shift might be useful there, combined with a
> 32-bit mask. Or perhaps dtc will have a 64-bit value for that case? I
> don't know.
>
> I certainly do see your point about only using the mask, and the
> original clock basic types did this a while back before the shift+width
> style came into vogue.
>
> If other reviewers also want to use a pure 32-bit mask and no shift then
> I'll drop it in the next round.
I would object to dropping the shift :-)
If you look at the two clk extensions in my rockchip patches you can see that
they use a different regiment to set values.
Using the lower 16 bits to set the value and the upper 16 bit to mark which
values are changed, i.e. (mask << shift + 16) | (val << shift).
(I'm not sure, if the naming or solution could be improved though)
Heiko
next prev parent reply other threads:[~2013-06-06 0:09 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-03 17:53 [PATCH RFC 0/3] clk: dt: bindings for mux & divider clocks Mike Turquette
[not found] ` <1370281990-15090-1-git-send-email-mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-06-03 17:53 ` [PATCH RFC 1/3] clk: of: helper for determining number of parent clocks Mike Turquette
2013-06-03 22:31 ` [PATCH RFC 0/3] clk: dt: bindings for mux & divider clocks Heiko Stübner
2013-06-03 17:53 ` [PATCH RFC 2/3] clk: dt: binding for basic multiplexor clock Mike Turquette
2013-06-03 19:33 ` Heiko Stübner
2013-06-03 20:07 ` Mike Turquette
2013-06-03 20:15 ` Heiko Stübner
[not found] ` <201306032215.45983.heiko-4mtYJXux2i+zQB+pC5nmwQ@public.gmane.org>
2013-06-03 21:39 ` Heiko Stübner
2013-06-04 6:14 ` Mike Turquette
2013-06-03 17:53 ` [PATCH RFC 3/3] clk: dt: binding for basic divider clock Mike Turquette
[not found] ` <1370281990-15090-4-git-send-email-mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-06-03 22:18 ` Heiko Stübner
2013-06-13 2:41 ` Mike Turquette
2013-06-04 17:11 ` Stephen Boyd
2013-06-04 17:39 ` Matt Sealey
2013-06-04 19:22 ` Mike Turquette
2013-06-04 20:13 ` Matt Sealey
2013-06-06 0:09 ` Heiko Stübner [this message]
2013-06-07 5:51 ` [PATCH RFC 0/3] clk: dt: bindings for mux & divider clocks Shawn Guo
[not found] ` <20130607055128.GA20780-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2013-06-07 17:52 ` Mike Turquette
2013-06-08 3:02 ` Shawn Guo
[not found] ` <20130608030240.GB22134-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2013-06-08 18:25 ` Mike Turquette
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=201306060209.43486.heiko@sntech.de \
--to=heiko-4mtyjxux2i+zqb+pc5nmwq@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=neko-HhXTZounMxbZATc7fWT8Dg@public.gmane.org \
--cc=sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.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).