2022-01-26 22:11:27

by Corentin LABBE

[permalink] [raw]
Subject: [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml

Converts timer/faraday,fttmr010.txt to yaml.

Signed-off-by: Corentin Labbe <[email protected]>
---
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 <[email protected]>
+
+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


2022-01-27 02:47:55

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml

On Wed, 26 Jan 2022 16:00:21 +0000, Corentin Labbe wrote:
> Converts timer/faraday,fttmr010.txt to yaml.
>
> Signed-off-by: Corentin Labbe <[email protected]>
> ---
> 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

2022-02-08 22:28:22

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2] dt-bindings: timer: Convert faraday,fttmr010 to yaml

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 <[email protected]>
> ---
> 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 <[email protected]>
> +
> +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
>
>