[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150402104838.GZ9447@x1>
Date: Thu, 2 Apr 2015 11:48:38 +0100
From: Lee Jones <lee.jones@...aro.org>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Mike Turquette <mturquette@...aro.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
kernel@...inux.com, Stephen Boyd <sboyd@...eaurora.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>
Subject: Re: [PATCH v3 0/4] clk: st: New always-on clock domain
On Thu, 02 Apr 2015, Geert Uytterhoeven wrote:
> On Thu, Mar 26, 2015 at 8:38 PM, Lee Jones <lee.jones@...aro.org> wrote:
> > On Thu, 26 Mar 2015, Geert Uytterhoeven wrote:
> >> On Thu, Mar 26, 2015 at 2:51 PM, Lee Jones <lee.jones@...aro.org> wrote:
> >> > On Wed, 25 Mar 2015, Geert Uytterhoeven wrote:
> >> >> On Mon, Mar 9, 2015 at 10:28 AM, Lee Jones <lee.jones@...aro.org> wrote:
> >> >> > On Fri, 06 Mar 2015, Mike Turquette wrote:
> >> >> >> This approach looks fine to me. In practice I think it is restricted to
> >> >> >> hardware blocks that don't exist in DT yet (e.g. no driver, in the case
> >> >> >> of your interconnect) and that restriction is probably for the best.
> >> >> >
> >> >> > Agreed.
> >> >>
> >> >> I think this restriction should be documented in the DT binding more clearly,
> >> >> as adding a "clk-always-on" node prohibits you from handling the clock
> >> >> correctly in
> >> >> the future.
> >> >
> >> > Would you mind taking the time to explain what you think those
> >> > limitations are?
> >>
> >> If you add a "clk-always-on" node, the clock will always on using that DT.
> >> That will still be true later, when you get a better understanding of the
> >> hardware, and might discover you're gonna need a driver for the currently
> >> hidden core component that's driven by the clock, and may want to manage
> >> that clock.
> >
> > So I have two points here.
> >
> > First point; I think you're looking at an older version of my set.
> > The newer one can be found at [1] and no longer uses 'always-on'
> > nodes. Instead the 'clk-always-on' property is applied to the
> > provider. See the documentation patch [2] for more details.
>
> Thanks, I was indeed looking at an old version.
> Still, that doesn't change that the clock to not be disabled in specified
> explicitly from DT.
>
> > Second point; this binding is _not_ to be used as a hack because the
> > hardware isn't understood. Genuine uses are for clocks that must not
> > be turned off ever, else bad things will happen. If the hardware is
> > not understood, use 'clk-disable-unused' on the kernel cmdline
> > instead.
[...]
> > If this clock should _genuinely_ be always-on, then use my new
> > binding in the clock controller node and the Clk framework will not
> > turn it off.
>
> It's supposed to be on when the application ARM core(s) is/are running.
> Many SoCs also have smaller cores (SH, Cortex R or M), intended to
> run a real-time OS. If the RT core is in charge, it may decide to shut down
> the application ARM core(s), incl. supposedly always-on modules like
> the ARM GIC.
>
> I couldn't find a detailed block diagram of the STiH4xx SoCs, but at least
> STiH416 has an "ST proprietary multi-compartmental security IP and DRM
> processor".
You might be interested in the latest incarnation of the set.
See if it solves your issues.
https://lkml.org/lkml/2015/4/1/267
--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists