xref: /freebsd/sys/contrib/device-tree/Bindings/dma/fsl,elo3-dma.yaml (revision 8ccc0d235c226d84112561d453c49904398d085c)
1*8ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8ccc0d23SEmmanuel Vadot%YAML 1.2
3*8ccc0d23SEmmanuel Vadot---
4*8ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/dma/fsl,elo3-dma.yaml#
5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8ccc0d23SEmmanuel Vadot
7*8ccc0d23SEmmanuel Vadottitle: Freescale Elo3 DMA Controller
8*8ccc0d23SEmmanuel Vadot
9*8ccc0d23SEmmanuel Vadotmaintainers:
10*8ccc0d23SEmmanuel Vadot  - J. Neuschäfer <j.ne@posteo.net>
11*8ccc0d23SEmmanuel Vadot
12*8ccc0d23SEmmanuel Vadotdescription:
13*8ccc0d23SEmmanuel Vadot  DMA controller which has same function as EloPlus except that Elo3 has 8
14*8ccc0d23SEmmanuel Vadot  channels while EloPlus has only 4, it is used in Freescale Txxx and Bxxx
15*8ccc0d23SEmmanuel Vadot  series chips, such as t1040, t4240, b4860.
16*8ccc0d23SEmmanuel Vadot
17*8ccc0d23SEmmanuel Vadotproperties:
18*8ccc0d23SEmmanuel Vadot  compatible:
19*8ccc0d23SEmmanuel Vadot    const: fsl,elo3-dma
20*8ccc0d23SEmmanuel Vadot
21*8ccc0d23SEmmanuel Vadot  reg:
22*8ccc0d23SEmmanuel Vadot    items:
23*8ccc0d23SEmmanuel Vadot      - description:
24*8ccc0d23SEmmanuel Vadot          DMA General Status Registers starting from DGSR0, for channel 1~4
25*8ccc0d23SEmmanuel Vadot      - description:
26*8ccc0d23SEmmanuel Vadot          DMA General Status Registers starting from DGSR1, for channel 5~8
27*8ccc0d23SEmmanuel Vadot
28*8ccc0d23SEmmanuel Vadot  ranges: true
29*8ccc0d23SEmmanuel Vadot
30*8ccc0d23SEmmanuel Vadot  "#address-cells":
31*8ccc0d23SEmmanuel Vadot    const: 1
32*8ccc0d23SEmmanuel Vadot
33*8ccc0d23SEmmanuel Vadot  "#size-cells":
34*8ccc0d23SEmmanuel Vadot    const: 1
35*8ccc0d23SEmmanuel Vadot
36*8ccc0d23SEmmanuel Vadot  interrupts:
37*8ccc0d23SEmmanuel Vadot    maxItems: 1
38*8ccc0d23SEmmanuel Vadot
39*8ccc0d23SEmmanuel VadotpatternProperties:
40*8ccc0d23SEmmanuel Vadot  "^dma-channel@[0-9a-f]+$":
41*8ccc0d23SEmmanuel Vadot    type: object
42*8ccc0d23SEmmanuel Vadot    additionalProperties: false
43*8ccc0d23SEmmanuel Vadot
44*8ccc0d23SEmmanuel Vadot    properties:
45*8ccc0d23SEmmanuel Vadot      compatible:
46*8ccc0d23SEmmanuel Vadot        enum:
47*8ccc0d23SEmmanuel Vadot          # native DMA channel
48*8ccc0d23SEmmanuel Vadot          - fsl,eloplus-dma-channel
49*8ccc0d23SEmmanuel Vadot
50*8ccc0d23SEmmanuel Vadot          # audio DMA channel, see fsl,ssi.yaml
51*8ccc0d23SEmmanuel Vadot          - fsl,ssi-dma-channel
52*8ccc0d23SEmmanuel Vadot
53*8ccc0d23SEmmanuel Vadot      reg:
54*8ccc0d23SEmmanuel Vadot        maxItems: 1
55*8ccc0d23SEmmanuel Vadot
56*8ccc0d23SEmmanuel Vadot      interrupts:
57*8ccc0d23SEmmanuel Vadot        maxItems: 1
58*8ccc0d23SEmmanuel Vadot        description:
59*8ccc0d23SEmmanuel Vadot          Per-channel interrupt. Only necessary if no controller interrupt has
60*8ccc0d23SEmmanuel Vadot          been provided.
61*8ccc0d23SEmmanuel Vadot
62*8ccc0d23SEmmanuel VadotadditionalProperties: false
63*8ccc0d23SEmmanuel Vadot
64*8ccc0d23SEmmanuel Vadotexamples:
65*8ccc0d23SEmmanuel Vadot  - |
66*8ccc0d23SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
67*8ccc0d23SEmmanuel Vadot
68*8ccc0d23SEmmanuel Vadot    dma@100300 {
69*8ccc0d23SEmmanuel Vadot        compatible = "fsl,elo3-dma";
70*8ccc0d23SEmmanuel Vadot        reg = <0x100300 0x4>,
71*8ccc0d23SEmmanuel Vadot              <0x100600 0x4>;
72*8ccc0d23SEmmanuel Vadot        #address-cells = <1>;
73*8ccc0d23SEmmanuel Vadot        #size-cells = <1>;
74*8ccc0d23SEmmanuel Vadot        ranges = <0x0 0x100100 0x500>;
75*8ccc0d23SEmmanuel Vadot
76*8ccc0d23SEmmanuel Vadot        dma-channel@0 {
77*8ccc0d23SEmmanuel Vadot            compatible = "fsl,eloplus-dma-channel";
78*8ccc0d23SEmmanuel Vadot            reg = <0x0 0x80>;
79*8ccc0d23SEmmanuel Vadot            interrupts = <28 IRQ_TYPE_EDGE_FALLING 0 0>;
80*8ccc0d23SEmmanuel Vadot        };
81*8ccc0d23SEmmanuel Vadot
82*8ccc0d23SEmmanuel Vadot        dma-channel@80 {
83*8ccc0d23SEmmanuel Vadot            compatible = "fsl,eloplus-dma-channel";
84*8ccc0d23SEmmanuel Vadot            reg = <0x80 0x80>;
85*8ccc0d23SEmmanuel Vadot            interrupts = <29 IRQ_TYPE_EDGE_FALLING 0 0>;
86*8ccc0d23SEmmanuel Vadot        };
87*8ccc0d23SEmmanuel Vadot
88*8ccc0d23SEmmanuel Vadot        dma-channel@100 {
89*8ccc0d23SEmmanuel Vadot            compatible = "fsl,eloplus-dma-channel";
90*8ccc0d23SEmmanuel Vadot            reg = <0x100 0x80>;
91*8ccc0d23SEmmanuel Vadot            interrupts = <30 IRQ_TYPE_EDGE_FALLING 0 0>;
92*8ccc0d23SEmmanuel Vadot        };
93*8ccc0d23SEmmanuel Vadot
94*8ccc0d23SEmmanuel Vadot        dma-channel@180 {
95*8ccc0d23SEmmanuel Vadot            compatible = "fsl,eloplus-dma-channel";
96*8ccc0d23SEmmanuel Vadot            reg = <0x180 0x80>;
97*8ccc0d23SEmmanuel Vadot            interrupts = <31 IRQ_TYPE_EDGE_FALLING 0 0>;
98*8ccc0d23SEmmanuel Vadot        };
99*8ccc0d23SEmmanuel Vadot
100*8ccc0d23SEmmanuel Vadot        dma-channel@300 {
101*8ccc0d23SEmmanuel Vadot            compatible = "fsl,eloplus-dma-channel";
102*8ccc0d23SEmmanuel Vadot            reg = <0x300 0x80>;
103*8ccc0d23SEmmanuel Vadot            interrupts = <76 IRQ_TYPE_EDGE_FALLING 0 0>;
104*8ccc0d23SEmmanuel Vadot        };
105*8ccc0d23SEmmanuel Vadot
106*8ccc0d23SEmmanuel Vadot        dma-channel@380 {
107*8ccc0d23SEmmanuel Vadot            compatible = "fsl,eloplus-dma-channel";
108*8ccc0d23SEmmanuel Vadot            reg = <0x380 0x80>;
109*8ccc0d23SEmmanuel Vadot            interrupts = <77 IRQ_TYPE_EDGE_FALLING 0 0>;
110*8ccc0d23SEmmanuel Vadot        };
111*8ccc0d23SEmmanuel Vadot
112*8ccc0d23SEmmanuel Vadot        dma-channel@400 {
113*8ccc0d23SEmmanuel Vadot            compatible = "fsl,eloplus-dma-channel";
114*8ccc0d23SEmmanuel Vadot            reg = <0x400 0x80>;
115*8ccc0d23SEmmanuel Vadot            interrupts = <78 IRQ_TYPE_EDGE_FALLING 0 0>;
116*8ccc0d23SEmmanuel Vadot        };
117*8ccc0d23SEmmanuel Vadot
118*8ccc0d23SEmmanuel Vadot        dma-channel@480 {
119*8ccc0d23SEmmanuel Vadot            compatible = "fsl,eloplus-dma-channel";
120*8ccc0d23SEmmanuel Vadot            reg = <0x480 0x80>;
121*8ccc0d23SEmmanuel Vadot            interrupts = <79 IRQ_TYPE_EDGE_FALLING 0 0>;
122*8ccc0d23SEmmanuel Vadot        };
123*8ccc0d23SEmmanuel Vadot    };
124*8ccc0d23SEmmanuel Vadot
125*8ccc0d23SEmmanuel Vadot...
126