1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/dma/renesas,usb-dmac.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas USB DMA Controller
8
9maintainers:
10  - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
11
12allOf:
13  - $ref: "dma-controller.yaml#"
14
15properties:
16  compatible:
17    items:
18      - enum:
19          - renesas,r8a7743-usb-dmac  # RZ/G1M
20          - renesas,r8a7744-usb-dmac  # RZ/G1N
21          - renesas,r8a7745-usb-dmac  # RZ/G1E
22          - renesas,r8a77470-usb-dmac # RZ/G1C
23          - renesas,r8a774a1-usb-dmac # RZ/G2M
24          - renesas,r8a774b1-usb-dmac # RZ/G2N
25          - renesas,r8a774c0-usb-dmac # RZ/G2E
26          - renesas,r8a7790-usb-dmac  # R-Car H2
27          - renesas,r8a7791-usb-dmac  # R-Car M2-W
28          - renesas,r8a7793-usb-dmac  # R-Car M2-N
29          - renesas,r8a7794-usb-dmac  # R-Car E2
30          - renesas,r8a7795-usb-dmac  # R-Car H3
31          - renesas,r8a7796-usb-dmac  # R-Car M3-W
32          - renesas,r8a77961-usb-dmac # R-Car M3-W+
33          - renesas,r8a77965-usb-dmac # R-Car M3-N
34          - renesas,r8a77990-usb-dmac # R-Car E3
35          - renesas,r8a77995-usb-dmac # R-Car D3
36      - const: renesas,usb-dmac
37
38  reg:
39    maxItems: 1
40
41  interrupts:
42    minItems: 2
43    maxItems: 2
44
45  interrupt-names:
46    items:
47      - pattern: ch0
48      - pattern: ch1
49
50  clocks:
51    maxItems: 1
52
53  '#dma-cells':
54    const: 1
55    description:
56      The cell specifies the channel number of the DMAC port connected to
57      the DMA client.
58
59  dma-channels:
60    const: 2
61
62  iommus:
63    minItems: 2
64    maxItems: 2
65
66  power-domains:
67    maxItems: 1
68
69  resets:
70    maxItems: 1
71
72required:
73  - compatible
74  - reg
75  - interrupts
76  - interrupt-names
77  - clocks
78  - '#dma-cells'
79  - dma-channels
80  - power-domains
81  - resets
82
83additionalProperties: false
84
85examples:
86  - |
87    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
88    #include <dt-bindings/interrupt-controller/arm-gic.h>
89    #include <dt-bindings/power/r8a7790-sysc.h>
90
91    usb_dmac0: dma-controller@e65a0000 {
92        compatible = "renesas,r8a7790-usb-dmac", "renesas,usb-dmac";
93        reg = <0xe65a0000 0x100>;
94        interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
95                     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
96        interrupt-names = "ch0", "ch1";
97        clocks = <&cpg CPG_MOD 330>;
98        power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
99        resets = <&cpg 330>;
100        #dma-cells = <1>;
101        dma-channels = <2>;
102    };
103