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