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

dt-bindings: dma: fsl-mxs-dma: Convert MXS DMA to DT schema

Convert the MXS DMA binding to DT schema format using json-schema.

Drop "interrupt-names" property, since it is broken. The drivers/dma/mxs-dma.c
in Linux kernel does not use it, the property contains duplicate array entries
in existing DTs, and even malformed entries (gmpi, should have been gpmi). Get
rid of that optional property altogether.

Update example node names to be standard dma-controller@ ,
add global interrupt-parent property into example.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20221219093713.328776-1-marex@denx.de
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Marek Vasut and committed by
Vinod Koul
0642b3f4 93f7d11f

+80 -60
+80
Documentation/devicetree/bindings/dma/fsl,mxs-dma.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/dma/fsl,mxs-dma.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Freescale Direct Memory Access (DMA) Controller from i.MX23/i.MX28 8 + 9 + maintainers: 10 + - Marek Vasut <marex@denx.de> 11 + 12 + allOf: 13 + - $ref: dma-controller.yaml# 14 + 15 + properties: 16 + compatible: 17 + oneOf: 18 + - items: 19 + - enum: 20 + - fsl,imx6q-dma-apbh 21 + - fsl,imx6sx-dma-apbh 22 + - fsl,imx7d-dma-apbh 23 + - const: fsl,imx28-dma-apbh 24 + - enum: 25 + - fsl,imx23-dma-apbh 26 + - fsl,imx23-dma-apbx 27 + - fsl,imx28-dma-apbh 28 + - fsl,imx28-dma-apbx 29 + reg: 30 + maxItems: 1 31 + 32 + clocks: 33 + maxItems: 1 34 + 35 + interrupts: 36 + minItems: 4 37 + maxItems: 16 38 + 39 + "#dma-cells": 40 + const: 1 41 + 42 + dma-channels: 43 + enum: [4, 8, 16] 44 + 45 + required: 46 + - compatible 47 + - reg 48 + - "#dma-cells" 49 + - dma-channels 50 + - interrupts 51 + 52 + additionalProperties: false 53 + 54 + examples: 55 + - | 56 + interrupt-parent = <&irqc>; 57 + 58 + dma-controller@80004000 { 59 + compatible = "fsl,imx28-dma-apbh"; 60 + reg = <0x80004000 0x2000>; 61 + interrupts = <82 83 84 85 62 + 88 88 88 88 63 + 88 88 88 88 64 + 87 86 0 0>; 65 + #dma-cells = <1>; 66 + dma-channels = <16>; 67 + }; 68 + 69 + dma-controller@80024000 { 70 + compatible = "fsl,imx28-dma-apbx"; 71 + reg = <0x80024000 0x2000>; 72 + interrupts = <78 79 66 0 73 + 80 81 68 69 74 + 70 71 72 73 75 + 74 75 76 77>; 76 + #dma-cells = <1>; 77 + dma-channels = <16>; 78 + }; 79 + 80 + ...
-60
Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt
··· 1 - * Freescale MXS DMA 2 - 3 - Required properties: 4 - - compatible : Should be "fsl,<chip>-dma-apbh" or "fsl,<chip>-dma-apbx" 5 - - reg : Should contain registers location and length 6 - - interrupts : Should contain the interrupt numbers of DMA channels. 7 - If a channel is empty/reserved, 0 should be filled in place. 8 - - #dma-cells : Must be <1>. The number cell specifies the channel ID. 9 - - dma-channels : Number of channels supported by the DMA controller 10 - 11 - Optional properties: 12 - - interrupt-names : Name of DMA channel interrupts 13 - 14 - Supported chips: 15 - imx23, imx28. 16 - 17 - Examples: 18 - 19 - dma_apbh: dma-apbh@80004000 { 20 - compatible = "fsl,imx28-dma-apbh"; 21 - reg = <0x80004000 0x2000>; 22 - interrupts = <82 83 84 85 23 - 88 88 88 88 24 - 88 88 88 88 25 - 87 86 0 0>; 26 - interrupt-names = "ssp0", "ssp1", "ssp2", "ssp3", 27 - "gpmi0", "gmpi1", "gpmi2", "gmpi3", 28 - "gpmi4", "gmpi5", "gpmi6", "gmpi7", 29 - "hsadc", "lcdif", "empty", "empty"; 30 - #dma-cells = <1>; 31 - dma-channels = <16>; 32 - }; 33 - 34 - dma_apbx: dma-apbx@80024000 { 35 - compatible = "fsl,imx28-dma-apbx"; 36 - reg = <0x80024000 0x2000>; 37 - interrupts = <78 79 66 0 38 - 80 81 68 69 39 - 70 71 72 73 40 - 74 75 76 77>; 41 - interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty", 42 - "saif0", "saif1", "i2c0", "i2c1", 43 - "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx", 44 - "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx"; 45 - #dma-cells = <1>; 46 - dma-channels = <16>; 47 - }; 48 - 49 - DMA clients connected to the MXS DMA controller must use the format 50 - described in the dma.txt file. 51 - 52 - Examples: 53 - 54 - auart0: serial@8006a000 { 55 - compatible = "fsl,imx28-auart", "fsl,imx23-auart"; 56 - reg = <0x8006a000 0x2000>; 57 - interrupts = <112>; 58 - dmas = <&dma_apbx 8>, <&dma_apbx 9>; 59 - dma-names = "rx", "tx"; 60 - };