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>
This commit is contained in:
Родитель
93f7d11f10
Коммит
0642b3f47c
|
@ -0,0 +1,80 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dma/fsl,mxs-dma.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale Direct Memory Access (DMA) Controller from i.MX23/i.MX28
|
||||
|
||||
maintainers:
|
||||
- Marek Vasut <marex@denx.de>
|
||||
|
||||
allOf:
|
||||
- $ref: dma-controller.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx6q-dma-apbh
|
||||
- fsl,imx6sx-dma-apbh
|
||||
- fsl,imx7d-dma-apbh
|
||||
- const: fsl,imx28-dma-apbh
|
||||
- enum:
|
||||
- fsl,imx23-dma-apbh
|
||||
- fsl,imx23-dma-apbx
|
||||
- fsl,imx28-dma-apbh
|
||||
- fsl,imx28-dma-apbx
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
minItems: 4
|
||||
maxItems: 16
|
||||
|
||||
"#dma-cells":
|
||||
const: 1
|
||||
|
||||
dma-channels:
|
||||
enum: [4, 8, 16]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#dma-cells"
|
||||
- dma-channels
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
interrupt-parent = <&irqc>;
|
||||
|
||||
dma-controller@80004000 {
|
||||
compatible = "fsl,imx28-dma-apbh";
|
||||
reg = <0x80004000 0x2000>;
|
||||
interrupts = <82 83 84 85
|
||||
88 88 88 88
|
||||
88 88 88 88
|
||||
87 86 0 0>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
};
|
||||
|
||||
dma-controller@80024000 {
|
||||
compatible = "fsl,imx28-dma-apbx";
|
||||
reg = <0x80024000 0x2000>;
|
||||
interrupts = <78 79 66 0
|
||||
80 81 68 69
|
||||
70 71 72 73
|
||||
74 75 76 77>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
};
|
||||
|
||||
...
|
|
@ -1,60 +0,0 @@
|
|||
* Freescale MXS DMA
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "fsl,<chip>-dma-apbh" or "fsl,<chip>-dma-apbx"
|
||||
- reg : Should contain registers location and length
|
||||
- interrupts : Should contain the interrupt numbers of DMA channels.
|
||||
If a channel is empty/reserved, 0 should be filled in place.
|
||||
- #dma-cells : Must be <1>. The number cell specifies the channel ID.
|
||||
- dma-channels : Number of channels supported by the DMA controller
|
||||
|
||||
Optional properties:
|
||||
- interrupt-names : Name of DMA channel interrupts
|
||||
|
||||
Supported chips:
|
||||
imx23, imx28.
|
||||
|
||||
Examples:
|
||||
|
||||
dma_apbh: dma-apbh@80004000 {
|
||||
compatible = "fsl,imx28-dma-apbh";
|
||||
reg = <0x80004000 0x2000>;
|
||||
interrupts = <82 83 84 85
|
||||
88 88 88 88
|
||||
88 88 88 88
|
||||
87 86 0 0>;
|
||||
interrupt-names = "ssp0", "ssp1", "ssp2", "ssp3",
|
||||
"gpmi0", "gmpi1", "gpmi2", "gmpi3",
|
||||
"gpmi4", "gmpi5", "gpmi6", "gmpi7",
|
||||
"hsadc", "lcdif", "empty", "empty";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
};
|
||||
|
||||
dma_apbx: dma-apbx@80024000 {
|
||||
compatible = "fsl,imx28-dma-apbx";
|
||||
reg = <0x80024000 0x2000>;
|
||||
interrupts = <78 79 66 0
|
||||
80 81 68 69
|
||||
70 71 72 73
|
||||
74 75 76 77>;
|
||||
interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty",
|
||||
"saif0", "saif1", "i2c0", "i2c1",
|
||||
"auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx",
|
||||
"auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
};
|
||||
|
||||
DMA clients connected to the MXS DMA controller must use the format
|
||||
described in the dma.txt file.
|
||||
|
||||
Examples:
|
||||
|
||||
auart0: serial@8006a000 {
|
||||
compatible = "fsl,imx28-auart", "fsl,imx23-auart";
|
||||
reg = <0x8006a000 0x2000>;
|
||||
interrupts = <112>;
|
||||
dmas = <&dma_apbx 8>, <&dma_apbx 9>;
|
||||
dma-names = "rx", "tx";
|
||||
};
|
Загрузка…
Ссылка в новой задаче