diff mbox series

[v2,2/2] dt-bindings: timer: renesas,tpu: Convert to json-schema

Message ID 1c33e62c3a74979c3ca9580176e6cf89384caea9.1620648868.git.geert+renesas@glider.be
State Accepted
Commit d1dd216738f54c7a29a608c33ac98ce1f41e8fda
Headers show
Series dt-bindings: renesas,tpu: Improve and json-schema conversion | expand

Commit Message

Geert Uytterhoeven May 10, 2021, 12:18 p.m. UTC
Convert the Renesas H8/300 Timer Pulse Unit Device Tree binding
documentation to json-schema.

Correct clock-names, as "peripheral_clk" is the name of the supplier,
and all users use "fck".

Note that there are two different bindings for the TPU, both using
"renesas,tpu": this one for using the TPU as a clock source (used on
H8/300), and a second use for using the TPU as a PWM controller (used on
ARM).  To avoid conflicts, both bindings are marked with the appropriate
"select" logic, to check for the absence respectively presence of the
"#pwm-cells" property.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Rob Herring <robh@kernel.org>
---
v2:
  - Drop unneeded "'#pwm-cells': true" from "select" section in
    renesas,tpu-pwm.yaml,
  - Add Reviewed-by.

I have listed Sato-san as the maintainer, as he wrote the original
driver and bindings.
Sato-san: Please scream if this is inappropriate ;-)
---
 .../bindings/pwm/renesas,tpu-pwm.yaml         |  9 +++
 .../devicetree/bindings/timer/renesas,tpu.txt | 21 -------
 .../bindings/timer/renesas,tpu.yaml           | 56 +++++++++++++++++++
 3 files changed, 65 insertions(+), 21 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/timer/renesas,tpu.txt
 create mode 100644 Documentation/devicetree/bindings/timer/renesas,tpu.yaml

Comments

Yoshinori Sato May 12, 2021, 10 a.m. UTC | #1
On Mon, 10 May 2021 21:18:35 +0900,
Geert Uytterhoeven wrote:
> 

> Convert the Renesas H8/300 Timer Pulse Unit Device Tree binding

> documentation to json-schema.

> 

> Correct clock-names, as "peripheral_clk" is the name of the supplier,

> and all users use "fck".

> 

> Note that there are two different bindings for the TPU, both using

> "renesas,tpu": this one for using the TPU as a clock source (used on

> H8/300), and a second use for using the TPU as a PWM controller (used on

> ARM).  To avoid conflicts, both bindings are marked with the appropriate

> "select" logic, to check for the absence respectively presence of the

> "#pwm-cells" property.

> 

> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

> Reviewed-by: Rob Herring <robh@kernel.org>

> ---

> v2:

>   - Drop unneeded "'#pwm-cells': true" from "select" section in

>     renesas,tpu-pwm.yaml,

>   - Add Reviewed-by.

> 

> I have listed Sato-san as the maintainer, as he wrote the original

> driver and bindings.

> Sato-san: Please scream if this is inappropriate ;-)

> ---

>  .../bindings/pwm/renesas,tpu-pwm.yaml         |  9 +++

>  .../devicetree/bindings/timer/renesas,tpu.txt | 21 -------

>  .../bindings/timer/renesas,tpu.yaml           | 56 +++++++++++++++++++

>  3 files changed, 65 insertions(+), 21 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/timer/renesas,tpu.txt

>  create mode 100644 Documentation/devicetree/bindings/timer/renesas,tpu.yaml

> 

> diff --git a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml

> index 7c99e42ad780c2cd..81ccb2110162c3eb 100644

> --- a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml

> +++ b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml

> @@ -9,6 +9,15 @@ title: Renesas R-Car Timer Pulse Unit PWM Controller

>  maintainers:

>    - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

>  

> +select:

> +  properties:

> +    compatible:

> +      contains:

> +        const: renesas,tpu

> +  required:

> +    - compatible

> +    - '#pwm-cells'

> +

>  properties:

>    compatible:

>      items:

> diff --git a/Documentation/devicetree/bindings/timer/renesas,tpu.txt b/Documentation/devicetree/bindings/timer/renesas,tpu.txt

> deleted file mode 100644

> index 1d46f9de4feb8a84..0000000000000000

> --- a/Documentation/devicetree/bindings/timer/renesas,tpu.txt

> +++ /dev/null

> @@ -1,21 +0,0 @@

> -* Renesas H8/300 Timer Pulse Unit

> -

> -The TPU is a 16bit timer/counter with configurable clock inputs and

> -programmable compare match.

> -This implementation support only cascade mode.

> -

> -Required Properties:

> -

> -  - compatible: must contain "renesas,tpu"

> -  - reg: base address and length of the registers block in 2 channel.

> -  - clocks: a list of phandle, one for each entry in clock-names.

> -  - clock-names: must contain "peripheral_clk" for the functional clock.

> -

> -

> -Example:

> -	tpu: tpu@ffffe0 {

> -		compatible = "renesas,tpu";

> -		reg = <0xffffe0 16>, <0xfffff0 12>;

> -		clocks = <&pclk>;

> -		clock-names = "peripheral_clk";

> -	};

> diff --git a/Documentation/devicetree/bindings/timer/renesas,tpu.yaml b/Documentation/devicetree/bindings/timer/renesas,tpu.yaml

> new file mode 100644

> index 0000000000000000..01554dff23d8a954

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/timer/renesas,tpu.yaml

> @@ -0,0 +1,56 @@

> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/timer/renesas,tpu.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Renesas H8/300 Timer Pulse Unit

> +

> +maintainers:

> +  - Yoshinori Sato <ysato@users.sourceforge.jp>

> +

> +description:

> +  The TPU is a 16bit timer/counter with configurable clock inputs and

> +  programmable compare match.

> +  This implementation supports only cascade mode.

> +

> +select:

> +  properties:

> +    compatible:

> +      contains:

> +        const: renesas,tpu

> +    '#pwm-cells': false

> +  required:

> +    - compatible

> +

> +properties:

> +  compatible:

> +    const: renesas,tpu

> +

> +  reg:

> +    items:

> +      - description: First channel

> +      - description: Second channel

> +

> +  clocks:

> +    maxItems: 1

> +

> +  clock-names:

> +    const: fck

> +

> +required:

> +  - compatible

> +  - reg

> +  - clocks

> +  - clock-names

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    tpu: tpu@ffffe0 {

> +            compatible = "renesas,tpu";

> +            reg = <0xffffe0 16>, <0xfffff0 12>;

> +            clocks = <&pclk>;

> +            clock-names = "fck";

> +    };

> -- 

> 2.25.1

> 


Acked-by: Yoshinori Sato <ysato@users.sourceforge.jp>


-- 
Yosinori Sato
Rob Herring May 13, 2021, 2:35 a.m. UTC | #2
On Mon, 10 May 2021 14:18:35 +0200, Geert Uytterhoeven wrote:
> Convert the Renesas H8/300 Timer Pulse Unit Device Tree binding

> documentation to json-schema.

> 

> Correct clock-names, as "peripheral_clk" is the name of the supplier,

> and all users use "fck".

> 

> Note that there are two different bindings for the TPU, both using

> "renesas,tpu": this one for using the TPU as a clock source (used on

> H8/300), and a second use for using the TPU as a PWM controller (used on

> ARM).  To avoid conflicts, both bindings are marked with the appropriate

> "select" logic, to check for the absence respectively presence of the

> "#pwm-cells" property.

> 

> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>

> Reviewed-by: Rob Herring <robh@kernel.org>

> ---

> v2:

>   - Drop unneeded "'#pwm-cells': true" from "select" section in

>     renesas,tpu-pwm.yaml,

>   - Add Reviewed-by.

> 

> I have listed Sato-san as the maintainer, as he wrote the original

> driver and bindings.

> Sato-san: Please scream if this is inappropriate ;-)

> ---

>  .../bindings/pwm/renesas,tpu-pwm.yaml         |  9 +++

>  .../devicetree/bindings/timer/renesas,tpu.txt | 21 -------

>  .../bindings/timer/renesas,tpu.yaml           | 56 +++++++++++++++++++

>  3 files changed, 65 insertions(+), 21 deletions(-)

>  delete mode 100644 Documentation/devicetree/bindings/timer/renesas,tpu.txt

>  create mode 100644 Documentation/devicetree/bindings/timer/renesas,tpu.yaml

> 


Applied, thanks!
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml
index 7c99e42ad780c2cd..81ccb2110162c3eb 100644
--- a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml
+++ b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml
@@ -9,6 +9,15 @@  title: Renesas R-Car Timer Pulse Unit PWM Controller
 maintainers:
   - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
 
+select:
+  properties:
+    compatible:
+      contains:
+        const: renesas,tpu
+  required:
+    - compatible
+    - '#pwm-cells'
+
 properties:
   compatible:
     items:
diff --git a/Documentation/devicetree/bindings/timer/renesas,tpu.txt b/Documentation/devicetree/bindings/timer/renesas,tpu.txt
deleted file mode 100644
index 1d46f9de4feb8a84..0000000000000000
--- a/Documentation/devicetree/bindings/timer/renesas,tpu.txt
+++ /dev/null
@@ -1,21 +0,0 @@ 
-* Renesas H8/300 Timer Pulse Unit
-
-The TPU is a 16bit timer/counter with configurable clock inputs and
-programmable compare match.
-This implementation support only cascade mode.
-
-Required Properties:
-
-  - compatible: must contain "renesas,tpu"
-  - reg: base address and length of the registers block in 2 channel.
-  - clocks: a list of phandle, one for each entry in clock-names.
-  - clock-names: must contain "peripheral_clk" for the functional clock.
-
-
-Example:
-	tpu: tpu@ffffe0 {
-		compatible = "renesas,tpu";
-		reg = <0xffffe0 16>, <0xfffff0 12>;
-		clocks = <&pclk>;
-		clock-names = "peripheral_clk";
-	};
diff --git a/Documentation/devicetree/bindings/timer/renesas,tpu.yaml b/Documentation/devicetree/bindings/timer/renesas,tpu.yaml
new file mode 100644
index 0000000000000000..01554dff23d8a954
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/renesas,tpu.yaml
@@ -0,0 +1,56 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/renesas,tpu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas H8/300 Timer Pulse Unit
+
+maintainers:
+  - Yoshinori Sato <ysato@users.sourceforge.jp>
+
+description:
+  The TPU is a 16bit timer/counter with configurable clock inputs and
+  programmable compare match.
+  This implementation supports only cascade mode.
+
+select:
+  properties:
+    compatible:
+      contains:
+        const: renesas,tpu
+    '#pwm-cells': false
+  required:
+    - compatible
+
+properties:
+  compatible:
+    const: renesas,tpu
+
+  reg:
+    items:
+      - description: First channel
+      - description: Second channel
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    const: fck
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+
+additionalProperties: false
+
+examples:
+  - |
+    tpu: tpu@ffffe0 {
+            compatible = "renesas,tpu";
+            reg = <0xffffe0 16>, <0xfffff0 12>;
+            clocks = <&pclk>;
+            clock-names = "fck";
+    };