Message ID | 1403202040-12641-5-git-send-email-javier.martinez@collabora.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On czw, 2014-06-19 at 20:20 +0200, Javier Martinez Canillas wrote: > Like most clock drivers, the Maxim 77686 PMIC clock binding > follows the convention that the "#clock-cells" property is > used to specify the number of cells in a clock provider. > > But the binding document is not clear enough that it shall > be set to 1 since the PMIC support multiple clocks outputs. > > Also, explain that the clocks identifiers are defined in a > header file that can be included by Device Tree source with > client nodes to avoid using magic numbers. > > Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> > --- > .../devicetree/bindings/clock/maxim,max77686.txt | 15 ++++++++++----- > 1 file changed, 10 insertions(+), 5 deletions(-) Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Best regards, Krzysztof > diff --git a/Documentation/devicetree/bindings/clock/maxim,max77686.txt b/Documentation/devicetree/bindings/clock/maxim,max77686.txt > index 96ce71b..8dea305 100644 > --- a/Documentation/devicetree/bindings/clock/maxim,max77686.txt > +++ b/Documentation/devicetree/bindings/clock/maxim,max77686.txt > @@ -9,13 +9,18 @@ The MAX77686 contains three 32.768khz clock outputs that can be controlled > Following properties should be presend in main device node of the MFD chip. > > Required properties: > -- #clock-cells: simple one-cell clock specifier format is used, where the > - only cell is used as an index of the clock inside the provider. Following > - indices are allowed: > + > +- #clock-cells: from common clock binding; shall be set to 1. > + > +Each clock is assigned an identifier and client nodes can use this identifier > +to specify the clock which they consume. Following indices are allowed: > - 0: 32khz_ap clock, > - 1: 32khz_cp clock, > - 2: 32khz_pmic clock. > > +Clocks are defined as preprocessor macros in dt-bindings/clock/maxim,max77686.h > +header and can be used in device tree sources. > + > Example: Node of the MFD chip > > max77686: max77686@09 { > @@ -33,6 +38,6 @@ Example: Clock consumer node > foo@0 { > compatible = "bar,foo"; > /* ... */ > - clock-names = "my-clock"; > - clocks = <&max77686 2>; > + clock-names = "32khz_pmic"; > + clocks = <&max77686 MAX77686_CLK_PMIC>; > };
Javier, On Thu, Jun 19, 2014 at 11:20 AM, Javier Martinez Canillas <javier.martinez@collabora.co.uk> wrote: > @@ -33,6 +38,6 @@ Example: Clock consumer node > foo@0 { > compatible = "bar,foo"; > /* ... */ > - clock-names = "my-clock"; > - clocks = <&max77686 2>; > + clock-names = "32khz_pmic"; > + clocks = <&max77686 MAX77686_CLK_PMIC>; A minor comment here is that you probably shouldn't change "clock-names". The "clock-names" is the consumer's concept of the clock name and not the producer's concept. If this clock were specified as going into the TPM, for instance, the TPM might call it "32k-reference". Then the TPM would get the clock by referring to this name in its driver. -Doug
Hello Doug, Thanks a lot for your feedback. On 06/25/2014 08:06 PM, Doug Anderson wrote: > Javier, > > On Thu, Jun 19, 2014 at 11:20 AM, Javier Martinez Canillas > <javier.martinez@collabora.co.uk> wrote: >> @@ -33,6 +38,6 @@ Example: Clock consumer node >> foo@0 { >> compatible = "bar,foo"; >> /* ... */ >> - clock-names = "my-clock"; >> - clocks = <&max77686 2>; >> + clock-names = "32khz_pmic"; >> + clocks = <&max77686 MAX77686_CLK_PMIC>; > > A minor comment here is that you probably shouldn't change "clock-names". > > The "clock-names" is the consumer's concept of the clock name and not > the producer's concept. If this clock were specified as going into > the TPM, for instance, the TPM might call it "32k-reference". Then > the TPM would get the clock by referring to this name in its driver. > > -Doug > You're right. I won't change the clock names in the next version of the patch-set. Best regards, Javier
diff --git a/Documentation/devicetree/bindings/clock/maxim,max77686.txt b/Documentation/devicetree/bindings/clock/maxim,max77686.txt index 96ce71b..8dea305 100644 --- a/Documentation/devicetree/bindings/clock/maxim,max77686.txt +++ b/Documentation/devicetree/bindings/clock/maxim,max77686.txt @@ -9,13 +9,18 @@ The MAX77686 contains three 32.768khz clock outputs that can be controlled Following properties should be presend in main device node of the MFD chip. Required properties: -- #clock-cells: simple one-cell clock specifier format is used, where the - only cell is used as an index of the clock inside the provider. Following - indices are allowed: + +- #clock-cells: from common clock binding; shall be set to 1. + +Each clock is assigned an identifier and client nodes can use this identifier +to specify the clock which they consume. Following indices are allowed: - 0: 32khz_ap clock, - 1: 32khz_cp clock, - 2: 32khz_pmic clock. +Clocks are defined as preprocessor macros in dt-bindings/clock/maxim,max77686.h +header and can be used in device tree sources. + Example: Node of the MFD chip max77686: max77686@09 { @@ -33,6 +38,6 @@ Example: Clock consumer node foo@0 { compatible = "bar,foo"; /* ... */ - clock-names = "my-clock"; - clocks = <&max77686 2>; + clock-names = "32khz_pmic"; + clocks = <&max77686 MAX77686_CLK_PMIC>; };
Like most clock drivers, the Maxim 77686 PMIC clock binding follows the convention that the "#clock-cells" property is used to specify the number of cells in a clock provider. But the binding document is not clear enough that it shall be set to 1 since the PMIC support multiple clocks outputs. Also, explain that the clocks identifiers are defined in a header file that can be included by Device Tree source with client nodes to avoid using magic numbers. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- .../devicetree/bindings/clock/maxim,max77686.txt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)