[PATCH v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema

Animesh Agarwal posted 1 patch 1 year, 8 months ago
There is a newer version of this series
.../devicetree/bindings/dma/fsl,imx-dma.yaml  | 56 +++++++++++++++++++
.../devicetree/bindings/dma/fsl-imx-dma.txt   | 50 -----------------
2 files changed, 56 insertions(+), 50 deletions(-)
create mode 100644 Documentation/devicetree/bindings/dma/fsl,imx-dma.yaml
delete mode 100644 Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
[PATCH v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema
Posted by Animesh Agarwal 1 year, 8 months ago
Convert the fsl i.MX DMA controller bindings to DT schema.

Signed-off-by: Animesh Agarwal <animeshagarwal28@gmail.com>
---
 .../devicetree/bindings/dma/fsl,imx-dma.yaml  | 56 +++++++++++++++++++
 .../devicetree/bindings/dma/fsl-imx-dma.txt   | 50 -----------------
 2 files changed, 56 insertions(+), 50 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/dma/fsl,imx-dma.yaml
 delete mode 100644 Documentation/devicetree/bindings/dma/fsl-imx-dma.txt

diff --git a/Documentation/devicetree/bindings/dma/fsl,imx-dma.yaml b/Documentation/devicetree/bindings/dma/fsl,imx-dma.yaml
new file mode 100644
index 000000000000..13ac6d6ad49f
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/fsl,imx-dma.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/fsl,imx-dma.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Freescale Direct Memory Access (DMA) Controller for i.MX
+
+maintainers:
+  - Animesh Agarwal <animeshagarwal28@gmail.com>
+
+allOf:
+  - $ref: dma-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - fsl,imx1-dma
+      - fsl,imx21-dma
+      - fsl,imx27-dma
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    items:
+      - description: DMA complete interrupt
+      - description: DMA Error interrupt
+    minItems: 1
+
+  "#dma-cells":
+    const: 1
+
+  dma-channels:
+    maximum: 16
+
+  dma-requests:
+    description: Number of DMA requests supported.
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - "#dma-cells"
+
+additionalProperties: false
+
+examples:
+  - |
+    dma-controller@10001000 {
+      compatible = "fsl,imx27-dma";
+      reg = <0x10001000 0x1000>;
+      interrupts = <32 33>;
+      #dma-cells = <1>;
+      dma-channels = <16>;
+    };
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
deleted file mode 100644
index 1c9929d53727..000000000000
--- a/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-* Freescale Direct Memory Access (DMA) Controller for i.MX
-
-This document will only describe differences to the generic DMA Controller and
-DMA request bindings as described in dma/dma.txt .
-
-* DMA controller
-
-Required properties:
-- compatible : Should be "fsl,<chip>-dma". chip can be imx1, imx21 or imx27
-- reg : Should contain DMA registers location and length
-- interrupts : First item should be DMA interrupt, second one is optional and
-    should contain DMA Error interrupt
-- #dma-cells : Has to be 1. imx-dma does not support anything else.
-
-Optional properties:
-- dma-channels : Number of DMA channels supported. Should be 16.
-- #dma-channels : deprecated
-- dma-requests : Number of DMA requests supported.
-- #dma-requests : deprecated
-
-Example:
-
-	dma: dma@10001000 {
-		compatible = "fsl,imx27-dma";
-		reg = <0x10001000 0x1000>;
-		interrupts = <32 33>;
-		#dma-cells = <1>;
-		dma-channels = <16>;
-	};
-
-
-* DMA client
-
-Clients have to specify the DMA requests with phandles in a list.
-
-Required properties:
-- dmas: List of one or more DMA request specifiers. One DMA request specifier
-    consists of a phandle to the DMA controller followed by the integer
-    specifying the request line.
-- dma-names: List of string identifiers for the DMA requests. For the correct
-    names, have a look at the specific client driver.
-
-Example:
-
-	sdhci1: sdhci@10013000 {
-		...
-		dmas = <&dma 7>;
-		dma-names = "rx-tx";
-		...
-	};
-- 
2.45.1
Re: [PATCH v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema
Posted by Krzysztof Kozlowski 1 year, 8 months ago
On 31/05/2024 11:04, Animesh Agarwal wrote:
> Convert the fsl i.MX DMA controller bindings to DT schema.
> 
> Signed-off-by: Animesh Agarwal <animeshagarwal28@gmail.com>
> ---
>  .../devicetree/bindings/dma/fsl,imx-dma.yaml  | 56 +++++++++++++++++++

Thank you for your patch. There is something to discuss/improve.


> +  "#dma-cells":
> +    const: 1
> +
> +  dma-channels:
> +    maximum: 16

maximum or const?

deprecated: true

> +
> +  dma-requests:
> +    description: Number of DMA requests supported.

deprecated: true

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - "#dma-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    dma-controller@10001000 {
> +      compatible = "fsl,imx27-dma";
> +      reg = <0x10001000 0x1000>;
> +      interrupts = <32 33>;
> +      #dma-cells = <1>;
> +      dma-channels = <16>;

and drop it from here

Best regards,
Krzysztof
Re: [PATCH v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema
Posted by Animesh Agarwal 1 year, 8 months ago
On Fri, May 31, 2024 at 3:49 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 31/05/2024 11:04, Animesh Agarwal wrote:
> > +  "#dma-cells":
> > +    const: 1
> > +
> > +  dma-channels:
> > +    maximum: 16
>
> maximum or const?

The txt binding says it should always be 16. Datasheet says this
device has 16 channels of DMA services. I thought specifying just the
maximum implies maximum=minimum=16. Sorry for missing the changelog in
this version it was cost in the v1 of this patch.

>
> deprecated: true
>

Shall it not be
"#dma-channels ":
  deprecated: true
?

> > +
> > +  dma-requests:
> > +    description: Number of DMA requests supported.
>
> deprecated: true
>

Shall it not be
"#dma-requests ":
  deprecated: true
?

> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - interrupts
> > +  - "#dma-cells"
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    dma-controller@10001000 {
> > +      compatible = "fsl,imx27-dma";
> > +      reg = <0x10001000 0x1000>;
> > +      interrupts = <32 33>;
> > +      #dma-cells = <1>;
> > +      dma-channels = <16>;
>
> and drop it from here

Is this really a deprecated property?
Re: [PATCH v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema
Posted by Rob Herring 1 year, 8 months ago
On Fri, May 31, 2024 at 04:43:52PM +0530, Animesh Agarwal wrote:
> On Fri, May 31, 2024 at 3:49 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> >
> > On 31/05/2024 11:04, Animesh Agarwal wrote:
> > > +  "#dma-cells":
> > > +    const: 1
> > > +
> > > +  dma-channels:
> > > +    maximum: 16
> >
> > maximum or const?
> 
> The txt binding says it should always be 16. Datasheet says this
> device has 16 channels of DMA services. I thought specifying just the
> maximum implies maximum=minimum=16. Sorry for missing the changelog in
> this version it was cost in the v1 of this patch.
> 
> >
> > deprecated: true
> >
> 
> Shall it not be
> "#dma-channels ":
>   deprecated: true
> ?

Yes. dma-channels is not deprecated.

For the old ones, maybe it has been long enough that their use has been 
dropped that you can just drop them in the conversion. Looks like there 
is no driver support already.

Rob