Linux 6.7-rc7
[linux-modified.git] / 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 ...