diff mbox series

[1/9] dt-bindings: remoteproc: Convert imx-rproc to json-schema

Message ID 1582097265-20170-2-git-send-email-peng.fan@nxp.com (mailing list archive)
State New, archived
Headers show
Series remoteproc: imx_rproc: support i.MX8/8M/7ULP | expand

Commit Message

Peng Fan Feb. 19, 2020, 7:27 a.m. UTC
From: Peng Fan <peng.fan@nxp.com>

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

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 .../devicetree/bindings/remoteproc/imx-rproc.txt   | 33 ------------
 .../devicetree/bindings/remoteproc/imx-rproc.yaml  | 61 ++++++++++++++++++++++
 2 files changed, 61 insertions(+), 33 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.txt
 create mode 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml

Comments

Rob Herring Feb. 19, 2020, 2:09 p.m. UTC | #1
On Wed, 19 Feb 2020 15:27:37 +0800, peng.fan@nxp.com wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> Convert the i.MX remoteproc binding to DT schema format
> using json-schema
> 
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
>  .../devicetree/bindings/remoteproc/imx-rproc.txt   | 33 ------------
>  .../devicetree/bindings/remoteproc/imx-rproc.yaml  | 61 ++++++++++++++++++++++
>  2 files changed, 61 insertions(+), 33 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.txt
>  create mode 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

warning: no schema found in file: Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml: ignoring, error in schema: properties: clocks: items
Documentation/devicetree/bindings/display/simple-framebuffer.example.dts:21.16-37.11: Warning (chosen_node_is_root): /example-0/chosen: chosen node must be at root node
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml: properties:clocks:items: {'Clock for co-processor (See': '../clock/clock-bindings.txt)'} is not valid under any of the given schemas (Possible causes of the failure):
	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml: properties:clocks:items: Additional properties are not allowed ('Clock for co-processor (See' was unexpected)

/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml: properties:clocks: {'items': {'Clock for co-processor (See': '../clock/clock-bindings.txt)'}} is not valid under any of the given schemas (Possible causes of the failure):
	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml: properties:clocks: 'maxItems' is a required property
	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml: properties:clocks:items: {'Clock for co-processor (See': '../clock/clock-bindings.txt)'} is not valid under any of the given schemas (Possible causes of the failure):
		/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml: properties:clocks:items: {'Clock for co-processor (See': '../clock/clock-bindings.txt)'} is not of type 'array'


Documentation/devicetree/bindings/Makefile:12: recipe for target 'Documentation/devicetree/bindings/remoteproc/imx-rproc.example.dts' failed
make[1]: *** [Documentation/devicetree/bindings/remoteproc/imx-rproc.example.dts] Error 1
Makefile:1263: recipe for target 'dt_binding_check' failed
make: *** [dt_binding_check] Error 2

See https://patchwork.ozlabs.org/patch/1240544
Please check and re-submit.
Peng Fan Feb. 19, 2020, 2:34 p.m. UTC | #2
Hi Rob,

> Subject: Re: [PATCH 1/9] dt-bindings: remoteproc: Convert imx-rproc to
> json-schema
> 
> On Wed, 19 Feb 2020 15:27:37 +0800, peng.fan@nxp.com wrote:
> > From: Peng Fan <peng.fan@nxp.com>
> >
> > Convert the i.MX remoteproc binding to DT schema format using
> > json-schema
> >
> > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > ---
> >  .../devicetree/bindings/remoteproc/imx-rproc.txt   | 33 ------------
> >  .../devicetree/bindings/remoteproc/imx-rproc.yaml  | 61
> > ++++++++++++++++++++++
> >  2 files changed, 61 insertions(+), 33 deletions(-)  delete mode
> > 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.txt
> >  create mode 100644
> > Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
> >
> 
> My bot found errors running 'make dt_binding_check' on your patch:

My command:
make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml

and output:

  CHKDT   Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
  SCHEMA  Documentation/devicetree/bindings/processed-schema.yaml
  DTC     Documentation/devicetree/bindings/remoteproc/imx-rproc.example.dt.yaml
  CHECK   Documentation/devicetree/bindings/remoteproc/imx-rproc.example.dt.yaml

> 
> warning: no schema found in file:
> Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/rem
> oteproc/imx-rproc.yaml: ignoring, error in schema: properties: clocks: items
> Documentation/devicetree/bindings/display/simple-framebuffer.example.dts:
> 21.16-37.11: Warning (chosen_node_is_root): /example-0/chosen: chosen
> node must be at root node
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/rem
> oteproc/imx-rproc.yaml: properties:clocks:items: {'Clock for co-processor
> (See': '../clock/clock-bindings.txt)'} is not valid under any of the given
> schemas (Possible causes of the failure):
> 	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/
> remoteproc/imx-rproc.yaml: properties:clocks:items: Additional properties
> are not allowed ('Clock for co-processor (See' was unexpected)
> 
> /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/rem
> oteproc/imx-rproc.yaml: properties:clocks: {'items': {'Clock for co-processor
> (See': '../clock/clock-bindings.txt)'}} is not valid under any of the given
> schemas (Possible causes of the failure):
> 	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/
> remoteproc/imx-rproc.yaml: properties:clocks: 'maxItems' is a required
> property
> 	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/
> remoteproc/imx-rproc.yaml: properties:clocks:items: {'Clock for co-processor
> (See': '../clock/clock-bindings.txt)'} is not valid under any of the given
> schemas (Possible causes of the failure):
> 
> 	/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/
> remoteproc/imx-rproc.yaml: properties:clocks:items: {'Clock for co-processor
> (See': '../clock/clock-bindings.txt)'} is not of type 'array'
> 
> 
> Documentation/devicetree/bindings/Makefile:12: recipe for target
> 'Documentation/devicetree/bindings/remoteproc/imx-rproc.example.dts'
> failed
> make[1]: ***
> [Documentation/devicetree/bindings/remoteproc/imx-rproc.example.dts]
> Error 1
> Makefile:1263: recipe for target 'dt_binding_check' failed
> make: *** [dt_binding_check] Error 2

I'll check, and after get comments for other patches will send out v2.

Thanks,
Peng.

> 
> See
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatch
> work.ozlabs.org%2Fpatch%2F1240544&amp;data=02%7C01%7Cpeng.fan%40
> nxp.com%7C28b6280f1e8d4cd48fff08d7b5455348%7C686ea1d3bc2b4c6fa92
> cd99c5c301635%7C0%7C0%7C637177181663776763&amp;sdata=XfOrYdrVi
> qB4jwZRjPFLM82Zz5BjTZQF7gNohDOcOCw%3D&amp;reserved=0
> Please check and re-submit.
Rob Herring Feb. 20, 2020, 12:37 a.m. UTC | #3
On Wed, Feb 19, 2020 at 8:34 AM Peng Fan <peng.fan@nxp.com> wrote:
>
> Hi Rob,
>
> > Subject: Re: [PATCH 1/9] dt-bindings: remoteproc: Convert imx-rproc to
> > json-schema
> >
> > On Wed, 19 Feb 2020 15:27:37 +0800, peng.fan@nxp.com wrote:
> > > From: Peng Fan <peng.fan@nxp.com>
> > >
> > > Convert the i.MX remoteproc binding to DT schema format using
> > > json-schema
> > >
> > > Signed-off-by: Peng Fan <peng.fan@nxp.com>
> > > ---
> > >  .../devicetree/bindings/remoteproc/imx-rproc.txt   | 33 ------------
> > >  .../devicetree/bindings/remoteproc/imx-rproc.yaml  | 61
> > > ++++++++++++++++++++++
> > >  2 files changed, 61 insertions(+), 33 deletions(-)  delete mode
> > > 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.txt
> > >  create mode 100644
> > > Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
> > >
> >
> > My bot found errors running 'make dt_binding_check' on your patch:
>
> My command:
> make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
>
> and output:
>
>   CHKDT   Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
>   SCHEMA  Documentation/devicetree/bindings/processed-schema.yaml
>   DTC     Documentation/devicetree/bindings/remoteproc/imx-rproc.example.dt.yaml
>   CHECK   Documentation/devicetree/bindings/remoteproc/imx-rproc.example.dt.yaml

Make sure dtschema is up to date though I'm not sure this could have
ever passed. 'items' value is clearly wrong.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/remoteproc/imx-rproc.txt b/Documentation/devicetree/bindings/remoteproc/imx-rproc.txt
deleted file mode 100644
index fbcefd965dc4..000000000000
--- a/Documentation/devicetree/bindings/remoteproc/imx-rproc.txt
+++ /dev/null
@@ -1,33 +0,0 @@ 
-NXP iMX6SX/iMX7D Co-Processor Bindings
-----------------------------------------
-
-This binding provides support for ARM Cortex M4 Co-processor found on some
-NXP iMX SoCs.
-
-Required properties:
-- compatible		Should be one of:
-				"fsl,imx7d-cm4"
-				"fsl,imx6sx-cm4"
-- clocks		Clock for co-processor (See: ../clock/clock-bindings.txt)
-- syscon		Phandle to syscon block which provide access to
-			System Reset Controller
-
-Optional properties:
-- memory-region		list of phandels to the reserved memory regions.
-			(See: ../reserved-memory/reserved-memory.txt)
-
-Example:
-	m4_reserved_sysmem1: cm4@80000000 {
-		reg = <0x80000000 0x80000>;
-	};
-
-	m4_reserved_sysmem2: cm4@81000000 {
-		reg = <0x81000000 0x80000>;
-	};
-
-	imx7d-cm4 {
-		compatible	= "fsl,imx7d-cm4";
-		memory-region	= <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
-		syscon		= <&src>;
-		clocks		= <&clks IMX7D_ARM_M4_ROOT_CLK>;
-	};
diff --git a/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
new file mode 100644
index 000000000000..12a5f3de38fb
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
@@ -0,0 +1,61 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/remoteproc/imx-rproc.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: NXP iMX6SX/iMX7D Co-Processor Bindings
+
+description:
+  This binding provides support for ARM Cortex M4 Co-processor found on
+  some NXP iMX SoCs.
+
+maintainers:
+  - Oleksij Rempel <o.rempel@pengutronix.de>
+  - Peng Fan <peng.fan@nxp.com>
+
+properties:
+  compatible:
+      enum:
+        - "fsl,imx7d-cm4"
+        - "fsl,imx6sx-cm4"
+
+  clocks:
+    items:
+      Clock for co-processor (See: ../clock/clock-bindings.txt)
+
+  syscon:
+     description:
+       Phandle to syscon block which provide access to System Reset Controller
+     allOf:
+       - $ref: "/schemas/types.yaml#/definitions/phandle"
+
+  memory-region:
+    description:
+      List of phandles to the reserved memory regions.
+      (see ../reserved-memory/reserved-memory.txt)
+
+required:
+  - compatible
+  - clocks
+  - syscon
+
+examples:
+  - |
+    #include <dt-bindings/clock/imx7d-clock.h>
+    m4_reserved_sysmem1: cm4@80000000 {
+        reg = <0x80000000 0x80000>;
+    };
+
+    m4_reserved_sysmem2: cm4@81000000 {
+        reg = <0x81000000 0x80000>;
+    };
+
+    imx7d-cm4 {
+        compatible  = "fsl,imx7d-cm4";
+        memory-region = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
+        syscon = <&src>;
+        clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>;
+    };
+
+...