1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the R-Car H3 (R8A77950) SoC
4 *
5 * Copyright (C) 2015 Renesas Electronics Corp.
6 */
7
8#include "r8a77951.dtsi"
9
10&audma0 {
11	iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
12	       <&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
13	       <&ipmmu_mp1 4>, <&ipmmu_mp1 5>,
14	       <&ipmmu_mp1 6>, <&ipmmu_mp1 7>,
15	       <&ipmmu_mp1 8>, <&ipmmu_mp1 9>,
16	       <&ipmmu_mp1 10>, <&ipmmu_mp1 11>,
17	       <&ipmmu_mp1 12>, <&ipmmu_mp1 13>,
18	       <&ipmmu_mp1 14>, <&ipmmu_mp1 15>;
19};
20
21&audma1 {
22	iommus = <&ipmmu_mp1 16>, <&ipmmu_mp1 17>,
23	       <&ipmmu_mp1 18>, <&ipmmu_mp1 19>,
24	       <&ipmmu_mp1 20>, <&ipmmu_mp1 21>,
25	       <&ipmmu_mp1 22>, <&ipmmu_mp1 23>,
26	       <&ipmmu_mp1 24>, <&ipmmu_mp1 25>,
27	       <&ipmmu_mp1 26>, <&ipmmu_mp1 27>,
28	       <&ipmmu_mp1 28>, <&ipmmu_mp1 29>,
29	       <&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
30};
31
32&du {
33	vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd3 0>;
34};
35
36&fcpvb1 {
37	iommus = <&ipmmu_vp0 7>;
38};
39
40&fcpf1 {
41	iommus = <&ipmmu_vp0 1>;
42};
43
44&fcpvi1 {
45	iommus = <&ipmmu_vp0 9>;
46};
47
48&fcpvd2 {
49	iommus = <&ipmmu_vi0 10>;
50};
51
52&gpio1 {
53	gpio-ranges = <&pfc 0 32 28>;
54};
55
56&ipmmu_vi0 {
57	renesas,ipmmu-main = <&ipmmu_mm 11>;
58};
59
60&ipmmu_vp0 {
61	renesas,ipmmu-main = <&ipmmu_mm 12>;
62};
63
64&ipmmu_vc0 {
65	renesas,ipmmu-main = <&ipmmu_mm 9>;
66};
67
68&ipmmu_vc1 {
69	renesas,ipmmu-main = <&ipmmu_mm 10>;
70};
71
72&ipmmu_rt {
73	renesas,ipmmu-main = <&ipmmu_mm 7>;
74};
75
76&soc {
77	/delete-node/ dma-controller@e6460000;
78	/delete-node/ dma-controller@e6470000;
79
80	ipmmu_mp1: mmu@ec680000 {
81		compatible = "renesas,ipmmu-r8a7795";
82		reg = <0 0xec680000 0 0x1000>;
83		renesas,ipmmu-main = <&ipmmu_mm 5>;
84		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
85		#iommu-cells = <1>;
86	};
87
88	ipmmu_sy: mmu@e7730000 {
89		compatible = "renesas,ipmmu-r8a7795";
90		reg = <0 0xe7730000 0 0x1000>;
91		renesas,ipmmu-main = <&ipmmu_mm 8>;
92		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
93		#iommu-cells = <1>;
94	};
95
96	/delete-node/ mmu@fd950000;
97	/delete-node/ mmu@fd960000;
98	/delete-node/ mmu@fd970000;
99	/delete-node/ mmu@febe0000;
100	/delete-node/ mmu@fe980000;
101
102	xhci1: usb@ee040000 {
103		compatible = "renesas,xhci-r8a7795", "renesas,rcar-gen3-xhci";
104		reg = <0 0xee040000 0 0xc00>;
105		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
106		clocks = <&cpg CPG_MOD 327>;
107		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
108		resets = <&cpg 327>;
109		status = "disabled";
110	};
111
112	/delete-node/ usb@e659c000;
113	/delete-node/ usb@ee0e0000;
114	/delete-node/ usb@ee0e0100;
115
116	/delete-node/ usb-phy@ee0e0200;
117
118	fdp1@fe948000 {
119		compatible = "renesas,fdp1";
120		reg = <0 0xfe948000 0 0x2400>;
121		interrupts = <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>;
122		clocks = <&cpg CPG_MOD 117>;
123		power-domains = <&sysc R8A7795_PD_A3VP>;
124		resets = <&cpg 117>;
125		renesas,fcp = <&fcpf2>;
126	};
127
128	fcpf2: fcp@fe952000 {
129		compatible = "renesas,fcpf";
130		reg = <0 0xfe952000 0 0x200>;
131		clocks = <&cpg CPG_MOD 613>;
132		power-domains = <&sysc R8A7795_PD_A3VP>;
133		resets = <&cpg 613>;
134		iommus = <&ipmmu_vp0 2>;
135	};
136
137	fcpvd3: fcp@fea3f000 {
138		compatible = "renesas,fcpv";
139		reg = <0 0xfea3f000 0 0x200>;
140		clocks = <&cpg CPG_MOD 600>;
141		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
142		resets = <&cpg 600>;
143		iommus = <&ipmmu_vi0 11>;
144	};
145
146	fcpvi2: fcp@fe9cf000 {
147		compatible = "renesas,fcpv";
148		reg = <0 0xfe9cf000 0 0x200>;
149		clocks = <&cpg CPG_MOD 609>;
150		power-domains = <&sysc R8A7795_PD_A3VP>;
151		resets = <&cpg 609>;
152		iommus = <&ipmmu_vp0 10>;
153	};
154
155	vspd3: vsp@fea38000 {
156		compatible = "renesas,vsp2";
157		reg = <0 0xfea38000 0 0x5000>;
158		interrupts = <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>;
159		clocks = <&cpg CPG_MOD 620>;
160		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
161		resets = <&cpg 620>;
162
163		renesas,fcp = <&fcpvd3>;
164	};
165
166	vspi2: vsp@fe9c0000 {
167		compatible = "renesas,vsp2";
168		reg = <0 0xfe9c0000 0 0x8000>;
169		interrupts = <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>;
170		clocks = <&cpg CPG_MOD 629>;
171		power-domains = <&sysc R8A7795_PD_A3VP>;
172		resets = <&cpg 629>;
173
174		renesas,fcp = <&fcpvi2>;
175	};
176
177	csi21: csi2@fea90000 {
178		compatible = "renesas,r8a7795-csi2";
179		reg = <0 0xfea90000 0 0x10000>;
180		interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
181		clocks = <&cpg CPG_MOD 713>;
182		power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
183		resets = <&cpg 713>;
184		status = "disabled";
185
186		ports {
187			#address-cells = <1>;
188			#size-cells = <0>;
189
190			port@1 {
191				#address-cells = <1>;
192				#size-cells = <0>;
193
194				reg = <1>;
195
196				csi21vin0: endpoint@0 {
197					reg = <0>;
198					remote-endpoint = <&vin0csi21>;
199				};
200				csi21vin1: endpoint@1 {
201					reg = <1>;
202					remote-endpoint = <&vin1csi21>;
203				};
204				csi21vin2: endpoint@2 {
205					reg = <2>;
206					remote-endpoint = <&vin2csi21>;
207				};
208				csi21vin3: endpoint@3 {
209					reg = <3>;
210					remote-endpoint = <&vin3csi21>;
211				};
212				csi21vin4: endpoint@4 {
213					reg = <4>;
214					remote-endpoint = <&vin4csi21>;
215				};
216				csi21vin5: endpoint@5 {
217					reg = <5>;
218					remote-endpoint = <&vin5csi21>;
219				};
220				csi21vin6: endpoint@6 {
221					reg = <6>;
222					remote-endpoint = <&vin6csi21>;
223				};
224				csi21vin7: endpoint@7 {
225					reg = <7>;
226					remote-endpoint = <&vin7csi21>;
227				};
228			};
229		};
230	};
231};
232
233&vin0 {
234	ports {
235		port@1 {
236			vin0csi21: endpoint@1 {
237				reg = <1>;
238				remote-endpoint = <&csi21vin0>;
239			};
240		};
241	};
242};
243
244&vin1 {
245	ports {
246		port@1 {
247			vin1csi21: endpoint@1 {
248				reg = <1>;
249				remote-endpoint = <&csi21vin1>;
250			};
251		};
252	};
253};
254
255&vin2 {
256	ports {
257		port@1 {
258			vin2csi21: endpoint@1 {
259				reg = <1>;
260				remote-endpoint = <&csi21vin2>;
261			};
262		};
263	};
264};
265
266&vin3 {
267	ports {
268		port@1 {
269			vin3csi21: endpoint@1 {
270				reg = <1>;
271				remote-endpoint = <&csi21vin3>;
272			};
273		};
274	};
275};
276
277&vin4 {
278	ports {
279		port@1 {
280			vin4csi21: endpoint@1 {
281				reg = <1>;
282				remote-endpoint = <&csi21vin4>;
283			};
284		};
285	};
286};
287
288&vin5 {
289	ports {
290		port@1 {
291			vin5csi21: endpoint@1 {
292				reg = <1>;
293				remote-endpoint = <&csi21vin5>;
294			};
295		};
296	};
297};
298
299&vin6 {
300	ports {
301		port@1 {
302			vin6csi21: endpoint@1 {
303				reg = <1>;
304				remote-endpoint = <&csi21vin6>;
305			};
306		};
307	};
308};
309
310&vin7 {
311	ports {
312		port@1 {
313			vin7csi21: endpoint@1 {
314				reg = <1>;
315				remote-endpoint = <&csi21vin7>;
316			};
317		};
318	};
319};
320