From: Sascha Hauer <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
To: Martin Fuzzey <mfuzzey-mB3Nsq4MPf1BDgjK7y7TUQ@public.gmane.org>
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Mike Turquette
<mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [RFC PATCH] CLK: Allow parent clock and rate to be configured in DT.
Date: Wed, 27 Mar 2013 09:59:54 +0100 [thread overview]
Message-ID: <20130327085954.GR1906@pengutronix.de> (raw)
In-Reply-To: <51518296.7000500-mB3Nsq4MPf1BDgjK7y7TUQ@public.gmane.org>
On Tue, Mar 26, 2013 at 12:12:22PM +0100, Martin Fuzzey wrote:
> On 25/03/13 14:29, Sascha Hauer wrote:
> >Put it differently. OpenBSD might have much better clock support.
> >Imagine it can dynamically figure out the correct esdhc
> >frequencies for different usecases on the fly. In this situation
> >it would be counterproductive if Linux requires static values for
> >these in the devicetree.
> It shouldn't *require* them.
> If they are in a separate subtree of the DT OpenBSD would be free to
> ignore them and use its better method.
> >>The cko case is even worse - due to a board design decision that
> >>clock needs to have
> >>a frequency suitable for supplying some external chip. We don't want
> >>board specific code in
> >>the platform clock code and we're trying to get away from board files...
> >The codec could be provided a phandle to the cko clk. This is hardware
> >description and is fine for putting into the devicetree.
> Sure but just the phandle isn't enough.
> We also need the frequency and the parent.
>
> For the frequency the driver could, and maybe should, set it (and
> indeed I've submitted a patch for this for the sgtl5000 driver).
>
> But IMHO it's not the driver's business to be setting the parent
> clock (the driver just gets a phandle and
> shouldn't know if it can be reparented).
>
> Maybe if and when the clock framework learns how to reparent clocks
> during set_rate() this problem may go away but
> I'm not entirely comfortable with that - I'm sure there are cases
> where it will be better to manually specify the parent clock.
>
> >I know that we currently have no place to put such information. There
> >recently was a similar discussion with CMA descriptions in the
> >devicetree and I remember several other discussions of the same type,
> >all of which ended at the dont-know-but-not-in-the-devicetree point.
> Yes, I looked up the CMA discussion which, AFAICT ended with a proposition
> to use chosen to which there was no reply :(
>
> I quite understand (and agree with) not wanting to scatter linux
> specific configuration
> data all over the DT but, given that there are clearly usecases for
> this type of
> configuration, I fail to see the conceptual difference between:
>
> 1) Pure hardware DT plus a completely seperate "config-tree"
> 2) DT with a configuration node ("chosen" or probably better
> something like "linux-config")
>
> Except that 1) requires more work to implement.
> Even if the DT parser and tooling were reused it would still require:
> * A means of passing another blob to the kernel
> * A means of providing the parsed data to drivers
>
> Both of these are obtained "for free" with solution 2), whilst still
> retaining the
> separation of the tree into "hardware" and "configuration"
>
> It would be possible for hardware vendors to ship the pure hardware
> part and then
> add the configuration node either at runtime in the bootloader or by
> a preprocessing
> tool "dtcat"?
>
> Other OSs would simply ignore the "linux-config" node (and could add
> "bsd-config" node too)
I'm absolutely not against doing this. I'm only against introducing this
through the back door. I think we need a good place in the devicetree
where to put such configuration stuff and we need some agreement what
(and what not) should be there.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2013-03-27 8:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-19 17:09 [RFC PATCH] CLK: Allow parent clock and rate to be configured in DT Martin Fuzzey
2013-03-25 10:17 ` Sascha Hauer
[not found] ` <20130325101707.GZ1906-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-03-25 11:07 ` Martin Fuzzey
[not found] ` <51503007.5020403-mB3Nsq4MPf1BDgjK7y7TUQ@public.gmane.org>
2013-03-25 13:29 ` Sascha Hauer
[not found] ` <20130325132935.GE1906-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-03-26 11:12 ` Martin Fuzzey
[not found] ` <51518296.7000500-mB3Nsq4MPf1BDgjK7y7TUQ@public.gmane.org>
2013-03-27 8:59 ` Sascha Hauer [this message]
2013-04-04 23:08 ` Fabio Estevam
2013-04-06 1:07 ` Matt Sealey
2013-04-06 1:33 ` Matt Sealey
2013-04-06 13:21 ` Tomasz Figa
2013-04-06 13:31 ` Tomasz Figa
2013-04-06 17:51 ` Martin Fuzzey
[not found] ` <CALBypN4mHwWZNiAQqErh1bL1sPHNuRbO5-yxzY+R1enQqEJOSQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-06 19:24 ` Matt Sealey
[not found] ` <CAKGA1b=Z4M6t4BVFyfqxq=iZ6MHGbgHf5WodGbTCSaC7E_b7FA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-06 19:40 ` Fabio Estevam
2013-04-07 13:26 ` Sascha Hauer
[not found] ` <20130407132623.GP1906-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2013-04-07 15:50 ` Matt Sealey
[not found] ` <CAKGA1b=AcQsA-P-pR+in+9CzqW=XfEBhdoR+AC7QCLYfUhQqJg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-07 16:00 ` Fabio Estevam
[not found] ` <CAOMZO5ARwOLdSg4Np_HB2m7zvTNE94bJBUh3R-oG=xcP4R6Y-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-07 16:23 ` Matt Sealey
[not found] ` <CAKGA1bnt_wrNPg2JdAu=ac+WiUm8pVaGh3Tjrt3NvgdFeLxB8A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-07 16:34 ` Matt Sealey
[not found] ` <CAKGA1bnhMz-18RvUq1Bx-b_AztwspYC+Q+3QGYf=kBtMe1nq2w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-07 21:14 ` Tomasz Figa
2013-04-08 9:35 ` Martin Fuzzey
2013-04-08 20:00 ` Sascha Hauer
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=20130327085954.GR1906@pengutronix.de \
--to=s.hauer-bicnvbalz9megne8c9+irq@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=mfuzzey-mB3Nsq4MPf1BDgjK7y7TUQ@public.gmane.org \
--cc=mturquette-QSEj5FYQhm4dnm+yROfE0A@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).