diff mbox series

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

Message ID 20240531090458.99744-1-animeshagarwal28@gmail.com (mailing list archive)
State New, archived
Headers show
Series [v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema | expand

Commit Message

Animesh Agarwal May 31, 2024, 9:04 a.m. UTC
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

Comments

Krzysztof Kozlowski May 31, 2024, 10:19 a.m. UTC | #1
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
Animesh Agarwal May 31, 2024, 11:13 a.m. UTC | #2
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?
Rob Herring (Arm) June 4, 2024, 7:57 p.m. UTC | #3
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
diff mbox series

Patch

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";
-		...
-	};