dt-bindings: dmaengine: Convert Allwinner A10 DMA to a schema
authorMaxime Ripard <maxime.ripard@bootlin.com>
Sat, 20 Jul 2019 09:26:06 +0000 (11:26 +0200)
committerVinod Koul <vkoul@kernel.org>
Mon, 29 Jul 2019 06:48:49 +0000 (12:18 +0530)
The older Allwinner SoCs have a DMA controller supported in Linux, with a
matching Device Tree binding.

Now that we have the DT validation in place, let's convert the device tree
bindings for that controller over to a YAML schemas.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://lore.kernel.org/r/20190720092607.31095-2-maxime.ripard@bootlin.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Documentation/devicetree/bindings/dma/allwinner,sun4i-a10-dma.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/dma/sun4i-dma.txt [deleted file]

diff --git a/Documentation/devicetree/bindings/dma/allwinner,sun4i-a10-dma.yaml b/Documentation/devicetree/bindings/dma/allwinner,sun4i-a10-dma.yaml
new file mode 100644 (file)
index 0000000..15abc0f
--- /dev/null
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/allwinner,sun4i-a10-dma.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allwinner A10 DMA Controller Device Tree Bindings
+
+maintainers:
+  - Chen-Yu Tsai <wens@csie.org>
+  - Maxime Ripard <maxime.ripard@bootlin.com>
+
+allOf:
+  - $ref: "dma-controller.yaml#"
+
+properties:
+  "#dma-cells":
+    const: 2
+    description:
+      The first cell is either 0 or 1, the former to use the normal
+      DMA, 1 for dedicated DMA. The second cell is the request line
+      number.
+
+  compatible:
+    const: allwinner,sun4i-a10-dma
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+required:
+  - "#dma-cells"
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    dma: dma-controller@1c02000 {
+        compatible = "allwinner,sun4i-a10-dma";
+        reg = <0x01c02000 0x1000>;
+        interrupts = <27>;
+        clocks = <&ahb_gates 6>;
+        #dma-cells = <2>;
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/dma/sun4i-dma.txt b/Documentation/devicetree/bindings/dma/sun4i-dma.txt
deleted file mode 100644 (file)
index 8ad556a..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-Allwinner A10 DMA Controller
-
-This driver follows the generic DMA bindings defined in dma.txt.
-
-Required properties:
-
-- compatible:  Must be "allwinner,sun4i-a10-dma"
-- reg:         Should contain the registers base address and length
-- interrupts:  Should contain a reference to the interrupt used by this device
-- clocks:      Should contain a reference to the parent AHB clock
-- #dma-cells : Should be 2, first cell denoting normal or dedicated dma,
-               second cell holding the request line number.
-
-Example:
-       dma: dma-controller@1c02000 {
-               compatible = "allwinner,sun4i-a10-dma";
-               reg = <0x01c02000 0x1000>;
-               interrupts = <27>;
-               clocks = <&ahb_gates 6>;
-               #dma-cells = <2>;
-       };
-
-Clients:
-
-DMA clients connected to the Allwinner A10 DMA controller must use the
-format described in the dma.txt file, using a three-cell specifier for
-each channel: a phandle plus two integer cells.
-The three cells in order are:
-
-1. A phandle pointing to the DMA controller.
-2. Whether it is using normal (0) or dedicated (1) channels
-3. The port ID as specified in the datasheet
-
-Example:
-       spi2: spi@1c17000 {
-               compatible = "allwinner,sun4i-a10-spi";
-               reg = <0x01c17000 0x1000>;
-               interrupts = <0 12 4>;
-               clocks = <&ahb_gates 22>, <&spi2_clk>;
-               clock-names = "ahb", "mod";
-               dmas = <&dma 1 29>, <&dma 1 28>;
-               dma-names = "rx", "tx";
-               #address-cells = <1>;
-               #size-cells = <0>;
-       };