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