linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] clk: clps711x: Add DT bindings documentation
@ 2014-06-01  9:55 Alexander Shiyan
  2014-06-02  8:56 ` Mark Rutland
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Shiyan @ 2014-06-01  9:55 UTC (permalink / raw)
  To: linux-arm-kernel

This patch adds DT binding documentation for the Cirrus Logic
CLPS711X-based CPUs clock subsystem.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
 .../devicetree/bindings/clock/clps711x-clock.txt      | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/clps711x-clock.txt

diff --git a/Documentation/devicetree/bindings/clock/clps711x-clock.txt b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
new file mode 100644
index 0000000..0fdf3c9
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
@@ -0,0 +1,19 @@
+* Clock bindings for the Cirrus Logic CLPS711X CPUs
+
+Required properties:
+- compatible  : Shall contain "cirrus,clps711x-clk".
+- reg         : Address of the internal register set.
+- cpufreq     : Factory set default frequency in HZ.
+- #clock-cells: Should be <1>.
+
+The clock consumer should specify the desired clock by having the clock
+ID in its "clocks" phandle cell. See include/dt-bindings/clock/clps711x-clock.h
+for the full list of CLPS711X clock IDs.
+
+Example:
+	clks: clks at 80000000 {
+		#clock-cells = <1>;
+		compatible = "cirrus,ep7312-clk", "cirrus,clps711x-clk";
+		reg = <0x80000000 0xc000>;
+		cpufreq = <73728000>;
+	};
-- 
1.8.5.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] clk: clps711x: Add DT bindings documentation
  2014-06-01  9:55 [PATCH 2/2] clk: clps711x: Add DT bindings documentation Alexander Shiyan
@ 2014-06-02  8:56 ` Mark Rutland
  2014-06-02  9:32   ` Alexander Shiyan
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Rutland @ 2014-06-02  8:56 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Jun 01, 2014 at 10:55:22AM +0100, Alexander Shiyan wrote:
> This patch adds DT binding documentation for the Cirrus Logic
> CLPS711X-based CPUs clock subsystem.
> 
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> ---
>  .../devicetree/bindings/clock/clps711x-clock.txt      | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/clock/clps711x-clock.txt
> 
> diff --git a/Documentation/devicetree/bindings/clock/clps711x-clock.txt b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
> new file mode 100644
> index 0000000..0fdf3c9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
> @@ -0,0 +1,19 @@
> +* Clock bindings for the Cirrus Logic CLPS711X CPUs
> +
> +Required properties:
> +- compatible  : Shall contain "cirrus,clps711x-clk".
> +- reg         : Address of the internal register set.
> +- cpufreq     : Factory set default frequency in HZ.

Huh? Why is this called "cpufreq" what is this the frequency of,
exactly?

Is this an input or an output?

Cheers,
Mark.

> +- #clock-cells: Should be <1>.
> +
> +The clock consumer should specify the desired clock by having the clock
> +ID in its "clocks" phandle cell. See include/dt-bindings/clock/clps711x-clock.h
> +for the full list of CLPS711X clock IDs.
> +
> +Example:
> +	clks: clks at 80000000 {
> +		#clock-cells = <1>;
> +		compatible = "cirrus,ep7312-clk", "cirrus,clps711x-clk";
> +		reg = <0x80000000 0xc000>;
> +		cpufreq = <73728000>;
> +	};
> -- 
> 1.8.5.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] clk: clps711x: Add DT bindings documentation
  2014-06-02  8:56 ` Mark Rutland
@ 2014-06-02  9:32   ` Alexander Shiyan
  2014-06-02 10:42     ` Mark Rutland
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Shiyan @ 2014-06-02  9:32 UTC (permalink / raw)
  To: linux-arm-kernel

Mon, 2 Jun 2014 09:56:51 +0100 ?? Mark Rutland <mark.rutland@arm.com>:
> On Sun, Jun 01, 2014 at 10:55:22AM +0100, Alexander Shiyan wrote:
> > This patch adds DT binding documentation for the Cirrus Logic
> > CLPS711X-based CPUs clock subsystem.
> > 
> > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > ---
> >  .../devicetree/bindings/clock/clps711x-clock.txt      | 19 +++++++++++++++++++
> >  1 file changed, 19 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/clock/clps711x-clock.txt b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > new file mode 100644
> > index 0000000..0fdf3c9
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > @@ -0,0 +1,19 @@
> > +* Clock bindings for the Cirrus Logic CLPS711X CPUs
> > +
> > +Required properties:
> > +- compatible  : Shall contain "cirrus,clps711x-clk".
> > +- reg         : Address of the internal register set.
> > +- cpufreq     : Factory set default frequency in HZ.
> 
> Huh? Why is this called "cpufreq" what is this the frequency of,
> exactly?
> 
> Is this an input or an output?

Modern CLPS711X CPUs support PLL reprogramming, while for older processors,
this procedure is not possible and the CPU clock is set to a fixed value. Thus if the
value of the PLL multiplier is not correct (missing), we use a fixed CPU frequency
of the processor, described in DT, which allows us to use the driver for the new and
old versions of this CPU.

---

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/2] clk: clps711x: Add DT bindings documentation
  2014-06-02  9:32   ` Alexander Shiyan
@ 2014-06-02 10:42     ` Mark Rutland
  2014-06-02 11:53       ` Alexander Shiyan
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Rutland @ 2014-06-02 10:42 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Jun 02, 2014 at 10:32:48AM +0100, Alexander Shiyan wrote:
> Mon, 2 Jun 2014 09:56:51 +0100 ?? Mark Rutland <mark.rutland@arm.com>:
> > On Sun, Jun 01, 2014 at 10:55:22AM +0100, Alexander Shiyan wrote:
> > > This patch adds DT binding documentation for the Cirrus Logic
> > > CLPS711X-based CPUs clock subsystem.
> > > 
> > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > ---
> > >  .../devicetree/bindings/clock/clps711x-clock.txt      | 19 +++++++++++++++++++
> > >  1 file changed, 19 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > > 
> > > diff --git a/Documentation/devicetree/bindings/clock/clps711x-clock.txt b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > > new file mode 100644
> > > index 0000000..0fdf3c9
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > > @@ -0,0 +1,19 @@
> > > +* Clock bindings for the Cirrus Logic CLPS711X CPUs
> > > +
> > > +Required properties:
> > > +- compatible  : Shall contain "cirrus,clps711x-clk".
> > > +- reg         : Address of the internal register set.
> > > +- cpufreq     : Factory set default frequency in HZ.
> > 
> > Huh? Why is this called "cpufreq" what is this the frequency of,
> > exactly?
> > 
> > Is this an input or an output?
> 
> Modern CLPS711X CPUs support PLL reprogramming, while for older processors,
> this procedure is not possible and the CPU clock is set to a fixed value. Thus if the
> value of the PLL multiplier is not correct (missing), we use a fixed CPU frequency
> of the processor, described in DT, which allows us to use the driver for the new and
> old versions of this CPU.

Ok. So this is the frequency of a (non-programmable) PLL which feeds the
clock IP block?

Or is this internal to the IP block?

Typically we'd use "clock-frequency" as the name for such an input, or
just model it as a normal clock input and feed it a fixed-rate-clock for
the non-programmable case.

Cheers,
Mark.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] clk: clps711x: Add DT bindings documentation
  2014-06-02 10:42     ` Mark Rutland
@ 2014-06-02 11:53       ` Alexander Shiyan
  0 siblings, 0 replies; 5+ messages in thread
From: Alexander Shiyan @ 2014-06-02 11:53 UTC (permalink / raw)
  To: linux-arm-kernel

Mon, 2 Jun 2014 11:42:22 +0100 ?? Mark Rutland <mark.rutland@arm.com>:
> On Mon, Jun 02, 2014 at 10:32:48AM +0100, Alexander Shiyan wrote:
> > Mon, 2 Jun 2014 09:56:51 +0100 ?? Mark Rutland <mark.rutland@arm.com>:
> > > On Sun, Jun 01, 2014 at 10:55:22AM +0100, Alexander Shiyan wrote:
> > > > This patch adds DT binding documentation for the Cirrus Logic
> > > > CLPS711X-based CPUs clock subsystem.
> > > > 
> > > > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> > > > ---
> > > >  .../devicetree/bindings/clock/clps711x-clock.txt      | 19 +++++++++++++++++++
> > > >  1 file changed, 19 insertions(+)
> > > >  create mode 100644 Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/clock/clps711x-clock.txt b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > > > new file mode 100644
> > > > index 0000000..0fdf3c9
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/clock/clps711x-clock.txt
> > > > @@ -0,0 +1,19 @@
> > > > +* Clock bindings for the Cirrus Logic CLPS711X CPUs
> > > > +
> > > > +Required properties:
> > > > +- compatible  : Shall contain "cirrus,clps711x-clk".
> > > > +- reg         : Address of the internal register set.
> > > > +- cpufreq     : Factory set default frequency in HZ.
> > > 
> > > Huh? Why is this called "cpufreq" what is this the frequency of,
> > > exactly?
> > > 
> > > Is this an input or an output?
> > 
> > Modern CLPS711X CPUs support PLL reprogramming, while for older processors,
> > this procedure is not possible and the CPU clock is set to a fixed value. Thus if the
> > value of the PLL multiplier is not correct (missing), we use a fixed CPU frequency
> > of the processor, described in DT, which allows us to use the driver for the new and
> > old versions of this CPU.
> 
> Ok. So this is the frequency of a (non-programmable) PLL which feeds the
> clock IP block?
> 
> Or is this internal to the IP block?

To be precise, it is the frequency at the CPU startup. After starting the bootloader can
change the value of PLL (of course, if this is supported) and processor speed will
changed. For CPUs that do not support changing the PLL, this value is the only one
possible.

> Typically we'd use "clock-frequency" as the name for such an input, or
> just model it as a normal clock input and feed it a fixed-rate-clock for
> the non-programmable case.

I would prefer to use the name "startup-frequency" or so.

"clock-frequency" means that we use this frequency exactly, but it's not as
if the PLL has to be reprogrammed by the bootloader.

The use of "fixed-rate-clock" here for me is not correct, because the real generator
used by the processor (old and new), uses the frequency 3.6864M and simply multiply
it by the PLL value.

---

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-06-02 11:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-01  9:55 [PATCH 2/2] clk: clps711x: Add DT bindings documentation Alexander Shiyan
2014-06-02  8:56 ` Mark Rutland
2014-06-02  9:32   ` Alexander Shiyan
2014-06-02 10:42     ` Mark Rutland
2014-06-02 11:53       ` Alexander Shiyan

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).