xref: /openbmc/linux/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml (revision cde9a96ee24f796941bd187e0ded93a242ce5340)
1*cde9a96eSYoshihiro Shimoda# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*cde9a96eSYoshihiro Shimoda%YAML 1.2
3*cde9a96eSYoshihiro Shimoda---
4*cde9a96eSYoshihiro Shimoda$id: http://devicetree.org/schemas/dma/renesas,rcar-dmac.yaml#
5*cde9a96eSYoshihiro Shimoda$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cde9a96eSYoshihiro Shimoda
7*cde9a96eSYoshihiro Shimodatitle: Renesas R-Car and RZ/G DMA Controller
8*cde9a96eSYoshihiro Shimoda
9*cde9a96eSYoshihiro Shimodamaintainers:
10*cde9a96eSYoshihiro Shimoda  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11*cde9a96eSYoshihiro Shimoda
12*cde9a96eSYoshihiro ShimodaallOf:
13*cde9a96eSYoshihiro Shimoda  - $ref: "dma-controller.yaml#"
14*cde9a96eSYoshihiro Shimoda
15*cde9a96eSYoshihiro Shimodaproperties:
16*cde9a96eSYoshihiro Shimoda  compatible:
17*cde9a96eSYoshihiro Shimoda    items:
18*cde9a96eSYoshihiro Shimoda      - enum:
19*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7743  # RZ/G1M
20*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7744  # RZ/G1N
21*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7745  # RZ/G1E
22*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a77470 # RZ/G1C
23*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a774a1 # RZ/G2M
24*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a774b1 # RZ/G2N
25*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a774c0 # RZ/G2E
26*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7790  # R-Car H2
27*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7791  # R-Car M2-W
28*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7792  # R-Car V2H
29*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7793  # R-Car M2-N
30*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7794  # R-Car E2
31*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7795  # R-Car H3
32*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a7796  # R-Car M3-W
33*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a77961 # R-Car M3-W+
34*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a77965 # R-Car M3-N
35*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a77970 # R-Car V3M
36*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a77980 # R-Car V3H
37*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a77990 # R-Car E3
38*cde9a96eSYoshihiro Shimoda          - renesas,dmac-r8a77995 # R-Car D3
39*cde9a96eSYoshihiro Shimoda      - const: renesas,rcar-dmac
40*cde9a96eSYoshihiro Shimoda
41*cde9a96eSYoshihiro Shimoda  reg:
42*cde9a96eSYoshihiro Shimoda    maxItems: 1
43*cde9a96eSYoshihiro Shimoda
44*cde9a96eSYoshihiro Shimoda  interrupts:
45*cde9a96eSYoshihiro Shimoda    minItems: 9
46*cde9a96eSYoshihiro Shimoda    maxItems: 17
47*cde9a96eSYoshihiro Shimoda
48*cde9a96eSYoshihiro Shimoda  interrupt-names:
49*cde9a96eSYoshihiro Shimoda    minItems: 9
50*cde9a96eSYoshihiro Shimoda    maxItems: 17
51*cde9a96eSYoshihiro Shimoda    items:
52*cde9a96eSYoshihiro Shimoda      - const: error
53*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
54*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
55*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
56*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
57*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
58*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
59*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
60*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
61*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
62*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
63*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
64*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
65*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
66*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
67*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
68*cde9a96eSYoshihiro Shimoda      - pattern: "^ch([0-9]|1[0-5])$"
69*cde9a96eSYoshihiro Shimoda
70*cde9a96eSYoshihiro Shimoda  clocks:
71*cde9a96eSYoshihiro Shimoda    maxItems: 1
72*cde9a96eSYoshihiro Shimoda
73*cde9a96eSYoshihiro Shimoda  clock-names:
74*cde9a96eSYoshihiro Shimoda    maxItems: 1
75*cde9a96eSYoshihiro Shimoda    items:
76*cde9a96eSYoshihiro Shimoda      - const: fck
77*cde9a96eSYoshihiro Shimoda
78*cde9a96eSYoshihiro Shimoda  '#dma-cells':
79*cde9a96eSYoshihiro Shimoda    const: 1
80*cde9a96eSYoshihiro Shimoda    description:
81*cde9a96eSYoshihiro Shimoda      The cell specifies the MID/RID of the DMAC port connected to
82*cde9a96eSYoshihiro Shimoda      the DMA client.
83*cde9a96eSYoshihiro Shimoda
84*cde9a96eSYoshihiro Shimoda  dma-channels:
85*cde9a96eSYoshihiro Shimoda    minimum: 8
86*cde9a96eSYoshihiro Shimoda    maximum: 16
87*cde9a96eSYoshihiro Shimoda
88*cde9a96eSYoshihiro Shimoda  dma-channel-mask: true
89*cde9a96eSYoshihiro Shimoda
90*cde9a96eSYoshihiro Shimoda  iommus:
91*cde9a96eSYoshihiro Shimoda    minItems: 8
92*cde9a96eSYoshihiro Shimoda    maxItems: 16
93*cde9a96eSYoshihiro Shimoda
94*cde9a96eSYoshihiro Shimoda  power-domains:
95*cde9a96eSYoshihiro Shimoda    maxItems: 1
96*cde9a96eSYoshihiro Shimoda
97*cde9a96eSYoshihiro Shimoda  resets:
98*cde9a96eSYoshihiro Shimoda    maxItems: 1
99*cde9a96eSYoshihiro Shimoda
100*cde9a96eSYoshihiro Shimodarequired:
101*cde9a96eSYoshihiro Shimoda  - compatible
102*cde9a96eSYoshihiro Shimoda  - reg
103*cde9a96eSYoshihiro Shimoda  - interrupts
104*cde9a96eSYoshihiro Shimoda  - interrupt-names
105*cde9a96eSYoshihiro Shimoda  - clocks
106*cde9a96eSYoshihiro Shimoda  - clock-names
107*cde9a96eSYoshihiro Shimoda  - '#dma-cells'
108*cde9a96eSYoshihiro Shimoda  - dma-channels
109*cde9a96eSYoshihiro Shimoda  - power-domains
110*cde9a96eSYoshihiro Shimoda  - resets
111*cde9a96eSYoshihiro Shimoda
112*cde9a96eSYoshihiro ShimodaadditionalProperties: false
113*cde9a96eSYoshihiro Shimoda
114*cde9a96eSYoshihiro Shimodaexamples:
115*cde9a96eSYoshihiro Shimoda  - |
116*cde9a96eSYoshihiro Shimoda    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
117*cde9a96eSYoshihiro Shimoda    #include <dt-bindings/interrupt-controller/arm-gic.h>
118*cde9a96eSYoshihiro Shimoda    #include <dt-bindings/power/r8a7790-sysc.h>
119*cde9a96eSYoshihiro Shimoda
120*cde9a96eSYoshihiro Shimoda    dmac0: dma-controller@e6700000 {
121*cde9a96eSYoshihiro Shimoda        compatible = "renesas,dmac-r8a7790", "renesas,rcar-dmac";
122*cde9a96eSYoshihiro Shimoda        reg = <0xe6700000 0x20000>;
123*cde9a96eSYoshihiro Shimoda        interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
124*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
125*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
126*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
127*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>,
128*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
129*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
130*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>,
131*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
132*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
133*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
134*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
135*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
136*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
137*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
138*cde9a96eSYoshihiro Shimoda                     <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
139*cde9a96eSYoshihiro Shimoda        interrupt-names = "error",
140*cde9a96eSYoshihiro Shimoda                          "ch0", "ch1", "ch2", "ch3",
141*cde9a96eSYoshihiro Shimoda                          "ch4", "ch5", "ch6", "ch7",
142*cde9a96eSYoshihiro Shimoda                          "ch8", "ch9", "ch10", "ch11",
143*cde9a96eSYoshihiro Shimoda                          "ch12", "ch13", "ch14";
144*cde9a96eSYoshihiro Shimoda        clocks = <&cpg CPG_MOD 219>;
145*cde9a96eSYoshihiro Shimoda        clock-names = "fck";
146*cde9a96eSYoshihiro Shimoda        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
147*cde9a96eSYoshihiro Shimoda        resets = <&cpg 219>;
148*cde9a96eSYoshihiro Shimoda        #dma-cells = <1>;
149*cde9a96eSYoshihiro Shimoda        dma-channels = <15>;
150*cde9a96eSYoshihiro Shimoda    };
151