[PATCH] dt-bindings: dma: convert MediaTek High-Speed controller to the json-schema

Rafał Miłecki posted 1 patch 9 months ago
.../bindings/dma/mediatek,mt7622-hsdma.yaml   | 63 +++++++++++++++++++
.../devicetree/bindings/dma/mtk-hsdma.txt     | 33 ----------
2 files changed, 63 insertions(+), 33 deletions(-)
create mode 100644 Documentation/devicetree/bindings/dma/mediatek,mt7622-hsdma.yaml
delete mode 100644 Documentation/devicetree/bindings/dma/mtk-hsdma.txt
[PATCH] dt-bindings: dma: convert MediaTek High-Speed controller to the json-schema
Posted by Rafał Miłecki 9 months ago
From: Rafał Miłecki <rafal@milecki.pl>

This helps validating DTS files. Introduced changes:
1. Adjusted "reg" in example
2. Added includes to example

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 .../bindings/dma/mediatek,mt7622-hsdma.yaml   | 63 +++++++++++++++++++
 .../devicetree/bindings/dma/mtk-hsdma.txt     | 33 ----------
 2 files changed, 63 insertions(+), 33 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/dma/mediatek,mt7622-hsdma.yaml
 delete mode 100644 Documentation/devicetree/bindings/dma/mtk-hsdma.txt

diff --git a/Documentation/devicetree/bindings/dma/mediatek,mt7622-hsdma.yaml b/Documentation/devicetree/bindings/dma/mediatek,mt7622-hsdma.yaml
new file mode 100644
index 000000000000..3f1e120e40a3
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/mediatek,mt7622-hsdma.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/mediatek,mt7622-hsdma.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek High-Speed DMA Controller
+
+maintainers:
+  - Sean Wang <sean.wang@mediatek.com>
+
+allOf:
+  - $ref: dma-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - mediatek,mt7622-hsdma
+      - mediatek,mt7623-hsdma
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  clock-names:
+    const: hsdma
+
+  power-domains:
+    maxItems: 1
+
+  "#dma-cells":
+    description: Channel number
+    const: 1
+
+required:
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+  - power-domains
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/mt2701-clk.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    #include <dt-bindings/power/mt2701-power.h>
+
+    dma-controller@1b007000 {
+        compatible = "mediatek,mt7623-hsdma";
+        reg = <0x1b007000 0x1000>;
+        interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_LOW>;
+        clocks = <&ethsys CLK_ETHSYS_HSDMA>;
+        clock-names = "hsdma";
+        power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
+        #dma-cells = <1>;
+    };
diff --git a/Documentation/devicetree/bindings/dma/mtk-hsdma.txt b/Documentation/devicetree/bindings/dma/mtk-hsdma.txt
deleted file mode 100644
index 4bb317359dc6..000000000000
--- a/Documentation/devicetree/bindings/dma/mtk-hsdma.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-MediaTek High-Speed DMA Controller
-==================================
-
-This device follows the generic DMA bindings defined in dma/dma.txt.
-
-Required properties:
-
-- compatible:	Must be one of
-		  "mediatek,mt7622-hsdma": for MT7622 SoC
-		  "mediatek,mt7623-hsdma": for MT7623 SoC
-- reg:		Should contain the register's base address and length.
-- interrupts:	Should contain a reference to the interrupt used by this
-		device.
-- clocks:	Should be the clock specifiers corresponding to the entry in
-		clock-names property.
-- clock-names:	Should contain "hsdma" entries.
-- power-domains: Phandle to the power domain that the device is part of
-- #dma-cells: 	The length of the DMA specifier, must be <1>. This one cell
-		in dmas property of a client device represents the channel
-		number.
-Example:
-
-        hsdma: dma-controller@1b007000 {
-		compatible = "mediatek,mt7623-hsdma";
-		reg = <0 0x1b007000 0 0x1000>;
-		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_LOW>;
-		clocks = <&ethsys CLK_ETHSYS_HSDMA>;
-		clock-names = "hsdma";
-		power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
-		#dma-cells = <1>;
-	};
-
-DMA clients must use the format described in dma/dma.txt file.
-- 
2.35.3

Re: [PATCH] dt-bindings: dma: convert MediaTek High-Speed controller to the json-schema
Posted by Vinod Koul 9 months ago
On Tue, 13 Feb 2024 07:39:19 +0100, Rafał Miłecki wrote:
> This helps validating DTS files. Introduced changes:
> 1. Adjusted "reg" in example
> 2. Added includes to example
> 
> 

Applied, thanks!

[1/1] dt-bindings: dma: convert MediaTek High-Speed controller to the json-schema
      commit: fa3400504824944ec04bd3f236fd5ac57c099fd5

Best regards,
-- 
~Vinod


Re: [PATCH] dt-bindings: dma: convert MediaTek High-Speed controller to the json-schema
Posted by Conor Dooley 9 months ago
On Tue, Feb 13, 2024 at 07:39:19AM +0100, Rafał Miłecki wrote:

> +  "#dma-cells":
> +    description: Channel number

I think you can just remove this description if you end up doing a
resubmission for some reason, but this looks good to me.
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>

Cheers,
Conor.