2017-06-14 09:22:13

by Chunyan Zhang

[permalink] [raw]
Subject: [PATCH v2] Documentation: clock: address more for clock-cells property

The value of property 'clock-cells' is not determined only by the number
of clock outputs in one clock node, it is determined by whether the clock
output in this node can be referenced directly without index. If the
output clock has to be referenced by a index, the clock-cell of this
clock node can't be defined 0.

Signed-off-by: Chunyan Zhang <[email protected]>
---
Documentation/devicetree/bindings/clock/clock-bindings.txt | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/clock-bindings.txt b/Documentation/devicetree/bindings/clock/clock-bindings.txt
index 2ec489e..e2b76b4 100644
--- a/Documentation/devicetree/bindings/clock/clock-bindings.txt
+++ b/Documentation/devicetree/bindings/clock/clock-bindings.txt
@@ -18,6 +18,9 @@ Required properties:
with a single clock output and 1 for nodes with multiple
clock outputs.

+ There's one exception, please see the description for
+ clock-indices below.
+
Optional properties:
clock-output-names: Recommended to be a list of strings of clock output signal
names indexed by the first cell in the clock specifier.
@@ -48,6 +51,13 @@ clock-indices: If the identifying number for the clocks in the node
is not linear from zero, then this allows the mapping of
identifiers into the clock-output-names array.

+ This property not only servers for clocks with multiple
+ clock outputs, but also for clocks with a single clock
+ output whose identifying number is not zero.
+
+ So long as clock-indices is set, clock-cells cannot be
+ set zero.
+
For example, if we have two clocks <&oscillator 1> and <&oscillator 3>:

oscillator {
--
2.7.4


2017-06-14 09:42:58

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: clock: address more for clock-cells property

Hi Chunyan,

On Wed, Jun 14, 2017 at 11:21 AM, Chunyan Zhang
<[email protected]> wrote:
> The value of property 'clock-cells' is not determined only by the number
> of clock outputs in one clock node, it is determined by whether the clock
> output in this node can be referenced directly without index. If the
> output clock has to be referenced by a index, the clock-cell of this
> clock node can't be defined 0.
>
> Signed-off-by: Chunyan Zhang <[email protected]>
> ---
> Documentation/devicetree/bindings/clock/clock-bindings.txt | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/clock-bindings.txt b/Documentation/devicetree/bindings/clock/clock-bindings.txt
> index 2ec489e..e2b76b4 100644
> --- a/Documentation/devicetree/bindings/clock/clock-bindings.txt
> +++ b/Documentation/devicetree/bindings/clock/clock-bindings.txt
> @@ -18,6 +18,9 @@ Required properties:
> with a single clock output and 1 for nodes with multiple
> clock outputs.
>
> + There's one exception, please see the description for
> + clock-indices below.
> +
> Optional properties:
> clock-output-names: Recommended to be a list of strings of clock output signal
> names indexed by the first cell in the clock specifier.
> @@ -48,6 +51,13 @@ clock-indices: If the identifying number for the clocks in the node
> is not linear from zero, then this allows the mapping of
> identifiers into the clock-output-names array.
>
> + This property not only servers for clocks with multiple

serves

> + clock outputs, but also for clocks with a single clock
> + output whose identifying number is not zero.

Why would you want a single clock and a non-zero identifying number?

> + So long as clock-indices is set, clock-cells cannot be
> + set zero.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2017-06-14 10:11:41

by Chunyan Zhang

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: clock: address more for clock-cells property

Hi Geert,

On 14 June 2017 at 17:42, Geert Uytterhoeven <[email protected]> wrote:
> Hi Chunyan,
>
> On Wed, Jun 14, 2017 at 11:21 AM, Chunyan Zhang
> <[email protected]> wrote:
>> The value of property 'clock-cells' is not determined only by the number
>> of clock outputs in one clock node, it is determined by whether the clock
>> output in this node can be referenced directly without index. If the
>> output clock has to be referenced by a index, the clock-cell of this
>> clock node can't be defined 0.
>>
>> Signed-off-by: Chunyan Zhang <[email protected]>
>> ---
>> Documentation/devicetree/bindings/clock/clock-bindings.txt | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/clock/clock-bindings.txt b/Documentation/devicetree/bindings/clock/clock-bindings.txt
>> index 2ec489e..e2b76b4 100644
>> --- a/Documentation/devicetree/bindings/clock/clock-bindings.txt
>> +++ b/Documentation/devicetree/bindings/clock/clock-bindings.txt
>> @@ -18,6 +18,9 @@ Required properties:
>> with a single clock output and 1 for nodes with multiple
>> clock outputs.
>>
>> + There's one exception, please see the description for
>> + clock-indices below.
>> +
>> Optional properties:
>> clock-output-names: Recommended to be a list of strings of clock output signal
>> names indexed by the first cell in the clock specifier.
>> @@ -48,6 +51,13 @@ clock-indices: If the identifying number for the clocks in the node
>> is not linear from zero, then this allows the mapping of
>> identifiers into the clock-output-names array.
>>
>> + This property not only servers for clocks with multiple
>
> serves

Thanks, I will fix that.

>
>> + clock outputs, but also for clocks with a single clock
>> + output whose identifying number is not zero.
>
> Why would you want a single clock and a non-zero identifying number?

Because of the probably weird hardwire design :)
There indeed some clocks like that on the platform I'm working on.

>
>> + So long as clock-indices is set, clock-cells cannot be
>> + set zero.
>
> Gr{oetje,eeting}s,
>
> Geert

Thanks for your review,
Chunyan

>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds

2017-06-18 14:06:19

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2] Documentation: clock: address more for clock-cells property

On Wed, Jun 14, 2017 at 06:11:37PM +0800, Chunyan Zhang wrote:
> Hi Geert,
>
> On 14 June 2017 at 17:42, Geert Uytterhoeven <[email protected]> wrote:
> > Hi Chunyan,
> >
> > On Wed, Jun 14, 2017 at 11:21 AM, Chunyan Zhang
> > <[email protected]> wrote:
> >> The value of property 'clock-cells' is not determined only by the number
> >> of clock outputs in one clock node, it is determined by whether the clock
> >> output in this node can be referenced directly without index. If the
> >> output clock has to be referenced by a index, the clock-cell of this
> >> clock node can't be defined 0.
> >>
> >> Signed-off-by: Chunyan Zhang <[email protected]>
> >> ---
> >> Documentation/devicetree/bindings/clock/clock-bindings.txt | 10 ++++++++++
> >> 1 file changed, 10 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/clock/clock-bindings.txt b/Documentation/devicetree/bindings/clock/clock-bindings.txt
> >> index 2ec489e..e2b76b4 100644
> >> --- a/Documentation/devicetree/bindings/clock/clock-bindings.txt
> >> +++ b/Documentation/devicetree/bindings/clock/clock-bindings.txt
> >> @@ -18,6 +18,9 @@ Required properties:
> >> with a single clock output and 1 for nodes with multiple
> >> clock outputs.
> >>
> >> + There's one exception, please see the description for
> >> + clock-indices below.
> >> +
> >> Optional properties:
> >> clock-output-names: Recommended to be a list of strings of clock output signal
> >> names indexed by the first cell in the clock specifier.
> >> @@ -48,6 +51,13 @@ clock-indices: If the identifying number for the clocks in the node
> >> is not linear from zero, then this allows the mapping of
> >> identifiers into the clock-output-names array.
> >>
> >> + This property not only servers for clocks with multiple
> >
> > serves
>
> Thanks, I will fix that.
>
> >
> >> + clock outputs, but also for clocks with a single clock
> >> + output whose identifying number is not zero.
> >
> > Why would you want a single clock and a non-zero identifying number?
>
> Because of the probably weird hardwire design :)
> There indeed some clocks like that on the platform I'm working on.

But still, why do you care what the ID# is?

Rob