xref: /freebsd/sys/contrib/device-tree/Bindings/dma/renesas,rz-dmac.yaml (revision 354d7675fe12ace9cde344cb79c7ded792802f88)
1*354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*354d7675SEmmanuel Vadot%YAML 1.2
3*354d7675SEmmanuel Vadot---
4*354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/dma/renesas,rz-dmac.yaml#
5*354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*354d7675SEmmanuel Vadot
7*354d7675SEmmanuel Vadottitle: Renesas RZ/G2L DMA Controller
8*354d7675SEmmanuel Vadot
9*354d7675SEmmanuel Vadotmaintainers:
10*354d7675SEmmanuel Vadot  - Biju Das <biju.das.jz@bp.renesas.com>
11*354d7675SEmmanuel Vadot
12*354d7675SEmmanuel VadotallOf:
13*354d7675SEmmanuel Vadot  - $ref: "dma-controller.yaml#"
14*354d7675SEmmanuel Vadot
15*354d7675SEmmanuel Vadotproperties:
16*354d7675SEmmanuel Vadot  compatible:
17*354d7675SEmmanuel Vadot    items:
18*354d7675SEmmanuel Vadot      - enum:
19*354d7675SEmmanuel Vadot          - renesas,r9a07g044-dmac # RZ/G2{L,LC}
20*354d7675SEmmanuel Vadot      - const: renesas,rz-dmac
21*354d7675SEmmanuel Vadot
22*354d7675SEmmanuel Vadot  reg:
23*354d7675SEmmanuel Vadot    items:
24*354d7675SEmmanuel Vadot      - description: Control and channel register block
25*354d7675SEmmanuel Vadot      - description: DMA extended resource selector block
26*354d7675SEmmanuel Vadot
27*354d7675SEmmanuel Vadot  interrupts:
28*354d7675SEmmanuel Vadot    maxItems: 17
29*354d7675SEmmanuel Vadot
30*354d7675SEmmanuel Vadot  interrupt-names:
31*354d7675SEmmanuel Vadot    items:
32*354d7675SEmmanuel Vadot      - const: error
33*354d7675SEmmanuel Vadot      - const: ch0
34*354d7675SEmmanuel Vadot      - const: ch1
35*354d7675SEmmanuel Vadot      - const: ch2
36*354d7675SEmmanuel Vadot      - const: ch3
37*354d7675SEmmanuel Vadot      - const: ch4
38*354d7675SEmmanuel Vadot      - const: ch5
39*354d7675SEmmanuel Vadot      - const: ch6
40*354d7675SEmmanuel Vadot      - const: ch7
41*354d7675SEmmanuel Vadot      - const: ch8
42*354d7675SEmmanuel Vadot      - const: ch9
43*354d7675SEmmanuel Vadot      - const: ch10
44*354d7675SEmmanuel Vadot      - const: ch11
45*354d7675SEmmanuel Vadot      - const: ch12
46*354d7675SEmmanuel Vadot      - const: ch13
47*354d7675SEmmanuel Vadot      - const: ch14
48*354d7675SEmmanuel Vadot      - const: ch15
49*354d7675SEmmanuel Vadot
50*354d7675SEmmanuel Vadot  clocks:
51*354d7675SEmmanuel Vadot    items:
52*354d7675SEmmanuel Vadot      - description: DMA main clock
53*354d7675SEmmanuel Vadot      - description: DMA register access clock
54*354d7675SEmmanuel Vadot
55*354d7675SEmmanuel Vadot  '#dma-cells':
56*354d7675SEmmanuel Vadot    const: 1
57*354d7675SEmmanuel Vadot    description:
58*354d7675SEmmanuel Vadot      The cell specifies the encoded MID/RID values of the DMAC port
59*354d7675SEmmanuel Vadot      connected to the DMA client and the slave channel configuration
60*354d7675SEmmanuel Vadot      parameters.
61*354d7675SEmmanuel Vadot      bits[0:9] - Specifies MID/RID value
62*354d7675SEmmanuel Vadot      bit[10] - Specifies DMA request high enable (HIEN)
63*354d7675SEmmanuel Vadot      bit[11] - Specifies DMA request detection type (LVL)
64*354d7675SEmmanuel Vadot      bits[12:14] - Specifies DMAACK output mode (AM)
65*354d7675SEmmanuel Vadot      bit[15] - Specifies Transfer Mode (TM)
66*354d7675SEmmanuel Vadot
67*354d7675SEmmanuel Vadot  dma-channels:
68*354d7675SEmmanuel Vadot    const: 16
69*354d7675SEmmanuel Vadot
70*354d7675SEmmanuel Vadot  power-domains:
71*354d7675SEmmanuel Vadot    maxItems: 1
72*354d7675SEmmanuel Vadot
73*354d7675SEmmanuel Vadot  resets:
74*354d7675SEmmanuel Vadot    items:
75*354d7675SEmmanuel Vadot      - description: Reset for DMA ARESETN reset terminal
76*354d7675SEmmanuel Vadot      - description: Reset for DMA RST_ASYNC reset terminal
77*354d7675SEmmanuel Vadot
78*354d7675SEmmanuel Vadotrequired:
79*354d7675SEmmanuel Vadot  - compatible
80*354d7675SEmmanuel Vadot  - reg
81*354d7675SEmmanuel Vadot  - interrupts
82*354d7675SEmmanuel Vadot  - interrupt-names
83*354d7675SEmmanuel Vadot  - clocks
84*354d7675SEmmanuel Vadot  - '#dma-cells'
85*354d7675SEmmanuel Vadot  - dma-channels
86*354d7675SEmmanuel Vadot  - power-domains
87*354d7675SEmmanuel Vadot  - resets
88*354d7675SEmmanuel Vadot
89*354d7675SEmmanuel VadotadditionalProperties: false
90*354d7675SEmmanuel Vadot
91*354d7675SEmmanuel Vadotexamples:
92*354d7675SEmmanuel Vadot  - |
93*354d7675SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
94*354d7675SEmmanuel Vadot    #include <dt-bindings/clock/r9a07g044-cpg.h>
95*354d7675SEmmanuel Vadot
96*354d7675SEmmanuel Vadot    dmac: dma-controller@11820000 {
97*354d7675SEmmanuel Vadot        compatible = "renesas,r9a07g044-dmac",
98*354d7675SEmmanuel Vadot                     "renesas,rz-dmac";
99*354d7675SEmmanuel Vadot        reg = <0x11820000 0x10000>,
100*354d7675SEmmanuel Vadot              <0x11830000 0x10000>;
101*354d7675SEmmanuel Vadot        interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>,
102*354d7675SEmmanuel Vadot                     <GIC_SPI 125 IRQ_TYPE_EDGE_RISING>,
103*354d7675SEmmanuel Vadot                     <GIC_SPI 126 IRQ_TYPE_EDGE_RISING>,
104*354d7675SEmmanuel Vadot                     <GIC_SPI 127 IRQ_TYPE_EDGE_RISING>,
105*354d7675SEmmanuel Vadot                     <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>,
106*354d7675SEmmanuel Vadot                     <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>,
107*354d7675SEmmanuel Vadot                     <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>,
108*354d7675SEmmanuel Vadot                     <GIC_SPI 131 IRQ_TYPE_EDGE_RISING>,
109*354d7675SEmmanuel Vadot                     <GIC_SPI 132 IRQ_TYPE_EDGE_RISING>,
110*354d7675SEmmanuel Vadot                     <GIC_SPI 133 IRQ_TYPE_EDGE_RISING>,
111*354d7675SEmmanuel Vadot                     <GIC_SPI 134 IRQ_TYPE_EDGE_RISING>,
112*354d7675SEmmanuel Vadot                     <GIC_SPI 135 IRQ_TYPE_EDGE_RISING>,
113*354d7675SEmmanuel Vadot                     <GIC_SPI 136 IRQ_TYPE_EDGE_RISING>,
114*354d7675SEmmanuel Vadot                     <GIC_SPI 137 IRQ_TYPE_EDGE_RISING>,
115*354d7675SEmmanuel Vadot                     <GIC_SPI 138 IRQ_TYPE_EDGE_RISING>,
116*354d7675SEmmanuel Vadot                     <GIC_SPI 139 IRQ_TYPE_EDGE_RISING>,
117*354d7675SEmmanuel Vadot                     <GIC_SPI 140 IRQ_TYPE_EDGE_RISING>;
118*354d7675SEmmanuel Vadot        interrupt-names = "error",
119*354d7675SEmmanuel Vadot                          "ch0", "ch1", "ch2", "ch3",
120*354d7675SEmmanuel Vadot                          "ch4", "ch5", "ch6", "ch7",
121*354d7675SEmmanuel Vadot                          "ch8", "ch9", "ch10", "ch11",
122*354d7675SEmmanuel Vadot                          "ch12", "ch13", "ch14", "ch15";
123*354d7675SEmmanuel Vadot        clocks = <&cpg CPG_MOD R9A07G044_DMAC_ACLK>,
124*354d7675SEmmanuel Vadot                 <&cpg CPG_MOD R9A07G044_DMAC_PCLK>;
125*354d7675SEmmanuel Vadot        power-domains = <&cpg>;
126*354d7675SEmmanuel Vadot        resets = <&cpg R9A07G044_DMAC_ARESETN>,
127*354d7675SEmmanuel Vadot                 <&cpg R9A07G044_DMAC_RST_ASYNC>;
128*354d7675SEmmanuel Vadot        #dma-cells = <1>;
129*354d7675SEmmanuel Vadot        dma-channels = <16>;
130*354d7675SEmmanuel Vadot    };
131