Message ID | 1612774571-6134-2-git-send-email-peng.fan@oss.nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | remoteproc: imx_rproc: support iMX8MQ/M | expand |
On Mon, Feb 08, 2021 at 04:56:02PM +0800, peng.fan@oss.nxp.com wrote: > From: Peng Fan <peng.fan@nxp.com> > > Convert the imx rproc binding to DT schema format using json-schema. > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > .../bindings/remoteproc/fsl,imx-rproc.yaml | 59 +++++++++++++++++++ > .../bindings/remoteproc/imx-rproc.txt | 33 ----------- > 2 files changed, 59 insertions(+), 33 deletions(-) > create mode 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > delete mode 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.txt > > diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > new file mode 100644 > index 000000000000..5e906fa6a39d > --- /dev/null > +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > @@ -0,0 +1,59 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/remoteproc/fsl,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: > + - Peng Fan <peng.fan@nxp.com> > + > +properties: > + compatible: > + enum: > + - fsl,imx7d-cm4 > + - fsl,imx6sx-cm4 > + > + clocks: > + maxItems: 1 > + > + syscon: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + Phandle to syscon block which provide access to System Reset Controller > + > + memory-region: > + description: > + If present, a phandle for a reserved memory area that used for vdev buffer, > + resource table, vring region and others used by remote processor. You need to define what each one is as a schema. How does the driver know which one is the vring region for example? Minimally, it's: items: - description: ... - description: ... - description: ... But if what's present is variable, then it gets more complicated. If the OS side doesn't need to know what each region is, then you can do just: minItems: N maxItems: M Rob > + > +required: > + - compatible > + - clocks > + - syscon > + > +additionalProperties: false > + > +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>; > + }; > + > +... > 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>; > - }; > -- > 2.30.0 >
> Subject: Re: [PATCH V10 01/10] dt-bindings: remoteproc: convert imx rproc > bindings to json-schema > > On Mon, Feb 08, 2021 at 04:56:02PM +0800, peng.fan@oss.nxp.com wrote: > > From: Peng Fan <peng.fan@nxp.com> > > > > Convert the imx rproc binding to DT schema format using json-schema. > > > > Signed-off-by: Peng Fan <peng.fan@nxp.com> > > --- > > .../bindings/remoteproc/fsl,imx-rproc.yaml | 59 > +++++++++++++++++++ > > .../bindings/remoteproc/imx-rproc.txt | 33 ----------- > > 2 files changed, 59 insertions(+), 33 deletions(-) create mode > > 100644 Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > > delete mode 100644 > > Documentation/devicetree/bindings/remoteproc/imx-rproc.txt > > > > diff --git > > a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > > b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > > new file mode 100644 > > index 000000000000..5e906fa6a39d > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml > > @@ -0,0 +1,59 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 > > +--- > > +$id: > "https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevice > tree.org%2Fschemas%2Fremoteproc%2Ffsl%2Cimx-rproc.yaml%23&dat > a=04%7C01%7Cpeng.fan%40nxp.com%7Cd1b06ffd889240a45f8308d8cdea93 > 40%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6374857546682 > 06133%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l > uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=jTnFLISLpjJN > vV4euhlqUvnj9YMk9YoDZWoxQi97kdc%3D&reserved=0" > > +$schema: > "https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevice > tree.org%2Fmeta-schemas%2Fcore.yaml%23&data=04%7C01%7Cpeng.f > an%40nxp.com%7Cd1b06ffd889240a45f8308d8cdea9340%7C686ea1d3bc2b > 4c6fa92cd99c5c301635%7C0%7C0%7C637485754668206133%7CUnknown > %7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1ha > WwiLCJXVCI6Mn0%3D%7C1000&sdata=98u0FLfvAhOiYoT7Vvbqg6yW5 > wVEmLVrhLvCz83VRiM%3D&reserved=0" > > + > > +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: > > + - Peng Fan <peng.fan@nxp.com> > > + > > +properties: > > + compatible: > > + enum: > > + - fsl,imx7d-cm4 > > + - fsl,imx6sx-cm4 > > + > > + clocks: > > + maxItems: 1 > > + > > + syscon: > > + $ref: /schemas/types.yaml#/definitions/phandle > > + description: > > + Phandle to syscon block which provide access to System Reset > > + Controller > > + > > + memory-region: > > + description: > > + If present, a phandle for a reserved memory area that used for > vdev buffer, > > + resource table, vring region and others used by remote processor. > > You need to define what each one is as a schema. How does the driver know > which one is the vring region for example? Minimally, it's: > > items: > - description: ... > - description: ... > - description: ... > > But if what's present is variable, then it gets more complicated. If the OS side > doesn't need to know what each region is, then you can do just: > > minItems: N > maxItems: M I'll use minItems: 1, no maxItems. Thanks, Peng. > > Rob > > > > > + > > +required: > > + - compatible > > + - clocks > > + - syscon > > + > > +additionalProperties: false > > + > > +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>; > > + }; > > + > > +... > > 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>; > > - }; > > -- > > 2.30.0 > >
diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml new file mode 100644 index 000000000000..5e906fa6a39d --- /dev/null +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/remoteproc/fsl,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: + - Peng Fan <peng.fan@nxp.com> + +properties: + compatible: + enum: + - fsl,imx7d-cm4 + - fsl,imx6sx-cm4 + + clocks: + maxItems: 1 + + syscon: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to syscon block which provide access to System Reset Controller + + memory-region: + description: + If present, a phandle for a reserved memory area that used for vdev buffer, + resource table, vring region and others used by remote processor. + +required: + - compatible + - clocks + - syscon + +additionalProperties: false + +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>; + }; + +... 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>; - };