2024-05-31 09:26:13

by Animesh Agarwal

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

Convert the fsl i.MX DMA controller bindings to DT schema.

Signed-off-by: Animesh Agarwal <[email protected]>
---
.../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 <[email protected]>
+
+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



2024-05-31 10:19:56

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema

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 <[email protected]>
> ---
> .../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


2024-05-31 11:15:20

by Animesh Agarwal

[permalink] [raw]
Subject: Re: [PATCH v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema

On Fri, May 31, 2024 at 3:49 PM Krzysztof Kozlowski <[email protected]> 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?

2024-06-04 19:58:47

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2] dt-bindings: dma: fsl,imx-dma: Convert to dtschema

On Fri, May 31, 2024 at 04:43:52PM +0530, Animesh Agarwal wrote:
> On Fri, May 31, 2024 at 3:49 PM Krzysztof Kozlowski <[email protected]> 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