xref: /freebsd/sys/contrib/device-tree/Bindings/dma/renesas,rz-dmac.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2354d7675SEmmanuel Vadot%YAML 1.2
3354d7675SEmmanuel Vadot---
4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/dma/renesas,rz-dmac.yaml#
5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6354d7675SEmmanuel Vadot
7c9ccf3a3SEmmanuel Vadottitle: Renesas RZ/{G2L,G2UL,V2L} DMA Controller
8354d7675SEmmanuel Vadot
9354d7675SEmmanuel Vadotmaintainers:
10354d7675SEmmanuel Vadot  - Biju Das <biju.das.jz@bp.renesas.com>
11354d7675SEmmanuel Vadot
12354d7675SEmmanuel VadotallOf:
13cb7aa33aSEmmanuel Vadot  - $ref: dma-controller.yaml#
14354d7675SEmmanuel Vadot
15354d7675SEmmanuel Vadotproperties:
16354d7675SEmmanuel Vadot  compatible:
17354d7675SEmmanuel Vadot    items:
18354d7675SEmmanuel Vadot      - enum:
198d13bc63SEmmanuel Vadot          - renesas,r9a07g043-dmac # RZ/G2UL and RZ/Five
20354d7675SEmmanuel Vadot          - renesas,r9a07g044-dmac # RZ/G2{L,LC}
21c9ccf3a3SEmmanuel Vadot          - renesas,r9a07g054-dmac # RZ/V2L
22*b2d2a78aSEmmanuel Vadot          - renesas,r9a08g045-dmac # RZ/G3S
23354d7675SEmmanuel Vadot      - const: renesas,rz-dmac
24354d7675SEmmanuel Vadot
25354d7675SEmmanuel Vadot  reg:
26354d7675SEmmanuel Vadot    items:
27354d7675SEmmanuel Vadot      - description: Control and channel register block
28354d7675SEmmanuel Vadot      - description: DMA extended resource selector block
29354d7675SEmmanuel Vadot
30354d7675SEmmanuel Vadot  interrupts:
31354d7675SEmmanuel Vadot    maxItems: 17
32354d7675SEmmanuel Vadot
33354d7675SEmmanuel Vadot  interrupt-names:
34354d7675SEmmanuel Vadot    items:
35354d7675SEmmanuel Vadot      - const: error
36354d7675SEmmanuel Vadot      - const: ch0
37354d7675SEmmanuel Vadot      - const: ch1
38354d7675SEmmanuel Vadot      - const: ch2
39354d7675SEmmanuel Vadot      - const: ch3
40354d7675SEmmanuel Vadot      - const: ch4
41354d7675SEmmanuel Vadot      - const: ch5
42354d7675SEmmanuel Vadot      - const: ch6
43354d7675SEmmanuel Vadot      - const: ch7
44354d7675SEmmanuel Vadot      - const: ch8
45354d7675SEmmanuel Vadot      - const: ch9
46354d7675SEmmanuel Vadot      - const: ch10
47354d7675SEmmanuel Vadot      - const: ch11
48354d7675SEmmanuel Vadot      - const: ch12
49354d7675SEmmanuel Vadot      - const: ch13
50354d7675SEmmanuel Vadot      - const: ch14
51354d7675SEmmanuel Vadot      - const: ch15
52354d7675SEmmanuel Vadot
53354d7675SEmmanuel Vadot  clocks:
54354d7675SEmmanuel Vadot    items:
55354d7675SEmmanuel Vadot      - description: DMA main clock
56354d7675SEmmanuel Vadot      - description: DMA register access clock
57354d7675SEmmanuel Vadot
58fac71e4eSEmmanuel Vadot  clock-names:
59fac71e4eSEmmanuel Vadot    items:
60fac71e4eSEmmanuel Vadot      - const: main
61fac71e4eSEmmanuel Vadot      - const: register
62fac71e4eSEmmanuel Vadot
63354d7675SEmmanuel Vadot  '#dma-cells':
64354d7675SEmmanuel Vadot    const: 1
65354d7675SEmmanuel Vadot    description:
66354d7675SEmmanuel Vadot      The cell specifies the encoded MID/RID values of the DMAC port
67354d7675SEmmanuel Vadot      connected to the DMA client and the slave channel configuration
68354d7675SEmmanuel Vadot      parameters.
69354d7675SEmmanuel Vadot      bits[0:9] - Specifies MID/RID value
70354d7675SEmmanuel Vadot      bit[10] - Specifies DMA request high enable (HIEN)
71354d7675SEmmanuel Vadot      bit[11] - Specifies DMA request detection type (LVL)
72354d7675SEmmanuel Vadot      bits[12:14] - Specifies DMAACK output mode (AM)
73354d7675SEmmanuel Vadot      bit[15] - Specifies Transfer Mode (TM)
74354d7675SEmmanuel Vadot
75354d7675SEmmanuel Vadot  dma-channels:
76354d7675SEmmanuel Vadot    const: 16
77354d7675SEmmanuel Vadot
78354d7675SEmmanuel Vadot  power-domains:
79354d7675SEmmanuel Vadot    maxItems: 1
80354d7675SEmmanuel Vadot
81354d7675SEmmanuel Vadot  resets:
82354d7675SEmmanuel Vadot    items:
83354d7675SEmmanuel Vadot      - description: Reset for DMA ARESETN reset terminal
84354d7675SEmmanuel Vadot      - description: Reset for DMA RST_ASYNC reset terminal
85354d7675SEmmanuel Vadot
86fac71e4eSEmmanuel Vadot  reset-names:
87fac71e4eSEmmanuel Vadot    items:
88fac71e4eSEmmanuel Vadot      - const: arst
89fac71e4eSEmmanuel Vadot      - const: rst_async
90fac71e4eSEmmanuel Vadot
91354d7675SEmmanuel Vadotrequired:
92354d7675SEmmanuel Vadot  - compatible
93354d7675SEmmanuel Vadot  - reg
94354d7675SEmmanuel Vadot  - interrupts
95354d7675SEmmanuel Vadot  - interrupt-names
96354d7675SEmmanuel Vadot  - clocks
97fac71e4eSEmmanuel Vadot  - clock-names
98354d7675SEmmanuel Vadot  - '#dma-cells'
99354d7675SEmmanuel Vadot  - dma-channels
100354d7675SEmmanuel Vadot  - power-domains
101354d7675SEmmanuel Vadot  - resets
102fac71e4eSEmmanuel Vadot  - reset-names
103354d7675SEmmanuel Vadot
104354d7675SEmmanuel VadotadditionalProperties: false
105354d7675SEmmanuel Vadot
106354d7675SEmmanuel Vadotexamples:
107354d7675SEmmanuel Vadot  - |
108354d7675SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
109354d7675SEmmanuel Vadot    #include <dt-bindings/clock/r9a07g044-cpg.h>
110354d7675SEmmanuel Vadot
111354d7675SEmmanuel Vadot    dmac: dma-controller@11820000 {
112354d7675SEmmanuel Vadot        compatible = "renesas,r9a07g044-dmac",
113354d7675SEmmanuel Vadot                     "renesas,rz-dmac";
114354d7675SEmmanuel Vadot        reg = <0x11820000 0x10000>,
115354d7675SEmmanuel Vadot              <0x11830000 0x10000>;
116354d7675SEmmanuel Vadot        interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>,
117354d7675SEmmanuel Vadot                     <GIC_SPI 125 IRQ_TYPE_EDGE_RISING>,
118354d7675SEmmanuel Vadot                     <GIC_SPI 126 IRQ_TYPE_EDGE_RISING>,
119354d7675SEmmanuel Vadot                     <GIC_SPI 127 IRQ_TYPE_EDGE_RISING>,
120354d7675SEmmanuel Vadot                     <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>,
121354d7675SEmmanuel Vadot                     <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>,
122354d7675SEmmanuel Vadot                     <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>,
123354d7675SEmmanuel Vadot                     <GIC_SPI 131 IRQ_TYPE_EDGE_RISING>,
124354d7675SEmmanuel Vadot                     <GIC_SPI 132 IRQ_TYPE_EDGE_RISING>,
125354d7675SEmmanuel Vadot                     <GIC_SPI 133 IRQ_TYPE_EDGE_RISING>,
126354d7675SEmmanuel Vadot                     <GIC_SPI 134 IRQ_TYPE_EDGE_RISING>,
127354d7675SEmmanuel Vadot                     <GIC_SPI 135 IRQ_TYPE_EDGE_RISING>,
128354d7675SEmmanuel Vadot                     <GIC_SPI 136 IRQ_TYPE_EDGE_RISING>,
129354d7675SEmmanuel Vadot                     <GIC_SPI 137 IRQ_TYPE_EDGE_RISING>,
130354d7675SEmmanuel Vadot                     <GIC_SPI 138 IRQ_TYPE_EDGE_RISING>,
131354d7675SEmmanuel Vadot                     <GIC_SPI 139 IRQ_TYPE_EDGE_RISING>,
132354d7675SEmmanuel Vadot                     <GIC_SPI 140 IRQ_TYPE_EDGE_RISING>;
133354d7675SEmmanuel Vadot        interrupt-names = "error",
134354d7675SEmmanuel Vadot                          "ch0", "ch1", "ch2", "ch3",
135354d7675SEmmanuel Vadot                          "ch4", "ch5", "ch6", "ch7",
136354d7675SEmmanuel Vadot                          "ch8", "ch9", "ch10", "ch11",
137354d7675SEmmanuel Vadot                          "ch12", "ch13", "ch14", "ch15";
138354d7675SEmmanuel Vadot        clocks = <&cpg CPG_MOD R9A07G044_DMAC_ACLK>,
139354d7675SEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_DMAC_PCLK>;
140fac71e4eSEmmanuel Vadot        clock-names = "main", "register";
141354d7675SEmmanuel Vadot        power-domains = <&cpg>;
142354d7675SEmmanuel Vadot        resets = <&cpg R9A07G044_DMAC_ARESETN>,
143354d7675SEmmanuel Vadot                 <&cpg R9A07G044_DMAC_RST_ASYNC>;
144fac71e4eSEmmanuel Vadot        reset-names = "arst", "rst_async";
145354d7675SEmmanuel Vadot        #dma-cells = <1>;
146354d7675SEmmanuel Vadot        dma-channels = <16>;
147354d7675SEmmanuel Vadot    };
148