xref: /linux/Documentation/devicetree/bindings/dma/fsl,mxs-dma.yaml (revision 184e56e77c06a7eef68a021e9d4b11a11a8ab096)
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
7title: Freescale Direct Memory Access (DMA) Controller from i.MX23/i.MX28
8
9maintainers:
10  - Marek Vasut <marex@denx.de>
11
12allOf:
13  - $ref: dma-controller.yaml#
14  - if:
15      properties:
16        compatible:
17          contains:
18            const: fsl,imx8qxp-dma-apbh
19    then:
20      required:
21        - power-domains
22    else:
23      properties:
24        power-domains: false
25
26properties:
27  compatible:
28    oneOf:
29      - items:
30          - enum:
31              - fsl,imx6q-dma-apbh
32              - fsl,imx6sx-dma-apbh
33              - fsl,imx7d-dma-apbh
34              - fsl,imx8dxl-dma-apbh
35              - fsl,imx8mm-dma-apbh
36              - fsl,imx8mn-dma-apbh
37              - fsl,imx8mp-dma-apbh
38              - fsl,imx8mq-dma-apbh
39              - fsl,imx8qm-dma-apbh
40              - fsl,imx8qxp-dma-apbh
41          - const: fsl,imx28-dma-apbh
42      - enum:
43          - fsl,imx23-dma-apbh
44          - fsl,imx23-dma-apbx
45          - fsl,imx28-dma-apbh
46          - fsl,imx28-dma-apbx
47  reg:
48    maxItems: 1
49
50  clocks:
51    maxItems: 1
52
53  interrupts:
54    minItems: 4
55    maxItems: 16
56
57  "#dma-cells":
58    const: 1
59
60  dma-channels:
61    enum: [4, 8, 16]
62
63  power-domains:
64    maxItems: 1
65
66required:
67  - compatible
68  - reg
69  - "#dma-cells"
70  - dma-channels
71  - interrupts
72
73additionalProperties: false
74
75examples:
76  - |
77    interrupt-parent = <&irqc>;
78
79    dma-controller@80004000 {
80      compatible = "fsl,imx28-dma-apbh";
81      reg = <0x80004000 0x2000>;
82      interrupts = <82 83 84 85
83                    88 88 88 88
84                    88 88 88 88
85                    87 86 0 0>;
86      #dma-cells = <1>;
87      dma-channels = <16>;
88    };
89
90    dma-controller@80024000 {
91      compatible = "fsl,imx28-dma-apbx";
92      reg = <0x80024000 0x2000>;
93      interrupts = <78 79 66 0
94                    80 81 68 69
95                    70 71 72 73
96                    74 75 76 77>;
97      #dma-cells = <1>;
98      dma-channels = <16>;
99    };
100
101...
102