Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: dmaengine: Convert Allwinner A10 DMA to a schema

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>

authored by

Maxime Ripard and committed by
Vinod Koul
545a29c8 b37e3534

+55 -45
+55
Documentation/devicetree/bindings/dma/allwinner,sun4i-a10-dma.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/dma/allwinner,sun4i-a10-dma.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Allwinner A10 DMA Controller Device Tree Bindings 8 + 9 + maintainers: 10 + - Chen-Yu Tsai <wens@csie.org> 11 + - Maxime Ripard <maxime.ripard@bootlin.com> 12 + 13 + allOf: 14 + - $ref: "dma-controller.yaml#" 15 + 16 + properties: 17 + "#dma-cells": 18 + const: 2 19 + description: 20 + The first cell is either 0 or 1, the former to use the normal 21 + DMA, 1 for dedicated DMA. The second cell is the request line 22 + number. 23 + 24 + compatible: 25 + const: allwinner,sun4i-a10-dma 26 + 27 + reg: 28 + maxItems: 1 29 + 30 + interrupts: 31 + maxItems: 1 32 + 33 + clocks: 34 + maxItems: 1 35 + 36 + required: 37 + - "#dma-cells" 38 + - compatible 39 + - reg 40 + - interrupts 41 + - clocks 42 + 43 + additionalProperties: false 44 + 45 + examples: 46 + - | 47 + dma: dma-controller@1c02000 { 48 + compatible = "allwinner,sun4i-a10-dma"; 49 + reg = <0x01c02000 0x1000>; 50 + interrupts = <27>; 51 + clocks = <&ahb_gates 6>; 52 + #dma-cells = <2>; 53 + }; 54 + 55 + ...
-45
Documentation/devicetree/bindings/dma/sun4i-dma.txt
··· 1 - Allwinner A10 DMA Controller 2 - 3 - This driver follows the generic DMA bindings defined in dma.txt. 4 - 5 - Required properties: 6 - 7 - - compatible: Must be "allwinner,sun4i-a10-dma" 8 - - reg: Should contain the registers base address and length 9 - - interrupts: Should contain a reference to the interrupt used by this device 10 - - clocks: Should contain a reference to the parent AHB clock 11 - - #dma-cells : Should be 2, first cell denoting normal or dedicated dma, 12 - second cell holding the request line number. 13 - 14 - Example: 15 - dma: dma-controller@1c02000 { 16 - compatible = "allwinner,sun4i-a10-dma"; 17 - reg = <0x01c02000 0x1000>; 18 - interrupts = <27>; 19 - clocks = <&ahb_gates 6>; 20 - #dma-cells = <2>; 21 - }; 22 - 23 - Clients: 24 - 25 - DMA clients connected to the Allwinner A10 DMA controller must use the 26 - format described in the dma.txt file, using a three-cell specifier for 27 - each channel: a phandle plus two integer cells. 28 - The three cells in order are: 29 - 30 - 1. A phandle pointing to the DMA controller. 31 - 2. Whether it is using normal (0) or dedicated (1) channels 32 - 3. The port ID as specified in the datasheet 33 - 34 - Example: 35 - spi2: spi@1c17000 { 36 - compatible = "allwinner,sun4i-a10-spi"; 37 - reg = <0x01c17000 0x1000>; 38 - interrupts = <0 12 4>; 39 - clocks = <&ahb_gates 22>, <&spi2_clk>; 40 - clock-names = "ahb", "mod"; 41 - dmas = <&dma 1 29>, <&dma 1 28>; 42 - dma-names = "rx", "tx"; 43 - #address-cells = <1>; 44 - #size-cells = <0>; 45 - };