All of lore.kernel.org
 help / color / mirror / Atom feed
From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/4] clk: st: New always-on clock domain
Date: Thu, 2 Apr 2015 11:48:38 +0100	[thread overview]
Message-ID: <20150402104838.GZ9447@x1> (raw)
In-Reply-To: <CAMuHMdWYEWoCkARLjU3WXWyh+tbe=j_ftAF+HDFT6dYAfcCo-w@mail.gmail.com>

On Thu, 02 Apr 2015, Geert Uytterhoeven wrote:
> On Thu, Mar 26, 2015 at 8:38 PM, Lee Jones <lee.jones@linaro.org> wrote:
> > On Thu, 26 Mar 2015, Geert Uytterhoeven wrote:
> >> On Thu, Mar 26, 2015 at 2:51 PM, Lee Jones <lee.jones@linaro.org> wrote:
> >> > On Wed, 25 Mar 2015, Geert Uytterhoeven wrote:
> >> >> On Mon, Mar 9, 2015 at 10:28 AM, Lee Jones <lee.jones@linaro.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

WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Mike Turquette <mturquette@linaro.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	kernel@stlinux.com, Stephen Boyd <sboyd@codeaurora.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v3 0/4] clk: st: New always-on clock domain
Date: Thu, 2 Apr 2015 11:48:38 +0100	[thread overview]
Message-ID: <20150402104838.GZ9447@x1> (raw)
In-Reply-To: <CAMuHMdWYEWoCkARLjU3WXWyh+tbe=j_ftAF+HDFT6dYAfcCo-w@mail.gmail.com>

On Thu, 02 Apr 2015, Geert Uytterhoeven wrote:
> On Thu, Mar 26, 2015 at 8:38 PM, Lee Jones <lee.jones@linaro.org> wrote:
> > On Thu, 26 Mar 2015, Geert Uytterhoeven wrote:
> >> On Thu, Mar 26, 2015 at 2:51 PM, Lee Jones <lee.jones@linaro.org> wrote:
> >> > On Wed, 25 Mar 2015, Geert Uytterhoeven wrote:
> >> >> On Mon, Mar 9, 2015 at 10:28 AM, Lee Jones <lee.jones@linaro.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

  reply	other threads:[~2015-04-02 10:48 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-24 17:33 [PATCH v3 0/4] clk: st: New always-on clock domain Lee Jones
2015-02-24 17:33 ` Lee Jones
2015-02-24 17:33 ` Lee Jones
2015-02-24 17:33 ` [PATCH v3 1/4] ARM: sti: stih407-family: Supply defines for CLOCKGEN A0 Lee Jones
2015-02-24 17:33   ` Lee Jones
2015-02-24 17:33   ` Lee Jones
2015-02-24 17:33 ` [PATCH v3 2/4] ARM: sti: stih407-family: Add platform interconnects to always-on clk domain Lee Jones
2015-02-24 17:33   ` Lee Jones
2015-02-24 17:33 ` [PATCH v3 3/4] clk: Provide an always-on clock domain framework Lee Jones
2015-02-24 17:33   ` Lee Jones
2015-02-24 17:33 ` [PATCH v3 4/4] clk: dt: Introduce always-on clock domain documentation Lee Jones
2015-02-24 17:33   ` Lee Jones
2015-02-24 17:42 ` [PATCH v3 0/4] clk: st: New always-on clock domain Lee Jones
2015-02-24 17:42   ` Lee Jones
2015-02-24 17:42   ` Lee Jones
2015-02-27 21:37 ` Robert Jarzmik
2015-02-27 21:37   ` Robert Jarzmik
2015-02-27 21:49   ` Lee Jones
2015-02-27 21:49     ` Lee Jones
2015-02-27 23:38     ` Robert Jarzmik
2015-02-27 23:38       ` Robert Jarzmik
2015-02-27 23:38       ` Robert Jarzmik
2015-03-02  8:30       ` Lee Jones
2015-03-02  8:30         ` Lee Jones
2015-03-02 11:29         ` Robert Jarzmik
2015-03-02 11:29           ` Robert Jarzmik
2015-03-02 11:37           ` Lee Jones
2015-03-02 11:37             ` Lee Jones
2015-03-04 12:00 ` Lee Jones
2015-03-04 12:00   ` Lee Jones
2015-03-04 12:00   ` Lee Jones
2015-03-06 19:08   ` Mike Turquette
2015-03-06 19:08     ` Mike Turquette
2015-03-09  9:28     ` Lee Jones
2015-03-09  9:28       ` Lee Jones
2015-03-25  4:11       ` Geert Uytterhoeven
2015-03-25  4:11         ` Geert Uytterhoeven
2015-03-25  4:11         ` Geert Uytterhoeven
2015-03-26 13:51         ` Lee Jones
2015-03-26 13:51           ` Lee Jones
2015-03-26 13:51           ` Lee Jones
2015-03-26 16:55           ` Geert Uytterhoeven
2015-03-26 16:55             ` Geert Uytterhoeven
2015-03-26 19:38             ` Lee Jones
2015-03-26 19:38               ` Lee Jones
2015-04-02  8:31               ` Geert Uytterhoeven
2015-04-02  8:31                 ` Geert Uytterhoeven
2015-04-02 10:48                 ` Lee Jones [this message]
2015-04-02 10:48                   ` Lee Jones

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=20150402104838.GZ9447@x1 \
    --to=lee.jones@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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.