xref: /freebsd/sys/contrib/device-tree/Bindings/dma/fsl,mxs-dma.yaml (revision 9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b)
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
26  - if:
27      properties:
28        compatible:
29          contains:
30            const: fsl,imx23-dma-apbx
31    then:
32      properties:
33        interrupt-names:
34          items:
35            - const: audio-adc
36            - const: audio-dac
37            - const: spdif-tx
38            - const: i2c
39            - const: saif0
40            - const: empty0
41            - const: auart0-rx
42            - const: auart0-tx
43            - const: auart1-rx
44            - const: auart1-tx
45            - const: saif1
46            - const: empty1
47            - const: empty2
48            - const: empty3
49            - const: empty4
50            - const: empty5
51    else:
52      properties:
53        interrupt-names: false
54
55properties:
56  compatible:
57    oneOf:
58      - items:
59          - enum:
60              - fsl,imx6q-dma-apbh
61              - fsl,imx6sx-dma-apbh
62              - fsl,imx7d-dma-apbh
63              - fsl,imx8dxl-dma-apbh
64              - fsl,imx8mm-dma-apbh
65              - fsl,imx8mn-dma-apbh
66              - fsl,imx8mp-dma-apbh
67              - fsl,imx8mq-dma-apbh
68              - fsl,imx8qm-dma-apbh
69              - fsl,imx8qxp-dma-apbh
70          - const: fsl,imx28-dma-apbh
71      - enum:
72          - fsl,imx23-dma-apbh
73          - fsl,imx23-dma-apbx
74          - fsl,imx28-dma-apbh
75          - fsl,imx28-dma-apbx
76  reg:
77    maxItems: 1
78
79  clocks:
80    maxItems: 1
81
82  interrupts:
83    minItems: 4
84    maxItems: 16
85
86  interrupt-names:
87    minItems: 4
88    maxItems: 16
89
90  "#dma-cells":
91    const: 1
92
93  dma-channels:
94    enum: [4, 8, 16]
95
96  power-domains:
97    maxItems: 1
98
99required:
100  - compatible
101  - reg
102  - "#dma-cells"
103  - dma-channels
104  - interrupts
105
106additionalProperties: false
107
108examples:
109  - |
110    interrupt-parent = <&irqc>;
111
112    dma-controller@80004000 {
113      compatible = "fsl,imx28-dma-apbh";
114      reg = <0x80004000 0x2000>;
115      interrupts = <82 83 84 85
116                    88 88 88 88
117                    88 88 88 88
118                    87 86 0 0>;
119      #dma-cells = <1>;
120      dma-channels = <16>;
121    };
122
123    dma-controller@80024000 {
124      compatible = "fsl,imx28-dma-apbx";
125      reg = <0x80024000 0x2000>;
126      interrupts = <78 79 66 0
127                    80 81 68 69
128                    70 71 72 73
129                    74 75 76 77>;
130      #dma-cells = <1>;
131      dma-channels = <16>;
132    };
133
134...
135