diff mbox

[v3,04/14] clk: max77686: Improve Maxim 77686 PMIC clocks binding

Message ID 1403202040-12641-5-git-send-email-javier.martinez@collabora.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Javier Martinez Canillas June 19, 2014, 6:20 p.m. UTC
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(-)

Comments

Krzysztof Kozlowski June 25, 2014, 10:19 a.m. UTC | #1
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>;
>  	};
Doug Anderson June 25, 2014, 6:06 p.m. UTC | #2
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
Javier Martinez Canillas June 25, 2014, 6:13 p.m. UTC | #3
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 mbox

Patch

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>;
 	};