xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi (revision 3e287cf6ef954947365a4aca6580ea1d6bee3a18)
1e8020874SLiviu Dudau	/*
2e8020874SLiviu Dudau	 *  Devices shared by all Juno boards
3e8020874SLiviu Dudau	 */
4e8020874SLiviu Dudau
579502355SLiviu Dudau	memtimer: timer@2a810000 {
679502355SLiviu Dudau		compatible = "arm,armv7-timer-mem";
779502355SLiviu Dudau		reg = <0x0 0x2a810000 0x0 0x10000>;
879502355SLiviu Dudau		clock-frequency = <50000000>;
979502355SLiviu Dudau		#address-cells = <2>;
1079502355SLiviu Dudau		#size-cells = <2>;
1179502355SLiviu Dudau		ranges;
1279502355SLiviu Dudau		status = "disabled";
1379502355SLiviu Dudau		frame@2a830000 {
1479502355SLiviu Dudau			frame-number = <1>;
1579502355SLiviu Dudau			interrupts = <0 60 4>;
1679502355SLiviu Dudau			reg = <0x0 0x2a830000 0x0 0x10000>;
1779502355SLiviu Dudau		};
1879502355SLiviu Dudau	};
1979502355SLiviu Dudau
20ff9a6262SSudeep Holla	mailbox: mhu@2b1f0000 {
21ff9a6262SSudeep Holla		compatible = "arm,mhu", "arm,primecell";
22ff9a6262SSudeep Holla		reg = <0x0 0x2b1f0000 0x0 0x1000>;
23ff9a6262SSudeep Holla		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
24ff9a6262SSudeep Holla			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
25ff9a6262SSudeep Holla		interrupt-names = "mhu_lpri_rx",
26ff9a6262SSudeep Holla				  "mhu_hpri_rx";
27ff9a6262SSudeep Holla		#mbox-cells = <1>;
28ff9a6262SSudeep Holla		clocks = <&soc_refclk100mhz>;
29ff9a6262SSudeep Holla		clock-names = "apb_pclk";
30ff9a6262SSudeep Holla	};
31ff9a6262SSudeep Holla
32e8020874SLiviu Dudau	gic: interrupt-controller@2c010000 {
33e8020874SLiviu Dudau		compatible = "arm,gic-400", "arm,cortex-a15-gic";
34e8020874SLiviu Dudau		reg = <0x0 0x2c010000 0 0x1000>,
35e8020874SLiviu Dudau		      <0x0 0x2c02f000 0 0x2000>,
36e8020874SLiviu Dudau		      <0x0 0x2c04f000 0 0x2000>,
37e8020874SLiviu Dudau		      <0x0 0x2c06f000 0 0x2000>;
389e6f374fSLiviu Dudau		#address-cells = <2>;
39e8020874SLiviu Dudau		#interrupt-cells = <3>;
409e6f374fSLiviu Dudau		#size-cells = <2>;
41e8020874SLiviu Dudau		interrupt-controller;
42e8020874SLiviu Dudau		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
439e6f374fSLiviu Dudau		ranges = <0 0 0 0x2c1c0000 0 0x40000>;
449e6f374fSLiviu Dudau		v2m_0: v2m@0 {
459e6f374fSLiviu Dudau			compatible = "arm,gic-v2m-frame";
469e6f374fSLiviu Dudau			msi-controller;
479e6f374fSLiviu Dudau			reg = <0 0 0 0x1000>;
489e6f374fSLiviu Dudau		};
49e8020874SLiviu Dudau	};
50e8020874SLiviu Dudau
51e8020874SLiviu Dudau	timer {
52e8020874SLiviu Dudau		compatible = "arm,armv8-timer";
53e8020874SLiviu Dudau		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
54e8020874SLiviu Dudau			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
55e8020874SLiviu Dudau			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
56e8020874SLiviu Dudau			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
57e8020874SLiviu Dudau	};
58e8020874SLiviu Dudau
59*3e287cf6SSudeep Holla	/*
60*3e287cf6SSudeep Holla	 * Juno TRMs specify the size for these coresight components as 64K.
61*3e287cf6SSudeep Holla	 * The actual size is just 4K though 64K is reserved. Access to the
62*3e287cf6SSudeep Holla	 * unmapped reserved region results in a DECERR response.
63*3e287cf6SSudeep Holla	 */
64*3e287cf6SSudeep Holla	etf@20010000 {
65*3e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
66*3e287cf6SSudeep Holla		reg = <0 0x20010000 0 0x1000>;
67*3e287cf6SSudeep Holla
68*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
69*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
70*3e287cf6SSudeep Holla		ports {
71*3e287cf6SSudeep Holla			#address-cells = <1>;
72*3e287cf6SSudeep Holla			#size-cells = <0>;
73*3e287cf6SSudeep Holla
74*3e287cf6SSudeep Holla			/* input port */
75*3e287cf6SSudeep Holla			port@0 {
76*3e287cf6SSudeep Holla				reg = <0>;
77*3e287cf6SSudeep Holla				etf_in_port: endpoint {
78*3e287cf6SSudeep Holla					slave-mode;
79*3e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_out_port>;
80*3e287cf6SSudeep Holla				};
81*3e287cf6SSudeep Holla			};
82*3e287cf6SSudeep Holla
83*3e287cf6SSudeep Holla			/* output port */
84*3e287cf6SSudeep Holla			port@1 {
85*3e287cf6SSudeep Holla				reg = <0>;
86*3e287cf6SSudeep Holla				etf_out_port: endpoint {
87*3e287cf6SSudeep Holla					remote-endpoint = <&replicator_in_port0>;
88*3e287cf6SSudeep Holla				};
89*3e287cf6SSudeep Holla			};
90*3e287cf6SSudeep Holla		};
91*3e287cf6SSudeep Holla	};
92*3e287cf6SSudeep Holla
93*3e287cf6SSudeep Holla	tpiu@20030000 {
94*3e287cf6SSudeep Holla		compatible = "arm,coresight-tpiu", "arm,primecell";
95*3e287cf6SSudeep Holla		reg = <0 0x20030000 0 0x1000>;
96*3e287cf6SSudeep Holla
97*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
98*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
99*3e287cf6SSudeep Holla		port {
100*3e287cf6SSudeep Holla			tpiu_in_port: endpoint {
101*3e287cf6SSudeep Holla				slave-mode;
102*3e287cf6SSudeep Holla				remote-endpoint = <&replicator_out_port0>;
103*3e287cf6SSudeep Holla			};
104*3e287cf6SSudeep Holla		};
105*3e287cf6SSudeep Holla	};
106*3e287cf6SSudeep Holla
107*3e287cf6SSudeep Holla	main-funnel@20040000 {
108*3e287cf6SSudeep Holla		compatible = "arm,coresight-funnel", "arm,primecell";
109*3e287cf6SSudeep Holla		reg = <0 0x20040000 0 0x1000>;
110*3e287cf6SSudeep Holla
111*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
112*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
113*3e287cf6SSudeep Holla		ports {
114*3e287cf6SSudeep Holla			#address-cells = <1>;
115*3e287cf6SSudeep Holla			#size-cells = <0>;
116*3e287cf6SSudeep Holla
117*3e287cf6SSudeep Holla			port@0 {
118*3e287cf6SSudeep Holla				reg = <0>;
119*3e287cf6SSudeep Holla				main_funnel_out_port: endpoint {
120*3e287cf6SSudeep Holla					remote-endpoint = <&etf_in_port>;
121*3e287cf6SSudeep Holla				};
122*3e287cf6SSudeep Holla			};
123*3e287cf6SSudeep Holla
124*3e287cf6SSudeep Holla			port@1 {
125*3e287cf6SSudeep Holla				reg = <0>;
126*3e287cf6SSudeep Holla				main_funnel_in_port0: endpoint {
127*3e287cf6SSudeep Holla					slave-mode;
128*3e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_out_port>;
129*3e287cf6SSudeep Holla				};
130*3e287cf6SSudeep Holla			};
131*3e287cf6SSudeep Holla
132*3e287cf6SSudeep Holla			port@2 {
133*3e287cf6SSudeep Holla				reg = <1>;
134*3e287cf6SSudeep Holla				main_funnel_in_port1: endpoint {
135*3e287cf6SSudeep Holla					slave-mode;
136*3e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_out_port>;
137*3e287cf6SSudeep Holla				};
138*3e287cf6SSudeep Holla			};
139*3e287cf6SSudeep Holla
140*3e287cf6SSudeep Holla		};
141*3e287cf6SSudeep Holla	};
142*3e287cf6SSudeep Holla
143*3e287cf6SSudeep Holla	etr@20070000 {
144*3e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
145*3e287cf6SSudeep Holla		reg = <0 0x20070000 0 0x1000>;
146*3e287cf6SSudeep Holla
147*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
148*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
149*3e287cf6SSudeep Holla		port {
150*3e287cf6SSudeep Holla			etr_in_port: endpoint {
151*3e287cf6SSudeep Holla				slave-mode;
152*3e287cf6SSudeep Holla				remote-endpoint = <&replicator_out_port1>;
153*3e287cf6SSudeep Holla			};
154*3e287cf6SSudeep Holla		};
155*3e287cf6SSudeep Holla	};
156*3e287cf6SSudeep Holla
157*3e287cf6SSudeep Holla	etm0: etm@22040000 {
158*3e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
159*3e287cf6SSudeep Holla		reg = <0 0x22040000 0 0x1000>;
160*3e287cf6SSudeep Holla
161*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
162*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
163*3e287cf6SSudeep Holla		port {
164*3e287cf6SSudeep Holla			cluster0_etm0_out_port: endpoint {
165*3e287cf6SSudeep Holla				remote-endpoint = <&cluster0_funnel_in_port0>;
166*3e287cf6SSudeep Holla			};
167*3e287cf6SSudeep Holla		};
168*3e287cf6SSudeep Holla	};
169*3e287cf6SSudeep Holla
170*3e287cf6SSudeep Holla	cluster0-funnel@220c0000 {
171*3e287cf6SSudeep Holla		compatible = "arm,coresight-funnel", "arm,primecell";
172*3e287cf6SSudeep Holla		reg = <0 0x220c0000 0 0x1000>;
173*3e287cf6SSudeep Holla
174*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
175*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
176*3e287cf6SSudeep Holla		ports {
177*3e287cf6SSudeep Holla			#address-cells = <1>;
178*3e287cf6SSudeep Holla			#size-cells = <0>;
179*3e287cf6SSudeep Holla
180*3e287cf6SSudeep Holla			port@0 {
181*3e287cf6SSudeep Holla				reg = <0>;
182*3e287cf6SSudeep Holla				cluster0_funnel_out_port: endpoint {
183*3e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_in_port0>;
184*3e287cf6SSudeep Holla				};
185*3e287cf6SSudeep Holla			};
186*3e287cf6SSudeep Holla
187*3e287cf6SSudeep Holla			port@1 {
188*3e287cf6SSudeep Holla				reg = <0>;
189*3e287cf6SSudeep Holla				cluster0_funnel_in_port0: endpoint {
190*3e287cf6SSudeep Holla					slave-mode;
191*3e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm0_out_port>;
192*3e287cf6SSudeep Holla				};
193*3e287cf6SSudeep Holla			};
194*3e287cf6SSudeep Holla
195*3e287cf6SSudeep Holla			port@2 {
196*3e287cf6SSudeep Holla				reg = <1>;
197*3e287cf6SSudeep Holla				cluster0_funnel_in_port1: endpoint {
198*3e287cf6SSudeep Holla					slave-mode;
199*3e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm1_out_port>;
200*3e287cf6SSudeep Holla				};
201*3e287cf6SSudeep Holla			};
202*3e287cf6SSudeep Holla		};
203*3e287cf6SSudeep Holla	};
204*3e287cf6SSudeep Holla
205*3e287cf6SSudeep Holla	etm1: etm@22140000 {
206*3e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
207*3e287cf6SSudeep Holla		reg = <0 0x22140000 0 0x1000>;
208*3e287cf6SSudeep Holla
209*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
210*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
211*3e287cf6SSudeep Holla		port {
212*3e287cf6SSudeep Holla			cluster0_etm1_out_port: endpoint {
213*3e287cf6SSudeep Holla				remote-endpoint = <&cluster0_funnel_in_port1>;
214*3e287cf6SSudeep Holla			};
215*3e287cf6SSudeep Holla		};
216*3e287cf6SSudeep Holla	};
217*3e287cf6SSudeep Holla
218*3e287cf6SSudeep Holla	etm2: etm@23040000 {
219*3e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
220*3e287cf6SSudeep Holla		reg = <0 0x23040000 0 0x1000>;
221*3e287cf6SSudeep Holla
222*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
223*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
224*3e287cf6SSudeep Holla		port {
225*3e287cf6SSudeep Holla			cluster1_etm0_out_port: endpoint {
226*3e287cf6SSudeep Holla				remote-endpoint = <&cluster1_funnel_in_port0>;
227*3e287cf6SSudeep Holla			};
228*3e287cf6SSudeep Holla		};
229*3e287cf6SSudeep Holla	};
230*3e287cf6SSudeep Holla
231*3e287cf6SSudeep Holla	cluster1-funnel@230c0000 {
232*3e287cf6SSudeep Holla		compatible = "arm,coresight-funnel", "arm,primecell";
233*3e287cf6SSudeep Holla		reg = <0 0x230c0000 0 0x1000>;
234*3e287cf6SSudeep Holla
235*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
236*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
237*3e287cf6SSudeep Holla		ports {
238*3e287cf6SSudeep Holla			#address-cells = <1>;
239*3e287cf6SSudeep Holla			#size-cells = <0>;
240*3e287cf6SSudeep Holla
241*3e287cf6SSudeep Holla			port@0 {
242*3e287cf6SSudeep Holla				reg = <0>;
243*3e287cf6SSudeep Holla				cluster1_funnel_out_port: endpoint {
244*3e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_in_port1>;
245*3e287cf6SSudeep Holla				};
246*3e287cf6SSudeep Holla			};
247*3e287cf6SSudeep Holla
248*3e287cf6SSudeep Holla			port@1 {
249*3e287cf6SSudeep Holla				reg = <0>;
250*3e287cf6SSudeep Holla				cluster1_funnel_in_port0: endpoint {
251*3e287cf6SSudeep Holla					slave-mode;
252*3e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm0_out_port>;
253*3e287cf6SSudeep Holla				};
254*3e287cf6SSudeep Holla			};
255*3e287cf6SSudeep Holla
256*3e287cf6SSudeep Holla			port@2 {
257*3e287cf6SSudeep Holla				reg = <1>;
258*3e287cf6SSudeep Holla				cluster1_funnel_in_port1: endpoint {
259*3e287cf6SSudeep Holla					slave-mode;
260*3e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm1_out_port>;
261*3e287cf6SSudeep Holla				};
262*3e287cf6SSudeep Holla			};
263*3e287cf6SSudeep Holla			port@3 {
264*3e287cf6SSudeep Holla				reg = <2>;
265*3e287cf6SSudeep Holla				cluster1_funnel_in_port2: endpoint {
266*3e287cf6SSudeep Holla					slave-mode;
267*3e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm2_out_port>;
268*3e287cf6SSudeep Holla				};
269*3e287cf6SSudeep Holla			};
270*3e287cf6SSudeep Holla			port@4 {
271*3e287cf6SSudeep Holla				reg = <3>;
272*3e287cf6SSudeep Holla				cluster1_funnel_in_port3: endpoint {
273*3e287cf6SSudeep Holla					slave-mode;
274*3e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm3_out_port>;
275*3e287cf6SSudeep Holla				};
276*3e287cf6SSudeep Holla			};
277*3e287cf6SSudeep Holla		};
278*3e287cf6SSudeep Holla	};
279*3e287cf6SSudeep Holla
280*3e287cf6SSudeep Holla	etm3: etm@23140000 {
281*3e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
282*3e287cf6SSudeep Holla		reg = <0 0x23140000 0 0x1000>;
283*3e287cf6SSudeep Holla
284*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
285*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
286*3e287cf6SSudeep Holla		port {
287*3e287cf6SSudeep Holla			cluster1_etm1_out_port: endpoint {
288*3e287cf6SSudeep Holla				remote-endpoint = <&cluster1_funnel_in_port1>;
289*3e287cf6SSudeep Holla			};
290*3e287cf6SSudeep Holla		};
291*3e287cf6SSudeep Holla	};
292*3e287cf6SSudeep Holla
293*3e287cf6SSudeep Holla	etm4: etm@23240000 {
294*3e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
295*3e287cf6SSudeep Holla		reg = <0 0x23240000 0 0x1000>;
296*3e287cf6SSudeep Holla
297*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
298*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
299*3e287cf6SSudeep Holla		port {
300*3e287cf6SSudeep Holla			cluster1_etm2_out_port: endpoint {
301*3e287cf6SSudeep Holla				remote-endpoint = <&cluster1_funnel_in_port2>;
302*3e287cf6SSudeep Holla			};
303*3e287cf6SSudeep Holla		};
304*3e287cf6SSudeep Holla	};
305*3e287cf6SSudeep Holla
306*3e287cf6SSudeep Holla	etm5: etm@23340000 {
307*3e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
308*3e287cf6SSudeep Holla		reg = <0 0x23340000 0 0x1000>;
309*3e287cf6SSudeep Holla
310*3e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
311*3e287cf6SSudeep Holla		clock-names = "apb_pclk";
312*3e287cf6SSudeep Holla		port {
313*3e287cf6SSudeep Holla			cluster1_etm3_out_port: endpoint {
314*3e287cf6SSudeep Holla				remote-endpoint = <&cluster1_funnel_in_port3>;
315*3e287cf6SSudeep Holla			};
316*3e287cf6SSudeep Holla		};
317*3e287cf6SSudeep Holla	};
318*3e287cf6SSudeep Holla
319*3e287cf6SSudeep Holla	coresight-replicator {
320*3e287cf6SSudeep Holla		/*
321*3e287cf6SSudeep Holla		 * Non-configurable replicators don't show up on the
322*3e287cf6SSudeep Holla		 * AMBA bus.  As such no need to add "arm,primecell".
323*3e287cf6SSudeep Holla		 */
324*3e287cf6SSudeep Holla		compatible = "arm,coresight-replicator";
325*3e287cf6SSudeep Holla
326*3e287cf6SSudeep Holla		ports {
327*3e287cf6SSudeep Holla			#address-cells = <1>;
328*3e287cf6SSudeep Holla			#size-cells = <0>;
329*3e287cf6SSudeep Holla
330*3e287cf6SSudeep Holla			/* replicator output ports */
331*3e287cf6SSudeep Holla			port@0 {
332*3e287cf6SSudeep Holla				reg = <0>;
333*3e287cf6SSudeep Holla				replicator_out_port0: endpoint {
334*3e287cf6SSudeep Holla					remote-endpoint = <&tpiu_in_port>;
335*3e287cf6SSudeep Holla				};
336*3e287cf6SSudeep Holla			};
337*3e287cf6SSudeep Holla
338*3e287cf6SSudeep Holla			port@1 {
339*3e287cf6SSudeep Holla				reg = <1>;
340*3e287cf6SSudeep Holla				replicator_out_port1: endpoint {
341*3e287cf6SSudeep Holla					remote-endpoint = <&etr_in_port>;
342*3e287cf6SSudeep Holla				};
343*3e287cf6SSudeep Holla			};
344*3e287cf6SSudeep Holla
345*3e287cf6SSudeep Holla			/* replicator input port */
346*3e287cf6SSudeep Holla			port@2 {
347*3e287cf6SSudeep Holla				reg = <0>;
348*3e287cf6SSudeep Holla				replicator_in_port0: endpoint {
349*3e287cf6SSudeep Holla					slave-mode;
350*3e287cf6SSudeep Holla					remote-endpoint = <&etf_out_port>;
351*3e287cf6SSudeep Holla				};
352*3e287cf6SSudeep Holla			};
353*3e287cf6SSudeep Holla		};
354*3e287cf6SSudeep Holla	};
355*3e287cf6SSudeep Holla
356ff9a6262SSudeep Holla	sram: sram@2e000000 {
357ff9a6262SSudeep Holla		compatible = "arm,juno-sram-ns", "mmio-sram";
358ff9a6262SSudeep Holla		reg = <0x0 0x2e000000 0x0 0x8000>;
359ff9a6262SSudeep Holla
360ff9a6262SSudeep Holla		#address-cells = <1>;
361ff9a6262SSudeep Holla		#size-cells = <1>;
362ff9a6262SSudeep Holla		ranges = <0 0x0 0x2e000000 0x8000>;
363ff9a6262SSudeep Holla
364ff9a6262SSudeep Holla		cpu_scp_lpri: scp-shmem@0 {
365ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
366ff9a6262SSudeep Holla			reg = <0x0 0x200>;
367ff9a6262SSudeep Holla		};
368ff9a6262SSudeep Holla
369ff9a6262SSudeep Holla		cpu_scp_hpri: scp-shmem@200 {
370ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
371ff9a6262SSudeep Holla			reg = <0x200 0x200>;
372ff9a6262SSudeep Holla		};
373ff9a6262SSudeep Holla	};
374ff9a6262SSudeep Holla
37536582c60SSudeep Holla	pcie_ctlr: pcie-controller@40000000 {
37636582c60SSudeep Holla		compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic";
37736582c60SSudeep Holla		device_type = "pci";
37836582c60SSudeep Holla		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
37936582c60SSudeep Holla		bus-range = <0 255>;
38036582c60SSudeep Holla		linux,pci-domain = <0>;
38136582c60SSudeep Holla		#address-cells = <3>;
38236582c60SSudeep Holla		#size-cells = <2>;
38336582c60SSudeep Holla		dma-coherent;
38436582c60SSudeep Holla		ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000>,
38536582c60SSudeep Holla			 <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>,
38636582c60SSudeep Holla			 <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
38736582c60SSudeep Holla		#interrupt-cells = <1>;
38836582c60SSudeep Holla		interrupt-map-mask = <0 0 0 7>;
38936582c60SSudeep Holla		interrupt-map = <0 0 0 1 &gic 0 0 0 136 4>,
39036582c60SSudeep Holla				<0 0 0 2 &gic 0 0 0 137 4>,
39136582c60SSudeep Holla				<0 0 0 3 &gic 0 0 0 138 4>,
39236582c60SSudeep Holla				<0 0 0 4 &gic 0 0 0 139 4>;
39336582c60SSudeep Holla		msi-parent = <&v2m_0>;
39436582c60SSudeep Holla		status = "disabled";
39536582c60SSudeep Holla	};
39636582c60SSudeep Holla
397ff9a6262SSudeep Holla	scpi {
398ff9a6262SSudeep Holla		compatible = "arm,scpi";
399ff9a6262SSudeep Holla		mboxes = <&mailbox 1>;
400ff9a6262SSudeep Holla		shmem = <&cpu_scp_hpri>;
401ff9a6262SSudeep Holla
402ff9a6262SSudeep Holla		clocks {
403ff9a6262SSudeep Holla			compatible = "arm,scpi-clocks";
404ff9a6262SSudeep Holla
4056d6acd14SSudeep Holla			scpi_dvfs: scpi-dvfs {
406ff9a6262SSudeep Holla				compatible = "arm,scpi-dvfs-clocks";
407ff9a6262SSudeep Holla				#clock-cells = <1>;
408ff9a6262SSudeep Holla				clock-indices = <0>, <1>, <2>;
409ff9a6262SSudeep Holla				clock-output-names = "atlclk", "aplclk","gpuclk";
410ff9a6262SSudeep Holla			};
4116d6acd14SSudeep Holla			scpi_clk: scpi-clk {
412ff9a6262SSudeep Holla				compatible = "arm,scpi-variable-clocks";
413ff9a6262SSudeep Holla				#clock-cells = <1>;
4149fd9288eSLiviu Dudau				clock-indices = <3>;
4159fd9288eSLiviu Dudau				clock-output-names = "pxlclk";
416ff9a6262SSudeep Holla			};
417ff9a6262SSudeep Holla		};
418dfacaf0eSPunit Agrawal
419dfacaf0eSPunit Agrawal		scpi_sensors0: sensors {
420dfacaf0eSPunit Agrawal			compatible = "arm,scpi-sensors";
421dfacaf0eSPunit Agrawal			#thermal-sensor-cells = <1>;
422dfacaf0eSPunit Agrawal		};
423ff9a6262SSudeep Holla	};
424ff9a6262SSudeep Holla
425e8020874SLiviu Dudau	/include/ "juno-clocks.dtsi"
426e8020874SLiviu Dudau
427e8020874SLiviu Dudau	dma@7ff00000 {
428e8020874SLiviu Dudau		compatible = "arm,pl330", "arm,primecell";
429e8020874SLiviu Dudau		reg = <0x0 0x7ff00000 0 0x1000>;
430e8020874SLiviu Dudau		#dma-cells = <1>;
431e8020874SLiviu Dudau		#dma-channels = <8>;
432e8020874SLiviu Dudau		#dma-requests = <32>;
433e8020874SLiviu Dudau		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
434e8020874SLiviu Dudau			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
435e8020874SLiviu Dudau			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
436e8020874SLiviu Dudau			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
437aeb2ee56SRobin Murphy			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
438e8020874SLiviu Dudau			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
439e8020874SLiviu Dudau			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
440e8020874SLiviu Dudau			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
441e8020874SLiviu Dudau			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
442e8020874SLiviu Dudau		clocks = <&soc_faxiclk>;
443e8020874SLiviu Dudau		clock-names = "apb_pclk";
444e8020874SLiviu Dudau	};
445e8020874SLiviu Dudau
4469fd9288eSLiviu Dudau	hdlcd@7ff50000 {
4479fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
4489fd9288eSLiviu Dudau		reg = <0 0x7ff50000 0 0x1000>;
4499fd9288eSLiviu Dudau		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
4509fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
4519fd9288eSLiviu Dudau		clock-names = "pxlclk";
4529fd9288eSLiviu Dudau
4539fd9288eSLiviu Dudau		port {
4546d6acd14SSudeep Holla			hdlcd1_output: hdlcd1-endpoint {
4559fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_1_input>;
4569fd9288eSLiviu Dudau			};
4579fd9288eSLiviu Dudau		};
4589fd9288eSLiviu Dudau	};
4599fd9288eSLiviu Dudau
4609fd9288eSLiviu Dudau	hdlcd@7ff60000 {
4619fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
4629fd9288eSLiviu Dudau		reg = <0 0x7ff60000 0 0x1000>;
4639fd9288eSLiviu Dudau		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
4649fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
4659fd9288eSLiviu Dudau		clock-names = "pxlclk";
4669fd9288eSLiviu Dudau
4679fd9288eSLiviu Dudau		port {
4686d6acd14SSudeep Holla			hdlcd0_output: hdlcd0-endpoint {
4699fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_0_input>;
4709fd9288eSLiviu Dudau			};
4719fd9288eSLiviu Dudau		};
4729fd9288eSLiviu Dudau	};
4739fd9288eSLiviu Dudau
474e8020874SLiviu Dudau	soc_uart0: uart@7ff80000 {
475e8020874SLiviu Dudau		compatible = "arm,pl011", "arm,primecell";
476e8020874SLiviu Dudau		reg = <0x0 0x7ff80000 0x0 0x1000>;
477e8020874SLiviu Dudau		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
478e8020874SLiviu Dudau		clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
479e8020874SLiviu Dudau		clock-names = "uartclk", "apb_pclk";
480e8020874SLiviu Dudau	};
481e8020874SLiviu Dudau
482e8020874SLiviu Dudau	i2c@7ffa0000 {
483e8020874SLiviu Dudau		compatible = "snps,designware-i2c";
484e8020874SLiviu Dudau		reg = <0x0 0x7ffa0000 0x0 0x1000>;
485e8020874SLiviu Dudau		#address-cells = <1>;
486e8020874SLiviu Dudau		#size-cells = <0>;
487e8020874SLiviu Dudau		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
488e8020874SLiviu Dudau		clock-frequency = <400000>;
489e8020874SLiviu Dudau		i2c-sda-hold-time-ns = <500>;
490e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
491e8020874SLiviu Dudau
4929fd9288eSLiviu Dudau		hdmi-transmitter@70 {
493e8020874SLiviu Dudau			compatible = "nxp,tda998x";
494e8020874SLiviu Dudau			reg = <0x70>;
4959fd9288eSLiviu Dudau			port {
4966d6acd14SSudeep Holla				tda998x_0_input: tda998x-0-endpoint {
4979fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd0_output>;
4989fd9288eSLiviu Dudau				};
4999fd9288eSLiviu Dudau			};
500e8020874SLiviu Dudau		};
501e8020874SLiviu Dudau
5029fd9288eSLiviu Dudau		hdmi-transmitter@71 {
503e8020874SLiviu Dudau			compatible = "nxp,tda998x";
504e8020874SLiviu Dudau			reg = <0x71>;
5059fd9288eSLiviu Dudau			port {
5066d6acd14SSudeep Holla				tda998x_1_input: tda998x-1-endpoint {
5079fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd1_output>;
5089fd9288eSLiviu Dudau				};
5099fd9288eSLiviu Dudau			};
510e8020874SLiviu Dudau		};
511e8020874SLiviu Dudau	};
512e8020874SLiviu Dudau
513e8020874SLiviu Dudau	ohci@7ffb0000 {
514e8020874SLiviu Dudau		compatible = "generic-ohci";
515e8020874SLiviu Dudau		reg = <0x0 0x7ffb0000 0x0 0x10000>;
516e8020874SLiviu Dudau		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
517e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
518e8020874SLiviu Dudau	};
519e8020874SLiviu Dudau
520e8020874SLiviu Dudau	ehci@7ffc0000 {
521e8020874SLiviu Dudau		compatible = "generic-ehci";
522e8020874SLiviu Dudau		reg = <0x0 0x7ffc0000 0x0 0x10000>;
523e8020874SLiviu Dudau		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
524e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
525e8020874SLiviu Dudau	};
526e8020874SLiviu Dudau
527e8020874SLiviu Dudau	memory-controller@7ffd0000 {
528e8020874SLiviu Dudau		compatible = "arm,pl354", "arm,primecell";
529e8020874SLiviu Dudau		reg = <0 0x7ffd0000 0 0x1000>;
530e8020874SLiviu Dudau		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
531e8020874SLiviu Dudau			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
532e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
533e8020874SLiviu Dudau		clock-names = "apb_pclk";
534e8020874SLiviu Dudau	};
535e8020874SLiviu Dudau
536e8020874SLiviu Dudau	memory@80000000 {
537e8020874SLiviu Dudau		device_type = "memory";
538e8020874SLiviu Dudau		/* last 16MB of the first memory area is reserved for secure world use by firmware */
539e8020874SLiviu Dudau		reg = <0x00000000 0x80000000 0x0 0x7f000000>,
540e8020874SLiviu Dudau		      <0x00000008 0x80000000 0x1 0x80000000>;
541e8020874SLiviu Dudau	};
542e8020874SLiviu Dudau
5436d6acd14SSudeep Holla	smb@08000000 {
544e8020874SLiviu Dudau		compatible = "simple-bus";
545e8020874SLiviu Dudau		#address-cells = <2>;
546e8020874SLiviu Dudau		#size-cells = <1>;
547e8020874SLiviu Dudau		ranges = <0 0 0 0x08000000 0x04000000>,
548e8020874SLiviu Dudau			 <1 0 0 0x14000000 0x04000000>,
549e8020874SLiviu Dudau			 <2 0 0 0x18000000 0x04000000>,
550e8020874SLiviu Dudau			 <3 0 0 0x1c000000 0x04000000>,
551e8020874SLiviu Dudau			 <4 0 0 0x0c000000 0x04000000>,
552e8020874SLiviu Dudau			 <5 0 0 0x10000000 0x04000000>;
553e8020874SLiviu Dudau
554e8020874SLiviu Dudau		#interrupt-cells = <1>;
555e8020874SLiviu Dudau		interrupt-map-mask = <0 0 15>;
5569e6f374fSLiviu Dudau		interrupt-map = <0 0  0 &gic 0 0 0  68 IRQ_TYPE_LEVEL_HIGH>,
5579e6f374fSLiviu Dudau				<0 0  1 &gic 0 0 0  69 IRQ_TYPE_LEVEL_HIGH>,
5589e6f374fSLiviu Dudau				<0 0  2 &gic 0 0 0  70 IRQ_TYPE_LEVEL_HIGH>,
5599e6f374fSLiviu Dudau				<0 0  3 &gic 0 0 0 160 IRQ_TYPE_LEVEL_HIGH>,
5609e6f374fSLiviu Dudau				<0 0  4 &gic 0 0 0 161 IRQ_TYPE_LEVEL_HIGH>,
5619e6f374fSLiviu Dudau				<0 0  5 &gic 0 0 0 162 IRQ_TYPE_LEVEL_HIGH>,
5629e6f374fSLiviu Dudau				<0 0  6 &gic 0 0 0 163 IRQ_TYPE_LEVEL_HIGH>,
5639e6f374fSLiviu Dudau				<0 0  7 &gic 0 0 0 164 IRQ_TYPE_LEVEL_HIGH>,
5649e6f374fSLiviu Dudau				<0 0  8 &gic 0 0 0 165 IRQ_TYPE_LEVEL_HIGH>,
5659e6f374fSLiviu Dudau				<0 0  9 &gic 0 0 0 166 IRQ_TYPE_LEVEL_HIGH>,
5669e6f374fSLiviu Dudau				<0 0 10 &gic 0 0 0 167 IRQ_TYPE_LEVEL_HIGH>,
5679e6f374fSLiviu Dudau				<0 0 11 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>,
5689e6f374fSLiviu Dudau				<0 0 12 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>;
569e8020874SLiviu Dudau
570e8020874SLiviu Dudau		/include/ "juno-motherboard.dtsi"
571e8020874SLiviu Dudau	};
572f5f7e455SBrian Starkey
573f5f7e455SBrian Starkey	site2: tlx@60000000 {
574f5f7e455SBrian Starkey		compatible = "simple-bus";
575f5f7e455SBrian Starkey		#address-cells = <1>;
576f5f7e455SBrian Starkey		#size-cells = <1>;
577f5f7e455SBrian Starkey		ranges = <0 0 0x60000000 0x10000000>;
578f5f7e455SBrian Starkey		#interrupt-cells = <1>;
579f5f7e455SBrian Starkey		interrupt-map-mask = <0 0>;
580f5f7e455SBrian Starkey		interrupt-map = <0 0 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>;
581f5f7e455SBrian Starkey	};
582