mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml
@ 2022-01-26 16:00 Corentin Labbe
  2022-01-26 22:10 ` Rob Herring
  2022-02-08 13:29 ` Rob Herring
  0 siblings, 2 replies; 3+ messages in thread
From: Corentin Labbe @ 2022-01-26 16:00 UTC (permalink / raw)
  To: daniel.lezcano, robh+dt, tglx; +Cc: devicetree, linux-kernel, Corentin Labbe

Converts timer/faraday,fttmr010.txt to yaml.

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
---
Changes since v1:
- added moxart example
- relaxed some contraints as driver only support one clock and one
  interrupt (as used by moxa,moxart-timer)

 .../bindings/timer/faraday,fttmr010.txt       | 38 --------
 .../bindings/timer/faraday,fttmr010.yaml      | 88 +++++++++++++++++++
 2 files changed, 88 insertions(+), 38 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/timer/faraday,fttmr010.txt
 create mode 100644 Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml

diff --git a/Documentation/devicetree/bindings/timer/faraday,fttmr010.txt b/Documentation/devicetree/bindings/timer/faraday,fttmr010.txt
deleted file mode 100644
index 3cb2f4c98d64..000000000000
--- a/Documentation/devicetree/bindings/timer/faraday,fttmr010.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-Faraday Technology timer
-
-This timer is a generic IP block from Faraday Technology, embedded in the
-Cortina Systems Gemini SoCs and other designs.
-
-Required properties:
-
-- compatible : Must be one of
-  "faraday,fttmr010"
-  "cortina,gemini-timer", "faraday,fttmr010"
-  "moxa,moxart-timer", "faraday,fttmr010"
-  "aspeed,ast2400-timer"
-  "aspeed,ast2500-timer"
-  "aspeed,ast2600-timer"
-
-- reg : Should contain registers location and length
-- interrupts : Should contain the three timer interrupts usually with
-  flags for falling edge
-
-Optionally required properties:
-
-- clocks : a clock to provide the tick rate for "faraday,fttmr010"
-- clock-names : should be "EXTCLK" and "PCLK" for the external tick timer
-  and peripheral clock respectively, for "faraday,fttmr010"
-- syscon : a phandle to the global Gemini system controller if the compatible
-  type is "cortina,gemini-timer"
-
-Example:
-
-timer@43000000 {
-	compatible = "faraday,fttmr010";
-	reg = <0x43000000 0x1000>;
-	interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
-		   <15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
-		   <16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
-	clocks = <&extclk>, <&pclk>;
-	clock-names = "EXTCLK", "PCLK";
-};
diff --git a/Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml b/Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml
new file mode 100644
index 000000000000..db9fb171ea49
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/faraday,fttmr010.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Faraday Technology timer
+
+maintainers:
+  - Linus Walleij <linus.walleij@linaro.org>
+
+description: |
+  This timer is a generic IP block from Faraday Technology, embedded in the
+  Cortina Systems Gemini SoCs and other designs.
+
+properties:
+  compatible:
+    oneOf:
+      - const: faraday,fttmr010
+      - items:
+          - const: cortina,gemini-timer
+          - const: faraday,fttmr010
+      - items:
+          - const: moxa,moxart-timer
+          - const: faraday,fttmr010
+      - const: aspeed,ast2400-timer
+      - const: aspeed,ast2500-timer
+      - const: aspeed,ast2600-timer
+
+  reg:
+    maxItems: 1
+
+  resets:
+    maxItems: 1
+
+  interrupts:
+    minItems: 1
+    maxItems: 3
+    description: Should contain the three timer interrupts usually with flags for falling edge
+
+  clocks:
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: "PCLK"
+      - const: "EXTCLK"
+
+  syscon:
+    $ref: /schemas/types.yaml#/definitions/phandle
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    /* taken from arch/arm/boot/dts/gemini.dtsi */
+    timer@43000000 {
+      compatible = "faraday,fttmr010";
+      reg = <0x43000000 0x1000>;
+      interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
+                   <15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
+                   <16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
+      clocks = <&extclk>, <&pclk>;
+      clock-names = "PCLK", "EXTCLK";
+      syscon = <&syscon>;
+    };
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    /* taken from arch/arm/boot/dts/moxart.dtsi */
+    timer: timer@98400000 {
+      compatible = "moxa,moxart-timer", "faraday,fttmr010";
+      reg = <0x98400000 0x42>;
+      interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
+      clocks = <&clk_apb>;
+      clock-names = "PCLK";
+    };
+...
-- 
2.34.1


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

* Re: [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml
  2022-01-26 16:00 [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml Corentin Labbe
@ 2022-01-26 22:10 ` Rob Herring
  2022-02-08 13:29 ` Rob Herring
  1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring @ 2022-01-26 22:10 UTC (permalink / raw)
  To: Corentin Labbe; +Cc: linux-kernel, daniel.lezcano, robh+dt, devicetree, tglx

On Wed, 26 Jan 2022 16:00:21 +0000, Corentin Labbe wrote:
> Converts timer/faraday,fttmr010.txt to yaml.
> 
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---
> Changes since v1:
> - added moxart example
> - relaxed some contraints as driver only support one clock and one
>   interrupt (as used by moxa,moxart-timer)
> 
>  .../bindings/timer/faraday,fttmr010.txt       | 38 --------
>  .../bindings/timer/faraday,fttmr010.yaml      | 88 +++++++++++++++++++
>  2 files changed, 88 insertions(+), 38 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/timer/faraday,fttmr010.txt
>  create mode 100644 Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml
> 

Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.

Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.

Full log is available here: https://patchwork.ozlabs.org/patch/1584531


timer@1e782000: interrupts-extended: [[1, 0, 16, 4], [1, 0, 17, 4], [1, 0, 18, 4], [1, 0, 19, 4], [1, 0, 20, 4], [1, 0, 21, 4], [1, 0, 22, 4], [1, 0, 23, 4]] is too long
	arch/arm/boot/dts/aspeed-ast2600-evb-a1.dt.yaml
	arch/arm/boot/dts/aspeed-ast2600-evb.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-bletchley.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-cloudripper.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-elbert.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-facebook-fuji.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-ibm-everest.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-ibm-rainier-1s4u.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-ibm-rainier-4u.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-ibm-rainier.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-inventec-transformers.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-opp-tacoma.dt.yaml

timer@1e782000: '#pwm-cells', 'fttmr010,pwm-outputs' do not match any of the regexes: 'pinctrl-[0-9]+'
	arch/arm/boot/dts/aspeed-bmc-vegman-n110.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-vegman-rx20.dt.yaml
	arch/arm/boot/dts/aspeed-bmc-vegman-sx20.dt.yaml


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

* Re: [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml
  2022-01-26 16:00 [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml Corentin Labbe
  2022-01-26 22:10 ` Rob Herring
@ 2022-02-08 13:29 ` Rob Herring
  1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring @ 2022-02-08 13:29 UTC (permalink / raw)
  To: Corentin Labbe; +Cc: daniel.lezcano, tglx, devicetree, linux-kernel

On Wed, Jan 26, 2022 at 04:00:21PM +0000, Corentin Labbe wrote:
> Converts timer/faraday,fttmr010.txt to yaml.
> 
> Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
> ---
> Changes since v1:
> - added moxart example
> - relaxed some contraints as driver only support one clock and one
>   interrupt (as used by moxa,moxart-timer)
> 
>  .../bindings/timer/faraday,fttmr010.txt       | 38 --------
>  .../bindings/timer/faraday,fttmr010.yaml      | 88 +++++++++++++++++++
>  2 files changed, 88 insertions(+), 38 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/timer/faraday,fttmr010.txt
>  create mode 100644 Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml
> 
> diff --git a/Documentation/devicetree/bindings/timer/faraday,fttmr010.txt b/Documentation/devicetree/bindings/timer/faraday,fttmr010.txt
> deleted file mode 100644
> index 3cb2f4c98d64..000000000000
> --- a/Documentation/devicetree/bindings/timer/faraday,fttmr010.txt
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -Faraday Technology timer
> -
> -This timer is a generic IP block from Faraday Technology, embedded in the
> -Cortina Systems Gemini SoCs and other designs.
> -
> -Required properties:
> -
> -- compatible : Must be one of
> -  "faraday,fttmr010"
> -  "cortina,gemini-timer", "faraday,fttmr010"
> -  "moxa,moxart-timer", "faraday,fttmr010"
> -  "aspeed,ast2400-timer"
> -  "aspeed,ast2500-timer"
> -  "aspeed,ast2600-timer"
> -
> -- reg : Should contain registers location and length
> -- interrupts : Should contain the three timer interrupts usually with
> -  flags for falling edge
> -
> -Optionally required properties:
> -
> -- clocks : a clock to provide the tick rate for "faraday,fttmr010"
> -- clock-names : should be "EXTCLK" and "PCLK" for the external tick timer
> -  and peripheral clock respectively, for "faraday,fttmr010"
> -- syscon : a phandle to the global Gemini system controller if the compatible
> -  type is "cortina,gemini-timer"
> -
> -Example:
> -
> -timer@43000000 {
> -	compatible = "faraday,fttmr010";
> -	reg = <0x43000000 0x1000>;
> -	interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
> -		   <15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
> -		   <16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
> -	clocks = <&extclk>, <&pclk>;
> -	clock-names = "EXTCLK", "PCLK";
> -};
> diff --git a/Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml b/Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml
> new file mode 100644
> index 000000000000..db9fb171ea49
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml
> @@ -0,0 +1,88 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/faraday,fttmr010.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Faraday Technology timer
> +
> +maintainers:
> +  - Linus Walleij <linus.walleij@linaro.org>
> +
> +description: |

Don't need '|' if there's no formatting.

> +  This timer is a generic IP block from Faraday Technology, embedded in the
> +  Cortina Systems Gemini SoCs and other designs.
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - const: faraday,fttmr010
> +      - items:
> +          - const: cortina,gemini-timer
> +          - const: faraday,fttmr010
> +      - items:
> +          - const: moxa,moxart-timer
> +          - const: faraday,fttmr010
> +      - const: aspeed,ast2400-timer
> +      - const: aspeed,ast2500-timer
> +      - const: aspeed,ast2600-timer
> +
> +  reg:
> +    maxItems: 1
> +
> +  resets:
> +    maxItems: 1
> +
> +  interrupts:
> +    minItems: 1
> +    maxItems: 3
> +    description: Should contain the three timer interrupts usually with flags for falling edge
> +
> +  clocks:
> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: "PCLK"
> +      - const: "EXTCLK"

Don't need quotes here.

> +
> +  syscon:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    maxItems: 1

'phandle' is already 1 item. so drop.

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    /* taken from arch/arm/boot/dts/gemini.dtsi */

Drop

> +    timer@43000000 {
> +      compatible = "faraday,fttmr010";
> +      reg = <0x43000000 0x1000>;
> +      interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
> +                   <15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
> +                   <16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
> +      clocks = <&extclk>, <&pclk>;
> +      clock-names = "PCLK", "EXTCLK";
> +      syscon = <&syscon>;
> +    };
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    /* taken from arch/arm/boot/dts/moxart.dtsi */

Drop

> +    timer: timer@98400000 {

Drop unused labels.

> +      compatible = "moxa,moxart-timer", "faraday,fttmr010";
> +      reg = <0x98400000 0x42>;
> +      interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
> +      clocks = <&clk_apb>;
> +      clock-names = "PCLK";
> +    };
> +...
> -- 
> 2.34.1
> 
> 

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

end of thread, other threads:[~2022-02-08 13:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26 16:00 [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml Corentin Labbe
2022-01-26 22:10 ` Rob Herring
2022-02-08 13:29 ` Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®