2020-04-15 22:02:23

by Anson Huang

[permalink] [raw]
Subject: [PATCH V2 1/2] dt-bindings: watchdog: Convert i.MX to json-schema

Convert the i.MX watchdog binding to DT schema format using json-schema.

Signed-off-by: Anson Huang <[email protected]>
---
No change.
---
.../devicetree/bindings/watchdog/fsl-imx-wdt.txt | 24 ----------
.../devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 56 ++++++++++++++++++++++
2 files changed, 56 insertions(+), 24 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt
create mode 100644 Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml

diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt
deleted file mode 100644
index adc6b76..0000000
--- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-* Freescale i.MX Watchdog Timer (WDT) Controller
-
-Required properties:
-- compatible : Should be "fsl,<soc>-wdt"
-- reg : Should contain WDT registers location and length
-- interrupts : Should contain WDT interrupt
-
-Optional properties:
-- big-endian: If present the watchdog device's registers are implemented
- in big endian mode, otherwise in native mode(same with CPU), for more
- detail please see: Documentation/devicetree/bindings/regmap/regmap.txt.
-- fsl,ext-reset-output: If present the watchdog device is configured to
- assert its external reset (WDOG_B) instead of issuing a software reset.
-- timeout-sec : Contains the watchdog timeout in seconds
-
-Examples:
-
-wdt@73f98000 {
- compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
- reg = <0x73f98000 0x4000>;
- interrupts = <58>;
- big-endian;
- timeout-sec = <20>;
-};
diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
new file mode 100644
index 0000000..674d902
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/fsl-imx-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX Watchdog Timer (WDT) Controller
+
+maintainers:
+ - Anson Huang <[email protected]>
+
+allOf:
+ - $ref: "watchdog.yaml#"
+
+properties:
+ compatible:
+ enum:
+ - fsl,imx21-wdt
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ description: |
+ Watchdog's clock source.
+ maxItems: 1
+
+ fsl,ext-reset-output:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description: |
+ If present, the watchdog device is configured to assert its
+ external reset (WDOG_B) instead of issuing a software reset.
+
+required:
+ - compatible
+ - interrupts
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/imx6qdl-clock.h>
+
+ wdog1: watchdog@20bc000 {
+ compatible = "fsl,imx21-wdt";
+ reg = <0x020bc000 0x4000>;
+ interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clks IMX6QDL_CLK_IPG>;
+ };
+
+...
--
2.7.4


2020-04-15 23:40:08

by Anson Huang

[permalink] [raw]
Subject: [PATCH V2 2/2] dt-bindings: watchdog: Convert i.MX7ULP to json-schema

Convert the i.MX7ULP watchdog binding to DT schema format using json-schema.

Signed-off-by: Anson Huang <[email protected]>
---
Changes since V1:
- Add 'timeout-sec' property to avoid build error.
---
.../bindings/watchdog/fsl-imx7ulp-wdt.txt | 22 --------
.../bindings/watchdog/fsl-imx7ulp-wdt.yaml | 65 ++++++++++++++++++++++
2 files changed, 65 insertions(+), 22 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.txt
create mode 100644 Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml

diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.txt b/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.txt
deleted file mode 100644
index f902508..0000000
--- a/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-* Freescale i.MX7ULP Watchdog Timer (WDT) Controller
-
-Required properties:
-- compatible : Should be "fsl,imx7ulp-wdt"
-- reg : Should contain WDT registers location and length
-- interrupts : Should contain WDT interrupt
-- clocks: Should contain a phandle pointing to the gated peripheral clock.
-
-Optional properties:
-- timeout-sec : Contains the watchdog timeout in seconds
-
-Examples:
-
-wdog1: watchdog@403d0000 {
- compatible = "fsl,imx7ulp-wdt";
- reg = <0x403d0000 0x10000>;
- interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
- assigned-clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
- assigned-clocks-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
- timeout-sec = <40>;
-};
diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml
new file mode 100644
index 0000000..86b4d93
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml
@@ -0,0 +1,65 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/fsl-imx7ulp-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale i.MX7ULP Watchdog Timer (WDT) Controller
+
+maintainers:
+ - Anson Huang <[email protected]>
+
+allOf:
+ - $ref: "watchdog.yaml#"
+
+properties:
+ compatible:
+ enum:
+ - fsl,imx7ulp-wdt
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ description: |
+ Watchdog's clock source.
+ maxItems: 1
+
+ assigned-clocks:
+ maxItems: 1
+
+ assigned-clocks-parents:
+ maxItems: 1
+
+ timeout-sec:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Contains the watchdog timeout in seconds.
+
+required:
+ - compatible
+ - interrupts
+ - reg
+ - clocks
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/imx7ulp-clock.h>
+
+ wdog1: watchdog@403d0000 {
+ compatible = "fsl,imx7ulp-wdt";
+ reg = <0x403d0000 0x10000>;
+ interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
+ assigned-clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
+ assigned-clocks-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
+ timeout-sec = <40>;
+ };
+
+...
--
2.7.4

2020-04-20 21:29:22

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH V2 2/2] dt-bindings: watchdog: Convert i.MX7ULP to json-schema

On Wed, Apr 15, 2020 at 08:40:11AM +0800, Anson Huang wrote:
> Convert the i.MX7ULP watchdog binding to DT schema format using json-schema.
>
> Signed-off-by: Anson Huang <[email protected]>
> ---
> Changes since V1:
> - Add 'timeout-sec' property to avoid build error.
> ---
> .../bindings/watchdog/fsl-imx7ulp-wdt.txt | 22 --------
> .../bindings/watchdog/fsl-imx7ulp-wdt.yaml | 65 ++++++++++++++++++++++
> 2 files changed, 65 insertions(+), 22 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.txt
> create mode 100644 Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml
>
> diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.txt b/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.txt
> deleted file mode 100644
> index f902508..0000000
> --- a/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.txt
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -* Freescale i.MX7ULP Watchdog Timer (WDT) Controller
> -
> -Required properties:
> -- compatible : Should be "fsl,imx7ulp-wdt"
> -- reg : Should contain WDT registers location and length
> -- interrupts : Should contain WDT interrupt
> -- clocks: Should contain a phandle pointing to the gated peripheral clock.
> -
> -Optional properties:
> -- timeout-sec : Contains the watchdog timeout in seconds
> -
> -Examples:
> -
> -wdog1: watchdog@403d0000 {
> - compatible = "fsl,imx7ulp-wdt";
> - reg = <0x403d0000 0x10000>;
> - interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
> - clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
> - assigned-clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
> - assigned-clocks-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
> - timeout-sec = <40>;
> -};
> diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml
> new file mode 100644
> index 0000000..86b4d93
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml
> @@ -0,0 +1,65 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/watchdog/fsl-imx7ulp-wdt.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale i.MX7ULP Watchdog Timer (WDT) Controller
> +
> +maintainers:
> + - Anson Huang <[email protected]>
> +
> +allOf:
> + - $ref: "watchdog.yaml#"
> +
> +properties:
> + compatible:
> + enum:
> + - fsl,imx7ulp-wdt
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + description: |
> + Watchdog's clock source.
> + maxItems: 1
> +
> + assigned-clocks:
> + maxItems: 1
> +
> + assigned-clocks-parents:
> + maxItems: 1
> +
> + timeout-sec:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Contains the watchdog timeout in seconds.

This already has a definition in watchdog.yaml, just need:

timeout-sec: true

> +
> +required:
> + - compatible
> + - interrupts
> + - reg
> + - clocks
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/imx7ulp-clock.h>
> +
> + wdog1: watchdog@403d0000 {
> + compatible = "fsl,imx7ulp-wdt";
> + reg = <0x403d0000 0x10000>;
> + interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
> + assigned-clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
> + assigned-clocks-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
> + timeout-sec = <40>;
> + };
> +
> +...
> --
> 2.7.4
>

2020-04-20 21:30:47

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH V2 1/2] dt-bindings: watchdog: Convert i.MX to json-schema

On Wed, Apr 15, 2020 at 08:40:10AM +0800, Anson Huang wrote:
> Convert the i.MX watchdog binding to DT schema format using json-schema.
>
> Signed-off-by: Anson Huang <[email protected]>
> ---
> No change.
> ---
> .../devicetree/bindings/watchdog/fsl-imx-wdt.txt | 24 ----------
> .../devicetree/bindings/watchdog/fsl-imx-wdt.yaml | 56 ++++++++++++++++++++++
> 2 files changed, 56 insertions(+), 24 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt
> create mode 100644 Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
>
> diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt
> deleted file mode 100644
> index adc6b76..0000000
> --- a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -* Freescale i.MX Watchdog Timer (WDT) Controller
> -
> -Required properties:
> -- compatible : Should be "fsl,<soc>-wdt"
> -- reg : Should contain WDT registers location and length
> -- interrupts : Should contain WDT interrupt
> -
> -Optional properties:
> -- big-endian: If present the watchdog device's registers are implemented
> - in big endian mode, otherwise in native mode(same with CPU), for more
> - detail please see: Documentation/devicetree/bindings/regmap/regmap.txt.
> -- fsl,ext-reset-output: If present the watchdog device is configured to
> - assert its external reset (WDOG_B) instead of issuing a software reset.
> -- timeout-sec : Contains the watchdog timeout in seconds
> -
> -Examples:
> -
> -wdt@73f98000 {
> - compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
> - reg = <0x73f98000 0x4000>;
> - interrupts = <58>;
> - big-endian;
> - timeout-sec = <20>;
> -};
> diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
> new file mode 100644
> index 0000000..674d902
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.yaml
> @@ -0,0 +1,56 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/watchdog/fsl-imx-wdt.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale i.MX Watchdog Timer (WDT) Controller
> +
> +maintainers:
> + - Anson Huang <[email protected]>
> +
> +allOf:
> + - $ref: "watchdog.yaml#"
> +
> +properties:
> + compatible:
> + enum:
> + - fsl,imx21-wdt
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + description: |
> + Watchdog's clock source.

Drop this. No description needed if single entry.

> + maxItems: 1
> +
> + fsl,ext-reset-output:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description: |
> + If present, the watchdog device is configured to assert its
> + external reset (WDOG_B) instead of issuing a software reset.
> +
> +required:
> + - compatible
> + - interrupts
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> + #include <dt-bindings/clock/imx6qdl-clock.h>
> +
> + wdog1: watchdog@20bc000 {

Drop the unused label.

> + compatible = "fsl,imx21-wdt";
> + reg = <0x020bc000 0x4000>;
> + interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&clks IMX6QDL_CLK_IPG>;
> + };
> +
> +...
> --
> 2.7.4
>

2020-05-12 03:13:00

by Aisheng Dong

[permalink] [raw]
Subject: RE: [PATCH V2 2/2] dt-bindings: watchdog: Convert i.MX7ULP to json-schema

Hi Rob,

> From: Rob Herring <[email protected]>
> Sent: Tuesday, April 21, 2020 5:28 AM

[...]

> > + timeout-sec:
> > + $ref: /schemas/types.yaml#/definitions/uint32
> > + description: |
> > + Contains the watchdog timeout in seconds.
>
> This already has a definition in watchdog.yaml, just need:
>
> timeout-sec: true
>

A bit interested what's the difference if not specifying it as we already have a reference
to "watchdog.yaml#".

+allOf:
+ - $ref: "watchdog.yaml#"

I saw some mmc vendor yaml bindings seemed did not specifying the 'true' for the properties
referenced from the parent "mmc-controller.yaml".

Would you help clarify a bit?

Regards
Aisheng

> > +
> > +required:
> > + - compatible
> > + - interrupts
> > + - reg
> > + - clocks
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/interrupt-controller/arm-gic.h>
> > + #include <dt-bindings/clock/imx7ulp-clock.h>
> > +
> > + wdog1: watchdog@403d0000 {
> > + compatible = "fsl,imx7ulp-wdt";
> > + reg = <0x403d0000 0x10000>;
> > + interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
> > + clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
> > + assigned-clocks = <&pcc2 IMX7ULP_CLK_WDG1>;
> > + assigned-clocks-parents = <&scg1 IMX7ULP_CLK_FIRC_BUS_CLK>;
> > + timeout-sec = <40>;
> > + };
> > +
> > +...
> > --
> > 2.7.4
> >