From: Stephen Boyd <sboyd@kernel.org>
To: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Mike Looijmans <mike.looijmans@topic.nl>
Cc: "mturquette@baylibre.com" <mturquette@baylibre.com>,
"robh+dt@kernel.org" <robh+dt@kernel.org>,
"mark.rutland@arm.com" <mark.rutland@arm.com>,
"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] dt-bindings: Add silabs,si5341
Date: Thu, 27 Jun 2019 13:54:26 -0700 [thread overview]
Message-ID: <20190627205427.5C3482075E@mail.kernel.org> (raw)
In-Reply-To: <61fae574-2cea-cbdc-bc8a-3cc34c681d01@topic.nl>
Quoting Mike Looijmans (2019-06-27 04:38:16)
> On 26-06-19 23:24, Stephen Boyd wrote:
> > Sorry, I'm getting through my inbox pile and saw this one.
> >
> > Quoting Mike Looijmans (2019-04-30 22:46:55)
> >> On 30-04-19 02:17, Stephen Boyd wrote:
> >>>
> >>> Why can't that driver call clk_prepare_enable()? Is there some sort of
> >>> assumption that this clk will always be enabled and not have a driver
> >>> that configures the rate and gates/ungates it?
> >>
> >> Not only clk_prepare_enable(), but the driver could also call clk_set_rate()
> >> and clk_set_parent() and the likes, but it doesn't, so that's why there is
> >> "assigned-clocks" right?
> >>
> >> There are multiple scenario's, similar to why regulators also have properties
> >> like these.
> >>
> >> - The clock is related to hardware that the kernel is not aware of.
> >> - The clock is for a driver that isn't aware of its clock requirements. It
> >> might be an extra clock for an FPGA implemented controller that mimics
> >> existing hardware.
> >
> > Are these hypothetical scenarios or actual scenarios you need to
> > support?
>
> Actual scenario's.
>
> Clocks are required for FPGA logic, and a some of those do not involve
> software drivers at all.
>
> The GTR transceivers on the Xilinx ZynqMP chips use these clocks for SATA and
> PCIe, but the driver implementation from Xilinx for these is far from mature,
> for example it passes the clock frequency as a PHY parameter and isn't even
> aware of the clk framework at the moment. Xilinx hasn't even attempted
> submitting this 3 year old driver to mainline.
I think they may have submitted the "fixed rate from PHY parameter"
support. I merged it because I suspected it would help in those rare
cases where an MMIO register is used to express information about the
configuration and the bootloader does nothing to help create a fixed
rate clk in DT.
> >
> > To put it another way, I'm looking to describe how the board is designed
> > and to indicate that certain clks are always enabled at power on or are
> > enabled by the bootloader. Configuration has it's place too, just that
> > configuration is a oneshot sort of thing that never needs to change at
> > runtime.
> >
>
> I can see where you going with this, and yes, we definitely should promote
> that drivers should take care of their clock (enable) requirements.
>
> For the case of 'clock-critical', that would serve the purpose quite well
> indeed. It does add the risk of people sprinkling that all over the devicetree.
>
> Short term, I guess the best thing to do here is to remove the "always-on"
> property from my patch.
Ok. Will you resend or should I look at the latest binding patch and
remove always-on? I don't see it there so maybe everything is fine.
>
> I'll put the "clock-critical" idea on my list of generic clock patches to
> sneak in on other budgets, it'll be right behind "allow sub-1Hz or fractional
> clock rate accuracy" (yes I actually have a use case for that) and "allow
> frequencies over 4GHz" (the 14GHz clock in the Si5341 luckily isn't available
> on the outside so I can cheat)...
Ok. Good to know it's not as high a priority as these other things.
next prev parent reply other threads:[~2019-06-27 20:54 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-24 9:02 [PATCH] dt-bindings: Add silabs,si5341 Mike Looijmans
2019-04-25 23:04 ` Stephen Boyd
2019-04-25 23:04 ` Stephen Boyd
2019-04-26 6:51 ` Mike Looijmans
2019-04-27 0:44 ` Stephen Boyd
2019-04-27 9:42 ` Mike Looijmans
2019-04-30 0:17 ` Stephen Boyd
2019-05-01 5:46 ` Mike Looijmans
2019-06-26 21:24 ` Stephen Boyd
2019-06-27 11:38 ` Mike Looijmans
2019-06-27 20:54 ` Stephen Boyd [this message]
2019-05-02 0:17 ` Rob Herring
2019-05-07 14:04 ` [PATCH v2] dt-bindings: clock: " Mike Looijmans
2019-05-13 20:31 ` Rob Herring
2019-05-17 13:20 ` [PATCH v3] " Mike Looijmans
2019-06-13 22:41 ` Rob Herring
2019-06-13 22:41 ` Rob Herring
2019-06-27 20:57 ` Stephen Boyd
2019-06-27 20:57 ` Stephen Boyd
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=20190627205427.5C3482075E@mail.kernel.org \
--to=sboyd@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mike.looijmans@topic.nl \
--cc=mturquette@baylibre.com \
--cc=robh+dt@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.