dt-bindings: dma: convert MediaTek High-Speed controller to the json-schema
authorRafał Miłecki <rafal@milecki.pl>
Tue, 13 Feb 2024 06:39:19 +0000 (07:39 +0100)
committerVinod Koul <vkoul@kernel.org>
Fri, 16 Feb 2024 12:18:22 +0000 (17:48 +0530)
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>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240213063919.20196-1-zajec5@gmail.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Documentation/devicetree/bindings/dma/mediatek,mt7622-hsdma.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/dma/mtk-hsdma.txt [deleted file]

diff --git a/Documentation/devicetree/bindings/dma/mediatek,mt7622-hsdma.yaml b/Documentation/devicetree/bindings/dma/mediatek,mt7622-hsdma.yaml
new file mode 100644 (file)
index 0000000..3f1e120
--- /dev/null
@@ -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 (file)
index 4bb3173..0000000
+++ /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.