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