All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update
@ 2024-10-22 17:46 David Lechner
  2024-10-22 17:46 ` [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema David Lechner
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: David Lechner @ 2024-10-22 17:46 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Nuno Sa
  Cc: Lars-Peter Clausen, dmaengine, devicetree, linux-kernel,
	David Lechner

Convert the ADI AXI DMAC bindings to YAML and then update the bindings
to reflect the current actual use of the bindings.

---
David Lechner (2):
      dt-bindings: dma: adi,axi-dmac: convert to yaml schema
      dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node

 .../devicetree/bindings/dma/adi,axi-dmac.txt       |  61 ----------
 .../devicetree/bindings/dma/adi,axi-dmac.yaml      | 127 +++++++++++++++++++++
 2 files changed, 127 insertions(+), 61 deletions(-)
---
base-commit: 52a53aecddb1b407268ebc80695c38e5093dc08f
change-id: 20241022-axi-dma-dt-yaml-c6c71ad2eb9e

Best regards,
-- 
David Lechner <dlechner@baylibre.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema
  2024-10-22 17:46 [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update David Lechner
@ 2024-10-22 17:46 ` David Lechner
  2024-10-22 19:27   ` Rob Herring (Arm)
  2024-10-22 20:43   ` Rob Herring
  2024-10-22 17:46 ` [PATCH 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node David Lechner
  2024-10-23 10:33 ` [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update Nuno Sá
  2 siblings, 2 replies; 6+ messages in thread
From: David Lechner @ 2024-10-22 17:46 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Nuno Sa
  Cc: Lars-Peter Clausen, dmaengine, devicetree, linux-kernel,
	David Lechner

Convert the AXI DMAC bindings from .txt to .yaml.

Signed-off-by: David Lechner <dlechner@baylibre.com>
---

For the maintainer, Lars is the original author, but isn't really
active with ADI anymore, so I have added Nuno instead since he is the
most active ADI representative currently and is knowledgeable about this
hardware.

Also, the rob-bot is likely to complain. Locally, I am getting the
following warning from dt_bindings_check:

	Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml: properties:adi,channels:type: 'boolean' was expected
		hint: A vendor boolean property can use "type: boolean"
		from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
	DTC [C] Documentation/devicetree/bindings/dma/adi,axi-dmac.example.dtb

I think this is telling me that object nodes should not have a vendor
prefix. However, since this is an existing bindings, we can't change
that.
---
 .../devicetree/bindings/dma/adi,axi-dmac.txt       |  61 ---------
 .../devicetree/bindings/dma/adi,axi-dmac.yaml      | 137 +++++++++++++++++++++
 2 files changed, 137 insertions(+), 61 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/adi,axi-dmac.txt b/Documentation/devicetree/bindings/dma/adi,axi-dmac.txt
deleted file mode 100644
index cd17684aaab5..000000000000
--- a/Documentation/devicetree/bindings/dma/adi,axi-dmac.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-Analog Devices AXI-DMAC DMA controller
-
-Required properties:
- - compatible: Must be "adi,axi-dmac-1.00.a".
- - reg: Specification for the controllers memory mapped register map.
- - interrupts: Specification for the controllers interrupt.
- - clocks: Phandle and specifier to the controllers AXI interface clock
- - #dma-cells: Must be 1.
-
-Required sub-nodes:
- - adi,channels: This sub-node must contain a sub-node for each DMA channel. For
-   the channel sub-nodes the following bindings apply. They must match the
-   configuration options of the peripheral as it was instantiated.
-
-Required properties for adi,channels sub-node:
- - #size-cells: Must be 0
- - #address-cells: Must be 1
-
-Required channel sub-node properties:
- - reg: Which channel this node refers to.
- - adi,source-bus-width,
-   adi,destination-bus-width: Width of the source or destination bus in bits.
- - adi,source-bus-type,
-   adi,destination-bus-type: Type of the source or destination bus. Must be one
-   of the following:
-	0 (AXI_DMAC_TYPE_AXI_MM): Memory mapped AXI interface
-	1 (AXI_DMAC_TYPE_AXI_STREAM): Streaming AXI interface
-	2 (AXI_DMAC_TYPE_AXI_FIFO): FIFO interface
-
-Deprecated optional channel properties:
- - adi,length-width: Width of the DMA transfer length register.
- - adi,cyclic: Must be set if the channel supports hardware cyclic DMA
-   transfers.
- - adi,2d: Must be set if the channel supports hardware 2D DMA transfers.
-
-DMA clients connected to the AXI-DMAC DMA controller must use the format
-described in the dma.txt file using a one-cell specifier. The value of the
-specifier refers to the DMA channel index.
-
-Example:
-
-dma: dma@7c420000 {
-	compatible = "adi,axi-dmac-1.00.a";
-	reg = <0x7c420000 0x10000>;
-	interrupts = <0 57 0>;
-	clocks = <&clkc 16>;
-	#dma-cells = <1>;
-
-	adi,channels {
-		#size-cells = <0>;
-		#address-cells = <1>;
-
-		dma-channel@0 {
-			reg = <0>;
-			adi,source-bus-width = <32>;
-			adi,source-bus-type = <ADI_AXI_DMAC_TYPE_MM_AXI>;
-			adi,destination-bus-width = <64>;
-			adi,destination-bus-type = <ADI_AXI_DMAC_TYPE_FIFO>;
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml b/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
new file mode 100644
index 000000000000..e457630ec7c0
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
@@ -0,0 +1,137 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/adi,axi-dmac.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AXI-DMAC DMA controller
+
+description: http://analogdevicesinc.github.io/hdl/library/axi_dmac/index.html
+
+maintainers:
+  - Nuno Sa <nuno.sa@analog.com>
+
+properties:
+  compatible:
+    const: adi,axi-dmac-1.00.a
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  "#dma-cells":
+    const: 1
+
+  adi,channels:
+    type: object
+    description: This sub-node must contain a sub-node for each DMA channel.
+
+    properties:
+      "#size-cells":
+        const: 0
+      "#address-cells":
+        const: 1
+
+    patternProperties:
+      "^dma-channel@[0-9a-f]+$":
+        type: object
+        description:
+          DMA channel properties based on HDL compile-time configuration.
+
+        properties:
+          reg:
+            maxItems: 1
+
+          adi,source-bus-width:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: Width of the source bus in bits.
+            enum: [8, 16, 32, 64, 128]
+
+          adi,destination-bus-width:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: Width of the destination bus in bits.
+            enum: [8, 16, 32, 64, 128]
+
+          # 0 (AXI_DMAC_TYPE_AXI_MM): Memory mapped AXI interface
+          # 1 (AXI_DMAC_TYPE_AXI_STREAM): Streaming AXI interface
+          # 2 (AXI_DMAC_TYPE_AXI_FIFO): FIFO interface
+
+          adi,source-bus-type:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: Type of the source bus.
+            enum: [0, 1, 2]
+
+          adi,destination-bus-type:
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: Type of the destination bus.
+            enum: [0, 1, 2]
+
+          adi,length-width:
+            deprecated: true
+            $ref: /schemas/types.yaml#/definitions/uint32
+            description: Width of the DMA transfer length register.
+
+          adi,cyclic:
+            deprecated: true
+            type: boolean
+            description:
+              Must be set if the channel supports hardware cyclic DMA transfers.
+
+          adi,2d:
+            deprecated: true
+            type: boolean
+            description:
+              Must be set if the channel supports hardware 2D DMA transfers.
+
+        required:
+          - reg
+          - adi,source-bus-width
+          - adi,destination-bus-width
+          - adi,source-bus-type
+          - adi,destination-bus-type
+
+        additionalProperties: false
+
+    required:
+      - "#size-cells"
+      - "#address-cells"
+
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - "#dma-cells"
+  - adi,channels
+
+additionalProperties: false
+
+examples:
+  - |
+    dma: dma@7c420000 {
+        compatible = "adi,axi-dmac-1.00.a";
+        reg = <0x7c420000 0x10000>;
+        interrupts = <0 57 0>;
+        clocks = <&clkc 16>;
+        #dma-cells = <1>;
+
+        adi,channels {
+            #size-cells = <0>;
+            #address-cells = <1>;
+
+            dma-channel@0 {
+                reg = <0>;
+                adi,source-bus-width = <32>;
+                adi,source-bus-type = <0>; /* AXI_DMAC_TYPE_AXI_MM */
+                adi,destination-bus-width = <64>;
+                adi,destination-bus-type = <2>; /* AXI_DMAC_TYPE_AXI_FIFO */
+            };
+        };
+    };

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node
  2024-10-22 17:46 [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update David Lechner
  2024-10-22 17:46 ` [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema David Lechner
@ 2024-10-22 17:46 ` David Lechner
  2024-10-23 10:33 ` [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update Nuno Sá
  2 siblings, 0 replies; 6+ messages in thread
From: David Lechner @ 2024-10-22 17:46 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Nuno Sa
  Cc: Lars-Peter Clausen, dmaengine, devicetree, linux-kernel,
	David Lechner

Deprecate the adi,channels node in the adi,axi-dmac binding. Prior to
IP version 4.3.a, this information was required. Since then, there are
memory-mapped registers that can be read to get the same information.

Signed-off-by: David Lechner <dlechner@baylibre.com>
---

For context, the adi,channels node has not been required in the Linux
kernel since [1].

[1]: https://lore.kernel.org/all/20200825151950.57605-7-alexandru.ardelean@analog.com/
---
 .../devicetree/bindings/dma/adi,axi-dmac.yaml        | 20 +++++---------------
 1 file changed, 5 insertions(+), 15 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml b/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
index e457630ec7c0..d5e87fceb3bb 100644
--- a/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
+++ b/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
@@ -28,8 +28,12 @@ properties:
     const: 1
 
   adi,channels:
+    deprecated: true
     type: object
-    description: This sub-node must contain a sub-node for each DMA channel.
+    description:
+      This sub-node must contain a sub-node for each DMA channel. This node is
+      only required for IP versions older than 4.3.a and should otherwise be
+      omitted.
 
     properties:
       "#size-cells":
@@ -109,7 +113,6 @@ required:
   - interrupts
   - clocks
   - "#dma-cells"
-  - adi,channels
 
 additionalProperties: false
 
@@ -121,17 +124,4 @@ examples:
         interrupts = <0 57 0>;
         clocks = <&clkc 16>;
         #dma-cells = <1>;
-
-        adi,channels {
-            #size-cells = <0>;
-            #address-cells = <1>;
-
-            dma-channel@0 {
-                reg = <0>;
-                adi,source-bus-width = <32>;
-                adi,source-bus-type = <0>; /* AXI_DMAC_TYPE_AXI_MM */
-                adi,destination-bus-width = <64>;
-                adi,destination-bus-type = <2>; /* AXI_DMAC_TYPE_AXI_FIFO */
-            };
-        };
     };

-- 
2.43.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema
  2024-10-22 17:46 ` [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema David Lechner
@ 2024-10-22 19:27   ` Rob Herring (Arm)
  2024-10-22 20:43   ` Rob Herring
  1 sibling, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2024-10-22 19:27 UTC (permalink / raw)
  To: David Lechner
  Cc: devicetree, Lars-Peter Clausen, Conor Dooley, linux-kernel,
	Vinod Koul, Nuno Sa, dmaengine, Krzysztof Kozlowski


On Tue, 22 Oct 2024 12:46:40 -0500, David Lechner wrote:
> Convert the AXI DMAC bindings from .txt to .yaml.
> 
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
> 
> For the maintainer, Lars is the original author, but isn't really
> active with ADI anymore, so I have added Nuno instead since he is the
> most active ADI representative currently and is knowledgeable about this
> hardware.
> 
> Also, the rob-bot is likely to complain. Locally, I am getting the
> following warning from dt_bindings_check:
> 
> 	Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml: properties:adi,channels:type: 'boolean' was expected
> 		hint: A vendor boolean property can use "type: boolean"
> 		from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
> 	DTC [C] Documentation/devicetree/bindings/dma/adi,axi-dmac.example.dtb
> 
> I think this is telling me that object nodes should not have a vendor
> prefix. However, since this is an existing bindings, we can't change
> that.
> ---
>  .../devicetree/bindings/dma/adi,axi-dmac.txt       |  61 ---------
>  .../devicetree/bindings/dma/adi,axi-dmac.yaml      | 137 +++++++++++++++++++++
>  2 files changed, 137 insertions(+), 61 deletions(-)
> 

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

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml: properties:adi,channels:type: 'boolean' was expected
	hint: A vendor boolean property can use "type: boolean"
	from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241022-axi-dma-dt-yaml-v1-1-68f2a2498d53@baylibre.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema
  2024-10-22 17:46 ` [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema David Lechner
  2024-10-22 19:27   ` Rob Herring (Arm)
@ 2024-10-22 20:43   ` Rob Herring
  1 sibling, 0 replies; 6+ messages in thread
From: Rob Herring @ 2024-10-22 20:43 UTC (permalink / raw)
  To: David Lechner
  Cc: Vinod Koul, Krzysztof Kozlowski, Conor Dooley, Nuno Sa,
	Lars-Peter Clausen, dmaengine, devicetree, linux-kernel

On Tue, Oct 22, 2024 at 12:46:40PM -0500, David Lechner wrote:
> Convert the AXI DMAC bindings from .txt to .yaml.
> 
> Signed-off-by: David Lechner <dlechner@baylibre.com>
> ---
> 
> For the maintainer, Lars is the original author, but isn't really
> active with ADI anymore, so I have added Nuno instead since he is the
> most active ADI representative currently and is knowledgeable about this
> hardware.
> 
> Also, the rob-bot is likely to complain. Locally, I am getting the
> following warning from dt_bindings_check:
> 
> 	Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml: properties:adi,channels:type: 'boolean' was expected
> 		hint: A vendor boolean property can use "type: boolean"
> 		from schema $id: http://devicetree.org/meta-schemas/vendor-props.yaml#
> 	DTC [C] Documentation/devicetree/bindings/dma/adi,axi-dmac.example.dtb
> 
> I think this is telling me that object nodes should not have a vendor
> prefix. However, since this is an existing bindings, we can't change
> that.

Yes, that can be ignored. I'll have to drop that check from dtschema.

> ---
>  .../devicetree/bindings/dma/adi,axi-dmac.txt       |  61 ---------
>  .../devicetree/bindings/dma/adi,axi-dmac.yaml      | 137 +++++++++++++++++++++
>  2 files changed, 137 insertions(+), 61 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/dma/adi,axi-dmac.txt b/Documentation/devicetree/bindings/dma/adi,axi-dmac.txt
> deleted file mode 100644
> index cd17684aaab5..000000000000
> --- a/Documentation/devicetree/bindings/dma/adi,axi-dmac.txt
> +++ /dev/null
> @@ -1,61 +0,0 @@
> -Analog Devices AXI-DMAC DMA controller
> -
> -Required properties:
> - - compatible: Must be "adi,axi-dmac-1.00.a".
> - - reg: Specification for the controllers memory mapped register map.
> - - interrupts: Specification for the controllers interrupt.
> - - clocks: Phandle and specifier to the controllers AXI interface clock
> - - #dma-cells: Must be 1.
> -
> -Required sub-nodes:
> - - adi,channels: This sub-node must contain a sub-node for each DMA channel. For
> -   the channel sub-nodes the following bindings apply. They must match the
> -   configuration options of the peripheral as it was instantiated.
> -
> -Required properties for adi,channels sub-node:
> - - #size-cells: Must be 0
> - - #address-cells: Must be 1
> -
> -Required channel sub-node properties:
> - - reg: Which channel this node refers to.
> - - adi,source-bus-width,
> -   adi,destination-bus-width: Width of the source or destination bus in bits.
> - - adi,source-bus-type,
> -   adi,destination-bus-type: Type of the source or destination bus. Must be one
> -   of the following:
> -	0 (AXI_DMAC_TYPE_AXI_MM): Memory mapped AXI interface
> -	1 (AXI_DMAC_TYPE_AXI_STREAM): Streaming AXI interface
> -	2 (AXI_DMAC_TYPE_AXI_FIFO): FIFO interface
> -
> -Deprecated optional channel properties:
> - - adi,length-width: Width of the DMA transfer length register.
> - - adi,cyclic: Must be set if the channel supports hardware cyclic DMA
> -   transfers.
> - - adi,2d: Must be set if the channel supports hardware 2D DMA transfers.
> -
> -DMA clients connected to the AXI-DMAC DMA controller must use the format
> -described in the dma.txt file using a one-cell specifier. The value of the
> -specifier refers to the DMA channel index.
> -
> -Example:
> -
> -dma: dma@7c420000 {
> -	compatible = "adi,axi-dmac-1.00.a";
> -	reg = <0x7c420000 0x10000>;
> -	interrupts = <0 57 0>;
> -	clocks = <&clkc 16>;
> -	#dma-cells = <1>;
> -
> -	adi,channels {
> -		#size-cells = <0>;
> -		#address-cells = <1>;
> -
> -		dma-channel@0 {
> -			reg = <0>;
> -			adi,source-bus-width = <32>;
> -			adi,source-bus-type = <ADI_AXI_DMAC_TYPE_MM_AXI>;
> -			adi,destination-bus-width = <64>;
> -			adi,destination-bus-type = <ADI_AXI_DMAC_TYPE_FIFO>;
> -		};
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml b/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
> new file mode 100644
> index 000000000000..e457630ec7c0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/adi,axi-dmac.yaml
> @@ -0,0 +1,137 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dma/adi,axi-dmac.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AXI-DMAC DMA controller
> +
> +description: http://analogdevicesinc.github.io/hdl/library/axi_dmac/index.html

Please make description more than just a link.

> +
> +maintainers:
> +  - Nuno Sa <nuno.sa@analog.com>
> +
> +properties:
> +  compatible:
> +    const: adi,axi-dmac-1.00.a
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  "#dma-cells":
> +    const: 1
> +
> +  adi,channels:
> +    type: object
> +    description: This sub-node must contain a sub-node for each DMA channel.
> +
> +    properties:
> +      "#size-cells":
> +        const: 0
> +      "#address-cells":
> +        const: 1
> +
> +    patternProperties:
> +      "^dma-channel@[0-9a-f]+$":
> +        type: object
> +        description:
> +          DMA channel properties based on HDL compile-time configuration.
> +
> +        properties:
> +          reg:
> +            maxItems: 1
> +
> +          adi,source-bus-width:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: Width of the source bus in bits.
> +            enum: [8, 16, 32, 64, 128]
> +
> +          adi,destination-bus-width:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: Width of the destination bus in bits.
> +            enum: [8, 16, 32, 64, 128]
> +
> +          # 0 (AXI_DMAC_TYPE_AXI_MM): Memory mapped AXI interface
> +          # 1 (AXI_DMAC_TYPE_AXI_STREAM): Streaming AXI interface
> +          # 2 (AXI_DMAC_TYPE_AXI_FIFO): FIFO interface

Put these in the 'description'

> +
> +          adi,source-bus-type:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: Type of the source bus.
> +            enum: [0, 1, 2]
> +
> +          adi,destination-bus-type:
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: Type of the destination bus.
> +            enum: [0, 1, 2]
> +
> +          adi,length-width:
> +            deprecated: true
> +            $ref: /schemas/types.yaml#/definitions/uint32
> +            description: Width of the DMA transfer length register.
> +
> +          adi,cyclic:
> +            deprecated: true
> +            type: boolean
> +            description:
> +              Must be set if the channel supports hardware cyclic DMA transfers.
> +
> +          adi,2d:
> +            deprecated: true
> +            type: boolean
> +            description:
> +              Must be set if the channel supports hardware 2D DMA transfers.
> +
> +        required:
> +          - reg
> +          - adi,source-bus-width
> +          - adi,destination-bus-width
> +          - adi,source-bus-type
> +          - adi,destination-bus-type
> +
> +        additionalProperties: false

Put this before 'properties'. Easier to read the indented cases that 
way.

> +
> +    required:
> +      - "#size-cells"
> +      - "#address-cells"
> +
> +    additionalProperties: false

ditto

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - "#dma-cells"
> +  - adi,channels
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    dma: dma@7c420000 {

Drop unused labels.

dma-controller@7c420000

> +        compatible = "adi,axi-dmac-1.00.a";
> +        reg = <0x7c420000 0x10000>;
> +        interrupts = <0 57 0>;
> +        clocks = <&clkc 16>;
> +        #dma-cells = <1>;
> +
> +        adi,channels {
> +            #size-cells = <0>;
> +            #address-cells = <1>;
> +
> +            dma-channel@0 {
> +                reg = <0>;
> +                adi,source-bus-width = <32>;
> +                adi,source-bus-type = <0>; /* AXI_DMAC_TYPE_AXI_MM */
> +                adi,destination-bus-width = <64>;
> +                adi,destination-bus-type = <2>; /* AXI_DMAC_TYPE_AXI_FIFO */
> +            };
> +        };
> +    };
> 
> -- 
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update
  2024-10-22 17:46 [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update David Lechner
  2024-10-22 17:46 ` [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema David Lechner
  2024-10-22 17:46 ` [PATCH 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node David Lechner
@ 2024-10-23 10:33 ` Nuno Sá
  2 siblings, 0 replies; 6+ messages in thread
From: Nuno Sá @ 2024-10-23 10:33 UTC (permalink / raw)
  To: David Lechner, Vinod Koul, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Nuno Sa
  Cc: Lars-Peter Clausen, dmaengine, devicetree, linux-kernel

On Tue, 2024-10-22 at 12:46 -0500, David Lechner wrote:
> Convert the ADI AXI DMAC bindings to YAML and then update the bindings
> to reflect the current actual use of the bindings.
> 
> ---

Nothing to add on Rob's comment. Basically adding my ack to show that I'm fine
being the maintainer for this:

Acked-by: Nuno Sa <nuno.sa@analog.com>

> David Lechner (2):
>       dt-bindings: dma: adi,axi-dmac: convert to yaml schema
>       dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node
> 
>  .../devicetree/bindings/dma/adi,axi-dmac.txt       |  61 ----------
>  .../devicetree/bindings/dma/adi,axi-dmac.yaml      | 127
> +++++++++++++++++++++
>  2 files changed, 127 insertions(+), 61 deletions(-)
> ---
> base-commit: 52a53aecddb1b407268ebc80695c38e5093dc08f
> change-id: 20241022-axi-dma-dt-yaml-c6c71ad2eb9e
> 
> Best regards,


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-10-23 10:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-22 17:46 [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update David Lechner
2024-10-22 17:46 ` [PATCH 1/2] dt-bindings: dma: adi,axi-dmac: convert to yaml schema David Lechner
2024-10-22 19:27   ` Rob Herring (Arm)
2024-10-22 20:43   ` Rob Herring
2024-10-22 17:46 ` [PATCH 2/2] dt-bindings: dma: adi,axi-dmac: deprecate adi,channels node David Lechner
2024-10-23 10:33 ` [PATCH 0/2] dt-bindings: dma: adi,axi-dmac: convert to yaml and update Nuno Sá

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.