1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 * Device Tree Source for the RZ/V2M SoC
5 * Copyright (C) 2022 Renesas Electronics Corp.
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 #include <dt-bindings/clock/r9a09g011-cpg.h>
12 compatible = "renesas,r9a09g011";
16 /* clock can be either from exclk or crystal oscillator (XIN/XOUT) */
18 compatible = "fixed-clock";
20 /* This value must be overridden by the board */
21 clock-frequency = <0>;
37 compatible = "arm,cortex-a53";
40 next-level-cache = <&L2_CA53>;
41 clocks = <&cpg CPG_MOD R9A09G011_CA53_CLK>;
44 L2_CA53: cache-controller-0 {
52 compatible = "simple-bus";
53 interrupt-parent = <&gic>;
58 gic: interrupt-controller@82010000 {
59 compatible = "arm,gic-400";
60 #interrupt-cells = <3>;
63 reg = <0x0 0x82010000 0 0x1000>,
64 <0x0 0x82020000 0 0x20000>,
65 <0x0 0x82040000 0 0x20000>,
66 <0x0 0x82060000 0 0x20000>;
67 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_HIGH)>;
68 clocks = <&cpg CPG_MOD R9A09G011_GIC_CLK>;
73 compatible = "renesas,sdhi-r9a09g011",
74 "renesas,rcar-gen3-sdhi";
75 reg = <0x0 0x85000000 0 0x2000>;
76 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>,
77 <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
78 clocks = <&cpg CPG_MOD R9A09G011_SDI0_IMCLK>,
79 <&cpg CPG_MOD R9A09G011_SDI0_CLK_HS>,
80 <&cpg CPG_MOD R9A09G011_SDI0_IMCLK2>,
81 <&cpg CPG_MOD R9A09G011_SDI0_ACLK>;
82 clock-names = "core", "clkh", "cd", "aclk";
83 resets = <&cpg R9A09G011_SDI0_IXRST>;
84 power-domains = <&cpg>;
89 compatible = "renesas,sdhi-r9a09g011",
90 "renesas,rcar-gen3-sdhi";
91 reg = <0x0 0x85010000 0 0x2000>;
92 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
93 <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
94 clocks = <&cpg CPG_MOD R9A09G011_SDI1_IMCLK>,
95 <&cpg CPG_MOD R9A09G011_SDI1_CLK_HS>,
96 <&cpg CPG_MOD R9A09G011_SDI1_IMCLK2>,
97 <&cpg CPG_MOD R9A09G011_SDI1_ACLK>;
98 clock-names = "core", "clkh", "cd", "aclk";
99 resets = <&cpg R9A09G011_SDI1_IXRST>;
100 power-domains = <&cpg>;
105 compatible = "renesas,sdhi-r9a09g011",
106 "renesas,rcar-gen3-sdhi";
107 reg = <0x0 0x85020000 0 0x2000>;
108 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
109 <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
110 clocks = <&cpg CPG_MOD R9A09G011_EMM_IMCLK>,
111 <&cpg CPG_MOD R9A09G011_EMM_CLK_HS>,
112 <&cpg CPG_MOD R9A09G011_EMM_IMCLK2>,
113 <&cpg CPG_MOD R9A09G011_EMM_ACLK>;
114 clock-names = "core", "clkh", "cd", "aclk";
115 resets = <&cpg R9A09G011_EMM_IXRST>;
116 power-domains = <&cpg>;
120 usb3drd: usb3drd@85070400 {
121 compatible = "renesas,r9a09g011-usb3drd",
122 "renesas,rzv2m-usb3drd";
123 reg = <0x0 0x85070400 0x0 0x100>;
124 interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>,
125 <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>,
126 <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>;
127 interrupt-names = "drd", "bc", "gpi";
128 clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>,
129 <&cpg CPG_MOD R9A09G011_USB_PCLK>;
130 clock-names = "axi", "reg";
131 resets = <&cpg R9A09G011_USB_DRD_RESET>;
132 power-domains = <&cpg>;
134 #address-cells = <2>;
138 usb3host: usb@85060000 {
139 compatible = "renesas,r9a09g011-xhci",
140 "renesas,rzv2m-xhci";
141 reg = <0 0x85060000 0 0x2000>;
142 interrupts = <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>;
143 clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_H>,
144 <&cpg CPG_MOD R9A09G011_USB_PCLK>;
145 clock-names = "axi", "reg";
146 resets = <&cpg R9A09G011_USB_ARESETN_H>;
147 power-domains = <&cpg>;
151 usb3peri: usb3peri@85070000 {
152 compatible = "renesas,r9a09g011-usb3-peri",
153 "renesas,rzv2m-usb3-peri";
154 reg = <0x0 0x85070000 0x0 0x400>;
155 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
156 clocks = <&cpg CPG_MOD R9A09G011_USB_ACLK_P>,
157 <&cpg CPG_MOD R9A09G011_USB_PCLK>;
158 clock-names = "axi", "reg";
159 resets = <&cpg R9A09G011_USB_ARESETN_P>;
160 power-domains = <&cpg>;
165 avb: ethernet@a3300000 {
166 compatible = "renesas,etheravb-r9a09g011","renesas,etheravb-rzv2m";
167 reg = <0 0xa3300000 0 0x800>;
168 interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, /* ch0: Rx0 BE */
169 <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>, /* ch1: Rx1 NC */
170 <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
171 <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
172 <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
173 <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
174 <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>,
175 <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>,
176 <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>,
177 <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
178 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
179 <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
183 <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
184 <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
185 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
186 <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, /* ch18: Tx0 BE */
187 <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>, /* ch19: Tx1 NC */
188 <GIC_SPI 271 IRQ_TYPE_LEVEL_HIGH>,
189 <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
190 <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>, /* DiA */
191 <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>, /* DiB */
192 <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>, /* Line1_A */
193 <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>, /* Line1_B */
194 <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>, /* Line2_A */
195 <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>, /* Line2_B */
196 <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>; /* Line3 MAC */
197 interrupt-names = "ch0", "ch1", "ch2", "ch3",
198 "ch4", "ch5", "ch6", "ch7",
199 "ch8", "ch9", "ch10", "ch11",
200 "ch12", "ch13", "ch14", "ch15",
201 "ch16", "ch17", "ch18", "ch19",
202 "ch20", "ch21", "dia", "dib",
203 "err_a", "err_b", "mgmt_a", "mgmt_b",
205 clocks = <&cpg CPG_MOD R9A09G011_ETH0_CLK_AXI>,
206 <&cpg CPG_MOD R9A09G011_ETH0_CLK_CHI>,
207 <&cpg CPG_MOD R9A09G011_ETH0_GPTP_EXT>;
208 clock-names = "axi", "chi", "gptp";
209 resets = <&cpg R9A09G011_ETH0_RST_HW_N>;
210 power-domains = <&cpg>;
211 #address-cells = <1>;
216 cpg: clock-controller@a3500000 {
217 compatible = "renesas,r9a09g011-cpg";
218 reg = <0 0xa3500000 0 0x1000>;
219 clocks = <&extal_clk>;
220 clock-names = "extal";
223 #power-domain-cells = <0>;
227 compatible = "renesas,r9a09g011-pwc", "renesas,rzv2m-pwc";
228 reg = <0 0xa3700000 0 0x800>;
234 sys: system-controller@a3f03000 {
235 compatible = "renesas,r9a09g011-sys";
236 reg = <0 0xa3f03000 0 0x400>;
240 compatible = "renesas,rzv2m-csi";
241 reg = <0 0xa4020000 0 0x80>;
242 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
243 clocks = <&cpg CPG_MOD R9A09G011_CSI0_CLK>,
244 <&cpg CPG_MOD R9A09G011_CPERI_GRPG_PCLK>;
245 clock-names = "csiclk", "pclk";
246 resets = <&cpg R9A09G011_CSI_GPG_PRESETN>;
247 power-domains = <&cpg>;
248 #address-cells = <1>;
254 compatible = "renesas,rzv2m-csi";
255 reg = <0 0xa4020200 0 0x80>;
256 interrupts = <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>;
257 clocks = <&cpg CPG_MOD R9A09G011_CSI4_CLK>,
258 <&cpg CPG_MOD R9A09G011_CPERI_GRPH_PCLK>;
259 clock-names = "csiclk", "pclk";
260 resets = <&cpg R9A09G011_CSI_GPH_PRESETN>;
261 power-domains = <&cpg>;
262 #address-cells = <1>;
268 #address-cells = <1>;
270 compatible = "renesas,r9a09g011-i2c", "renesas,rzv2m-i2c";
271 reg = <0 0xa4030000 0 0x80>;
272 interrupts = <GIC_SPI 232 IRQ_TYPE_EDGE_RISING>,
273 <GIC_SPI 236 IRQ_TYPE_EDGE_RISING>;
274 interrupt-names = "tia", "tis";
275 clocks = <&cpg CPG_MOD R9A09G011_IIC_PCLK0>;
276 resets = <&cpg R9A09G011_IIC_GPA_PRESETN>;
277 power-domains = <&cpg>;
282 #address-cells = <1>;
284 compatible = "renesas,r9a09g011-i2c", "renesas,rzv2m-i2c";
285 reg = <0 0xa4030100 0 0x80>;
286 interrupts = <GIC_SPI 234 IRQ_TYPE_EDGE_RISING>,
287 <GIC_SPI 238 IRQ_TYPE_EDGE_RISING>;
288 interrupt-names = "tia", "tis";
289 clocks = <&cpg CPG_MOD R9A09G011_IIC_PCLK1>;
290 resets = <&cpg R9A09G011_IIC_GPB_PRESETN>;
291 power-domains = <&cpg>;
295 uart0: serial@a4040000 {
296 compatible = "renesas,r9a09g011-uart", "renesas,em-uart";
297 reg = <0 0xa4040000 0 0x80>;
298 interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
299 clocks = <&cpg CPG_MOD R9A09G011_URT0_CLK>,
300 <&cpg CPG_MOD R9A09G011_URT_PCLK>;
301 clock-names = "sclk", "pclk";
305 wdt0: watchdog@a4050000 {
306 compatible = "renesas,r9a09g011-wdt",
308 reg = <0 0xa4050000 0 0x80>;
309 clocks = <&cpg CPG_MOD R9A09G011_WDT0_PCLK>,
310 <&cpg CPG_MOD R9A09G011_WDT0_CLK>;
311 clock-names = "pclk", "oscclk";
312 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
313 resets = <&cpg R9A09G011_WDT0_PRESETN>;
314 power-domains = <&cpg>;
318 pinctrl: pinctrl@b6250000 {
319 compatible = "renesas,r9a09g011-pinctrl";
320 reg = <0 0xb6250000 0 0x800>;
323 gpio-ranges = <&pinctrl 0 0 352>;
324 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
325 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
326 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
327 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
328 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
329 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
330 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
331 <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
332 <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
333 <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
334 <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
335 <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
336 <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
337 <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
338 <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
339 <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
340 <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
341 <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
342 <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
343 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
344 <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
345 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
346 <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
347 <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
348 <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
349 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
350 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
351 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
352 <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
353 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
354 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
355 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
356 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
357 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
358 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
359 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
360 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
361 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
362 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
363 clocks = <&cpg CPG_MOD R9A09G011_PFC_PCLK>;
364 power-domains = <&cpg>;
365 resets = <&cpg R9A09G011_PFC_PRESETN>;
370 compatible = "arm,armv8-timer";
371 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
372 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
373 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
374 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;