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