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