From: Martin Fuzzey <mfuzzey-mB3Nsq4MPf1BDgjK7y7TUQ@public.gmane.org>
To: Sascha Hauer <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@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: Tue, 26 Mar 2013 12:12:22 +0100 [thread overview]
Message-ID: <51518296.7000500@parkeon.com> (raw)
In-Reply-To: <20130325132935.GE1906-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
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)
Just my 2 centimes,
Martin
next prev parent reply other threads:[~2013-03-26 11:12 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 [this message]
[not found] ` <51518296.7000500-mB3Nsq4MPf1BDgjK7y7TUQ@public.gmane.org>
2013-03-27 8:59 ` Sascha Hauer
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=51518296.7000500@parkeon.com \
--to=mfuzzey-mb3nsq4mpf1bdgjk7y7tuq@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@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).