xref: /linux/arch/arm64/boot/dts/arm/juno-base.dtsi (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
2d29e849cSSudeep Holla#include "juno-clocks.dtsi"
3349b0f95SSudeep Holla#include "juno-motherboard.dtsi"
4d29e849cSSudeep Holla
5d29e849cSSudeep Holla/ {
6e8020874SLiviu Dudau	/*
7e8020874SLiviu Dudau	 *  Devices shared by all Juno boards
8e8020874SLiviu Dudau	 */
9e8020874SLiviu Dudau
1079502355SLiviu Dudau	memtimer: timer@2a810000 {
1179502355SLiviu Dudau		compatible = "arm,armv7-timer-mem";
1279502355SLiviu Dudau		reg = <0x0 0x2a810000 0x0 0x10000>;
130e529daeSAndre Przywara		#address-cells = <1>;
140e529daeSAndre Przywara		#size-cells = <1>;
150e529daeSAndre Przywara		ranges = <0 0x0 0x2a820000 0x20000>;
1679502355SLiviu Dudau		status = "disabled";
1779502355SLiviu Dudau		frame@2a830000 {
1879502355SLiviu Dudau			frame-number = <1>;
19ef972714SSudeep Holla			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
200e529daeSAndre Przywara			reg = <0x10000 0x10000>;
2179502355SLiviu Dudau		};
2279502355SLiviu Dudau	};
2379502355SLiviu Dudau
24ff9a6262SSudeep Holla	mailbox: mhu@2b1f0000 {
25ff9a6262SSudeep Holla		compatible = "arm,mhu", "arm,primecell";
26ff9a6262SSudeep Holla		reg = <0x0 0x2b1f0000 0x0 0x1000>;
27ff9a6262SSudeep Holla		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
28422ab8feSJassi Brar			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
29422ab8feSJassi Brar			     <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
30ff9a6262SSudeep Holla		#mbox-cells = <1>;
31ff9a6262SSudeep Holla		clocks = <&soc_refclk100mhz>;
32ff9a6262SSudeep Holla		clock-names = "apb_pclk";
33ff9a6262SSudeep Holla	};
34ff9a6262SSudeep Holla
35577dd5deSRobin Murphy	smmu_gpu: iommu@2b400000 {
36577dd5deSRobin Murphy		compatible = "arm,mmu-400", "arm,smmu-v1";
37577dd5deSRobin Murphy		reg = <0x0 0x2b400000 0x0 0x10000>;
38577dd5deSRobin Murphy		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
39577dd5deSRobin Murphy			     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
40577dd5deSRobin Murphy		#iommu-cells = <1>;
41577dd5deSRobin Murphy		#global-interrupts = <1>;
42577dd5deSRobin Murphy		power-domains = <&scpi_devpd 1>;
43577dd5deSRobin Murphy		dma-coherent;
44577dd5deSRobin Murphy		status = "disabled";
45577dd5deSRobin Murphy	};
46577dd5deSRobin Murphy
472ac15068SRobin Murphy	smmu_pcie: iommu@2b500000 {
482ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
492ac15068SRobin Murphy		reg = <0x0 0x2b500000 0x0 0x10000>;
502ac15068SRobin Murphy		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
512ac15068SRobin Murphy			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
522ac15068SRobin Murphy		#iommu-cells = <1>;
532ac15068SRobin Murphy		#global-interrupts = <1>;
542ac15068SRobin Murphy		dma-coherent;
552ac15068SRobin Murphy		status = "disabled";
562ac15068SRobin Murphy	};
572ac15068SRobin Murphy
582ac15068SRobin Murphy	smmu_etr: iommu@2b600000 {
592ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
602ac15068SRobin Murphy		reg = <0x0 0x2b600000 0x0 0x10000>;
612ac15068SRobin Murphy		interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
622ac15068SRobin Murphy			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
632ac15068SRobin Murphy		#iommu-cells = <1>;
642ac15068SRobin Murphy		#global-interrupts = <1>;
652ac15068SRobin Murphy		dma-coherent;
66fd47c206SRobin Murphy		power-domains = <&scpi_devpd 0>;
672ac15068SRobin Murphy	};
682ac15068SRobin Murphy
69e8020874SLiviu Dudau	gic: interrupt-controller@2c010000 {
70e8020874SLiviu Dudau		compatible = "arm,gic-400", "arm,cortex-a15-gic";
71e8020874SLiviu Dudau		reg = <0x0 0x2c010000 0 0x1000>,
72e8020874SLiviu Dudau		      <0x0 0x2c02f000 0 0x2000>,
73e8020874SLiviu Dudau		      <0x0 0x2c04f000 0 0x2000>,
74e8020874SLiviu Dudau		      <0x0 0x2c06f000 0 0x2000>;
75a78aee9eSAndre Przywara		#address-cells = <1>;
76e8020874SLiviu Dudau		#interrupt-cells = <3>;
77a78aee9eSAndre Przywara		#size-cells = <1>;
78e8020874SLiviu Dudau		interrupt-controller;
79e8020874SLiviu Dudau		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
80a78aee9eSAndre Przywara		ranges = <0 0 0x2c1c0000 0x40000>;
8120fd17ffSRobin Murphy
829e6f374fSLiviu Dudau		v2m_0: v2m@0 {
839e6f374fSLiviu Dudau			compatible = "arm,gic-v2m-frame";
849e6f374fSLiviu Dudau			msi-controller;
85a78aee9eSAndre Przywara			reg = <0 0x10000>;
869e6f374fSLiviu Dudau		};
8720fd17ffSRobin Murphy
8820fd17ffSRobin Murphy		v2m@10000 {
8920fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
9020fd17ffSRobin Murphy			msi-controller;
91a78aee9eSAndre Przywara			reg = <0x10000 0x10000>;
9220fd17ffSRobin Murphy		};
9320fd17ffSRobin Murphy
9420fd17ffSRobin Murphy		v2m@20000 {
9520fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
9620fd17ffSRobin Murphy			msi-controller;
97a78aee9eSAndre Przywara			reg = <0x20000 0x10000>;
9820fd17ffSRobin Murphy		};
9920fd17ffSRobin Murphy
10020fd17ffSRobin Murphy		v2m@30000 {
10120fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
10220fd17ffSRobin Murphy			msi-controller;
103a78aee9eSAndre Przywara			reg = <0x30000 0x10000>;
10420fd17ffSRobin Murphy		};
105e8020874SLiviu Dudau	};
106e8020874SLiviu Dudau
107e8020874SLiviu Dudau	timer {
108e8020874SLiviu Dudau		compatible = "arm,armv8-timer";
109e8020874SLiviu Dudau		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
110e8020874SLiviu Dudau			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
111e8020874SLiviu Dudau			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
112e8020874SLiviu Dudau			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
113e8020874SLiviu Dudau	};
114e8020874SLiviu Dudau
1153e287cf6SSudeep Holla	/*
1163e287cf6SSudeep Holla	 * Juno TRMs specify the size for these coresight components as 64K.
1173e287cf6SSudeep Holla	 * The actual size is just 4K though 64K is reserved. Access to the
1183e287cf6SSudeep Holla	 * unmapped reserved region results in a DECERR response.
1193e287cf6SSudeep Holla	 */
120e7676a00SMike Leach	etf_sys0: etf@20010000 { /* etf0 */
1213e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
1223e287cf6SSudeep Holla		reg = <0 0x20010000 0 0x1000>;
1233e287cf6SSudeep Holla
1243e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1253e287cf6SSudeep Holla		clock-names = "apb_pclk";
126bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1273e287cf6SSudeep Holla
12841af6cbfSSuzuki K Poulose		in-ports {
12941af6cbfSSuzuki K Poulose			port {
13019ac17c0SSudeep Holla				etf0_in_port: endpoint {
1313e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_out_port>;
1323e287cf6SSudeep Holla				};
1333e287cf6SSudeep Holla			};
13441af6cbfSSuzuki K Poulose		};
1353e287cf6SSudeep Holla
13641af6cbfSSuzuki K Poulose		out-ports {
13741af6cbfSSuzuki K Poulose			port {
13819ac17c0SSudeep Holla				etf0_out_port: endpoint {
1393e287cf6SSudeep Holla				};
1403e287cf6SSudeep Holla			};
1413e287cf6SSudeep Holla		};
1423e287cf6SSudeep Holla	};
1433e287cf6SSudeep Holla
144e7676a00SMike Leach	tpiu_sys: tpiu@20030000 {
1453e287cf6SSudeep Holla		compatible = "arm,coresight-tpiu", "arm,primecell";
1463e287cf6SSudeep Holla		reg = <0 0x20030000 0 0x1000>;
1473e287cf6SSudeep Holla
1483e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1493e287cf6SSudeep Holla		clock-names = "apb_pclk";
150bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
15141af6cbfSSuzuki K Poulose		in-ports {
1523e287cf6SSudeep Holla			port {
1533e287cf6SSudeep Holla				tpiu_in_port: endpoint {
1543e287cf6SSudeep Holla					remote-endpoint = <&replicator_out_port0>;
1553e287cf6SSudeep Holla				};
1563e287cf6SSudeep Holla			};
1573e287cf6SSudeep Holla		};
15841af6cbfSSuzuki K Poulose	};
1593e287cf6SSudeep Holla
16019ac17c0SSudeep Holla	/* main funnel on Juno r0, cssys0 funnel on Juno r1/r2 as per TRM*/
16119ac17c0SSudeep Holla	main_funnel: funnel@20040000 {
162f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1633e287cf6SSudeep Holla		reg = <0 0x20040000 0 0x1000>;
1643e287cf6SSudeep Holla
1653e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1663e287cf6SSudeep Holla		clock-names = "apb_pclk";
167bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1683e287cf6SSudeep Holla
16941af6cbfSSuzuki K Poulose		out-ports {
17041af6cbfSSuzuki K Poulose			port {
1713e287cf6SSudeep Holla				main_funnel_out_port: endpoint {
17219ac17c0SSudeep Holla					remote-endpoint = <&etf0_in_port>;
1733e287cf6SSudeep Holla				};
1743e287cf6SSudeep Holla			};
17541af6cbfSSuzuki K Poulose		};
1763e287cf6SSudeep Holla
17741af6cbfSSuzuki K Poulose		main_funnel_in_ports: in-ports {
17841af6cbfSSuzuki K Poulose			#address-cells = <1>;
17941af6cbfSSuzuki K Poulose			#size-cells = <0>;
18041af6cbfSSuzuki K Poulose
18141af6cbfSSuzuki K Poulose			port@0 {
1823e287cf6SSudeep Holla				reg = <0>;
1833e287cf6SSudeep Holla				main_funnel_in_port0: endpoint {
1843e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_out_port>;
1853e287cf6SSudeep Holla				};
1863e287cf6SSudeep Holla			};
1873e287cf6SSudeep Holla
18841af6cbfSSuzuki K Poulose			port@1 {
1893e287cf6SSudeep Holla				reg = <1>;
1903e287cf6SSudeep Holla				main_funnel_in_port1: endpoint {
1913e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_out_port>;
1923e287cf6SSudeep Holla				};
1933e287cf6SSudeep Holla			};
1943e287cf6SSudeep Holla		};
1953e287cf6SSudeep Holla	};
1963e287cf6SSudeep Holla
197e7676a00SMike Leach	etr_sys: etr@20070000 {
1983e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
1993e287cf6SSudeep Holla		reg = <0 0x20070000 0 0x1000>;
2002ac15068SRobin Murphy		iommus = <&smmu_etr 0>;
2013e287cf6SSudeep Holla
2023e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2033e287cf6SSudeep Holla		clock-names = "apb_pclk";
204bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
20579daf2a4SSuzuki K Poulose		arm,scatter-gather;
20641af6cbfSSuzuki K Poulose		in-ports {
2073e287cf6SSudeep Holla			port {
2083e287cf6SSudeep Holla				etr_in_port: endpoint {
2093e287cf6SSudeep Holla					remote-endpoint = <&replicator_out_port1>;
2103e287cf6SSudeep Holla				};
2113e287cf6SSudeep Holla			};
2123e287cf6SSudeep Holla		};
21341af6cbfSSuzuki K Poulose	};
2143e287cf6SSudeep Holla
215e7676a00SMike Leach	stm_sys: stm@20100000 {
216cde6f9abSMike Leach		compatible = "arm,coresight-stm", "arm,primecell";
217cde6f9abSMike Leach		reg = <0 0x20100000 0 0x1000>,
218cde6f9abSMike Leach		      <0 0x28000000 0 0x1000000>;
219cde6f9abSMike Leach		reg-names = "stm-base", "stm-stimulus-base";
220cde6f9abSMike Leach
221cde6f9abSMike Leach		clocks = <&soc_smc50mhz>;
222cde6f9abSMike Leach		clock-names = "apb_pclk";
223cde6f9abSMike Leach		power-domains = <&scpi_devpd 0>;
22441af6cbfSSuzuki K Poulose		out-ports {
225cde6f9abSMike Leach			port {
226cde6f9abSMike Leach				stm_out_port: endpoint {
227cde6f9abSMike Leach				};
228cde6f9abSMike Leach			};
229cde6f9abSMike Leach		};
23041af6cbfSSuzuki K Poulose	};
231cde6f9abSMike Leach
23220d00c40SSudeep Holla	replicator@20120000 {
23320d00c40SSudeep Holla		compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
23420d00c40SSudeep Holla		reg = <0 0x20120000 0 0x1000>;
23520d00c40SSudeep Holla
23620d00c40SSudeep Holla		clocks = <&soc_smc50mhz>;
23720d00c40SSudeep Holla		clock-names = "apb_pclk";
23820d00c40SSudeep Holla		power-domains = <&scpi_devpd 0>;
23920d00c40SSudeep Holla
24020d00c40SSudeep Holla		out-ports {
24120d00c40SSudeep Holla			#address-cells = <1>;
24220d00c40SSudeep Holla			#size-cells = <0>;
24320d00c40SSudeep Holla
24420d00c40SSudeep Holla			/* replicator output ports */
24520d00c40SSudeep Holla			port@0 {
24620d00c40SSudeep Holla				reg = <0>;
24720d00c40SSudeep Holla				replicator_out_port0: endpoint {
24820d00c40SSudeep Holla					remote-endpoint = <&tpiu_in_port>;
24920d00c40SSudeep Holla				};
25020d00c40SSudeep Holla			};
25120d00c40SSudeep Holla
25220d00c40SSudeep Holla			port@1 {
25320d00c40SSudeep Holla				reg = <1>;
25420d00c40SSudeep Holla				replicator_out_port1: endpoint {
25520d00c40SSudeep Holla					remote-endpoint = <&etr_in_port>;
25620d00c40SSudeep Holla				};
25720d00c40SSudeep Holla			};
25820d00c40SSudeep Holla		};
25920d00c40SSudeep Holla		in-ports {
26020d00c40SSudeep Holla			port {
26120d00c40SSudeep Holla				replicator_in_port0: endpoint {
26220d00c40SSudeep Holla				};
26320d00c40SSudeep Holla			};
26420d00c40SSudeep Holla		};
26520d00c40SSudeep Holla	};
26620d00c40SSudeep Holla
267207b6e6bSSudeep Holla	cpu_debug0: cpu-debug@22010000 {
26860f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
26960f01d7aSSuzuki K Poulose		reg = <0x0 0x22010000 0x0 0x1000>;
27060f01d7aSSuzuki K Poulose
27160f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
27260f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
27360f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
27460f01d7aSSuzuki K Poulose	};
27560f01d7aSSuzuki K Poulose
2763e287cf6SSudeep Holla	etm0: etm@22040000 {
2773e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
2783e287cf6SSudeep Holla		reg = <0 0x22040000 0 0x1000>;
2793e287cf6SSudeep Holla
2803e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2813e287cf6SSudeep Holla		clock-names = "apb_pclk";
282bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
28341af6cbfSSuzuki K Poulose		out-ports {
2843e287cf6SSudeep Holla			port {
2853e287cf6SSudeep Holla				cluster0_etm0_out_port: endpoint {
2863e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_in_port0>;
2873e287cf6SSudeep Holla				};
2883e287cf6SSudeep Holla			};
2893e287cf6SSudeep Holla		};
29041af6cbfSSuzuki K Poulose	};
2913e287cf6SSudeep Holla
292e7676a00SMike Leach	cti0: cti@22020000 {
293e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
294e7676a00SMike Leach			     "arm,primecell";
295e7676a00SMike Leach		reg = <0 0x22020000 0 0x1000>;
296e7676a00SMike Leach
297e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
298e7676a00SMike Leach		clock-names = "apb_pclk";
299e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
300e7676a00SMike Leach
301e7676a00SMike Leach		arm,cs-dev-assoc = <&etm0>;
302e7676a00SMike Leach	};
303e7676a00SMike Leach
30419ac17c0SSudeep Holla	funnel@220c0000 { /* cluster0 funnel */
305f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3063e287cf6SSudeep Holla		reg = <0 0x220c0000 0 0x1000>;
3073e287cf6SSudeep Holla
3083e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3093e287cf6SSudeep Holla		clock-names = "apb_pclk";
310bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
31141af6cbfSSuzuki K Poulose		out-ports {
31241af6cbfSSuzuki K Poulose			port {
31341af6cbfSSuzuki K Poulose				cluster0_funnel_out_port: endpoint {
31441af6cbfSSuzuki K Poulose					remote-endpoint = <&main_funnel_in_port0>;
31541af6cbfSSuzuki K Poulose				};
31641af6cbfSSuzuki K Poulose			};
31741af6cbfSSuzuki K Poulose		};
31841af6cbfSSuzuki K Poulose
31941af6cbfSSuzuki K Poulose		in-ports {
3203e287cf6SSudeep Holla			#address-cells = <1>;
3213e287cf6SSudeep Holla			#size-cells = <0>;
3223e287cf6SSudeep Holla
3233e287cf6SSudeep Holla			port@0 {
3243e287cf6SSudeep Holla				reg = <0>;
3253e287cf6SSudeep Holla				cluster0_funnel_in_port0: endpoint {
3263e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm0_out_port>;
3273e287cf6SSudeep Holla				};
3283e287cf6SSudeep Holla			};
3293e287cf6SSudeep Holla
33041af6cbfSSuzuki K Poulose			port@1 {
3313e287cf6SSudeep Holla				reg = <1>;
3323e287cf6SSudeep Holla				cluster0_funnel_in_port1: endpoint {
3333e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm1_out_port>;
3343e287cf6SSudeep Holla				};
3353e287cf6SSudeep Holla			};
3363e287cf6SSudeep Holla		};
3373e287cf6SSudeep Holla	};
3383e287cf6SSudeep Holla
339207b6e6bSSudeep Holla	cpu_debug1: cpu-debug@22110000 {
34060f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
34160f01d7aSSuzuki K Poulose		reg = <0x0 0x22110000 0x0 0x1000>;
34260f01d7aSSuzuki K Poulose
34360f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
34460f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
34560f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
34660f01d7aSSuzuki K Poulose	};
34760f01d7aSSuzuki K Poulose
3483e287cf6SSudeep Holla	etm1: etm@22140000 {
3493e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3503e287cf6SSudeep Holla		reg = <0 0x22140000 0 0x1000>;
3513e287cf6SSudeep Holla
3523e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3533e287cf6SSudeep Holla		clock-names = "apb_pclk";
354bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
35541af6cbfSSuzuki K Poulose		out-ports {
3563e287cf6SSudeep Holla			port {
3573e287cf6SSudeep Holla				cluster0_etm1_out_port: endpoint {
3583e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_in_port1>;
3593e287cf6SSudeep Holla				};
3603e287cf6SSudeep Holla			};
3613e287cf6SSudeep Holla		};
36241af6cbfSSuzuki K Poulose	};
3633e287cf6SSudeep Holla
364e7676a00SMike Leach	cti1: cti@22120000 {
365e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
366e7676a00SMike Leach			     "arm,primecell";
367e7676a00SMike Leach		reg = <0 0x22120000 0 0x1000>;
368e7676a00SMike Leach
369e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
370e7676a00SMike Leach		clock-names = "apb_pclk";
371e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
372e7676a00SMike Leach
373e7676a00SMike Leach		arm,cs-dev-assoc = <&etm1>;
374e7676a00SMike Leach	};
375e7676a00SMike Leach
376207b6e6bSSudeep Holla	cpu_debug2: cpu-debug@23010000 {
37760f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
37860f01d7aSSuzuki K Poulose		reg = <0x0 0x23010000 0x0 0x1000>;
37960f01d7aSSuzuki K Poulose
38060f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
38160f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
38260f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
38360f01d7aSSuzuki K Poulose	};
38460f01d7aSSuzuki K Poulose
3853e287cf6SSudeep Holla	etm2: etm@23040000 {
3863e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3873e287cf6SSudeep Holla		reg = <0 0x23040000 0 0x1000>;
3883e287cf6SSudeep Holla
3893e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3903e287cf6SSudeep Holla		clock-names = "apb_pclk";
391bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
39241af6cbfSSuzuki K Poulose		out-ports {
3933e287cf6SSudeep Holla			port {
3943e287cf6SSudeep Holla				cluster1_etm0_out_port: endpoint {
3953e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port0>;
3963e287cf6SSudeep Holla				};
3973e287cf6SSudeep Holla			};
3983e287cf6SSudeep Holla		};
39941af6cbfSSuzuki K Poulose	};
4003e287cf6SSudeep Holla
401e7676a00SMike Leach	cti2: cti@23020000 {
402e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
403e7676a00SMike Leach			     "arm,primecell";
404e7676a00SMike Leach		reg = <0 0x23020000 0 0x1000>;
405e7676a00SMike Leach
406e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
407e7676a00SMike Leach		clock-names = "apb_pclk";
408e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
409e7676a00SMike Leach
410e7676a00SMike Leach		arm,cs-dev-assoc = <&etm2>;
411e7676a00SMike Leach	};
412e7676a00SMike Leach
41319ac17c0SSudeep Holla	funnel@230c0000 { /* cluster1 funnel */
414f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
4153e287cf6SSudeep Holla		reg = <0 0x230c0000 0 0x1000>;
4163e287cf6SSudeep Holla
4173e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4183e287cf6SSudeep Holla		clock-names = "apb_pclk";
419bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
42041af6cbfSSuzuki K Poulose		out-ports {
42141af6cbfSSuzuki K Poulose			port {
42241af6cbfSSuzuki K Poulose				cluster1_funnel_out_port: endpoint {
42341af6cbfSSuzuki K Poulose					remote-endpoint = <&main_funnel_in_port1>;
42441af6cbfSSuzuki K Poulose				};
42541af6cbfSSuzuki K Poulose			};
42641af6cbfSSuzuki K Poulose		};
42741af6cbfSSuzuki K Poulose
42841af6cbfSSuzuki K Poulose		in-ports {
4293e287cf6SSudeep Holla			#address-cells = <1>;
4303e287cf6SSudeep Holla			#size-cells = <0>;
4313e287cf6SSudeep Holla
4323e287cf6SSudeep Holla			port@0 {
4333e287cf6SSudeep Holla				reg = <0>;
4343e287cf6SSudeep Holla				cluster1_funnel_in_port0: endpoint {
4353e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm0_out_port>;
4363e287cf6SSudeep Holla				};
4373e287cf6SSudeep Holla			};
4383e287cf6SSudeep Holla
43941af6cbfSSuzuki K Poulose			port@1 {
4403e287cf6SSudeep Holla				reg = <1>;
4413e287cf6SSudeep Holla				cluster1_funnel_in_port1: endpoint {
4423e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm1_out_port>;
4433e287cf6SSudeep Holla				};
4443e287cf6SSudeep Holla			};
44541af6cbfSSuzuki K Poulose			port@2 {
4463e287cf6SSudeep Holla				reg = <2>;
4473e287cf6SSudeep Holla				cluster1_funnel_in_port2: endpoint {
4483e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm2_out_port>;
4493e287cf6SSudeep Holla				};
4503e287cf6SSudeep Holla			};
45141af6cbfSSuzuki K Poulose			port@3 {
4523e287cf6SSudeep Holla				reg = <3>;
4533e287cf6SSudeep Holla				cluster1_funnel_in_port3: endpoint {
4543e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm3_out_port>;
4553e287cf6SSudeep Holla				};
4563e287cf6SSudeep Holla			};
4573e287cf6SSudeep Holla		};
4583e287cf6SSudeep Holla	};
4593e287cf6SSudeep Holla
460207b6e6bSSudeep Holla	cpu_debug3: cpu-debug@23110000 {
46160f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
46260f01d7aSSuzuki K Poulose		reg = <0x0 0x23110000 0x0 0x1000>;
46360f01d7aSSuzuki K Poulose
46460f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
46560f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
46660f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
46760f01d7aSSuzuki K Poulose	};
46860f01d7aSSuzuki K Poulose
4693e287cf6SSudeep Holla	etm3: etm@23140000 {
4703e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
4713e287cf6SSudeep Holla		reg = <0 0x23140000 0 0x1000>;
4723e287cf6SSudeep Holla
4733e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4743e287cf6SSudeep Holla		clock-names = "apb_pclk";
475bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
47641af6cbfSSuzuki K Poulose		out-ports {
4773e287cf6SSudeep Holla			port {
4783e287cf6SSudeep Holla				cluster1_etm1_out_port: endpoint {
4793e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port1>;
4803e287cf6SSudeep Holla				};
4813e287cf6SSudeep Holla			};
4823e287cf6SSudeep Holla		};
48341af6cbfSSuzuki K Poulose	};
4843e287cf6SSudeep Holla
485e7676a00SMike Leach	cti3: cti@23120000 {
486e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
487e7676a00SMike Leach			     "arm,primecell";
488e7676a00SMike Leach		reg = <0 0x23120000 0 0x1000>;
489e7676a00SMike Leach
490e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
491e7676a00SMike Leach		clock-names = "apb_pclk";
492e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
493e7676a00SMike Leach
494e7676a00SMike Leach		arm,cs-dev-assoc = <&etm3>;
495e7676a00SMike Leach	};
496e7676a00SMike Leach
497207b6e6bSSudeep Holla	cpu_debug4: cpu-debug@23210000 {
49860f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
49960f01d7aSSuzuki K Poulose		reg = <0x0 0x23210000 0x0 0x1000>;
50060f01d7aSSuzuki K Poulose
50160f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
50260f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
50360f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
50460f01d7aSSuzuki K Poulose	};
50560f01d7aSSuzuki K Poulose
5063e287cf6SSudeep Holla	etm4: etm@23240000 {
5073e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
5083e287cf6SSudeep Holla		reg = <0 0x23240000 0 0x1000>;
5093e287cf6SSudeep Holla
5103e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
5113e287cf6SSudeep Holla		clock-names = "apb_pclk";
512bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
51341af6cbfSSuzuki K Poulose		out-ports {
5143e287cf6SSudeep Holla			port {
5153e287cf6SSudeep Holla				cluster1_etm2_out_port: endpoint {
5163e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port2>;
5173e287cf6SSudeep Holla				};
5183e287cf6SSudeep Holla			};
5193e287cf6SSudeep Holla		};
52041af6cbfSSuzuki K Poulose	};
5213e287cf6SSudeep Holla
522e7676a00SMike Leach	cti4: cti@23220000 {
523e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
524e7676a00SMike Leach			     "arm,primecell";
525e7676a00SMike Leach		reg = <0 0x23220000 0 0x1000>;
526e7676a00SMike Leach
527e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
528e7676a00SMike Leach		clock-names = "apb_pclk";
529e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
530e7676a00SMike Leach
531e7676a00SMike Leach		arm,cs-dev-assoc = <&etm4>;
532e7676a00SMike Leach	};
533e7676a00SMike Leach
534207b6e6bSSudeep Holla	cpu_debug5: cpu-debug@23310000 {
53560f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
53660f01d7aSSuzuki K Poulose		reg = <0x0 0x23310000 0x0 0x1000>;
53760f01d7aSSuzuki K Poulose
53860f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
53960f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
54060f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
54160f01d7aSSuzuki K Poulose	};
54260f01d7aSSuzuki K Poulose
5433e287cf6SSudeep Holla	etm5: etm@23340000 {
5443e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
5453e287cf6SSudeep Holla		reg = <0 0x23340000 0 0x1000>;
5463e287cf6SSudeep Holla
5473e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
5483e287cf6SSudeep Holla		clock-names = "apb_pclk";
549bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
55041af6cbfSSuzuki K Poulose		out-ports {
5513e287cf6SSudeep Holla			port {
5523e287cf6SSudeep Holla				cluster1_etm3_out_port: endpoint {
5533e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port3>;
5543e287cf6SSudeep Holla				};
5553e287cf6SSudeep Holla			};
5563e287cf6SSudeep Holla		};
55741af6cbfSSuzuki K Poulose	};
5583e287cf6SSudeep Holla
559e7676a00SMike Leach	cti5: cti@23320000 {
560e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
561e7676a00SMike Leach			     "arm,primecell";
562e7676a00SMike Leach		reg = <0 0x23320000 0 0x1000>;
563e7676a00SMike Leach
564e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
565e7676a00SMike Leach		clock-names = "apb_pclk";
566e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
567e7676a00SMike Leach
568e7676a00SMike Leach		arm,cs-dev-assoc = <&etm5>;
569e7676a00SMike Leach	};
570e7676a00SMike Leach
571e7676a00SMike Leach	cti_sys0: cti@20020000 { /* sys_cti_0 */
572e7676a00SMike Leach		compatible = "arm,coresight-cti", "arm,primecell";
573e7676a00SMike Leach		reg = <0 0x20020000 0 0x1000>;
574e7676a00SMike Leach
575e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
576e7676a00SMike Leach		clock-names = "apb_pclk";
577e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
578e7676a00SMike Leach
579e7676a00SMike Leach		#address-cells = <1>;
580e7676a00SMike Leach		#size-cells = <0>;
581e7676a00SMike Leach
582e7676a00SMike Leach		trig-conns@0 {
583e7676a00SMike Leach			reg = <0>;
584e7676a00SMike Leach			arm,trig-in-sigs = <2 3>;
585e7676a00SMike Leach			arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>;
586e7676a00SMike Leach			arm,trig-out-sigs = <0 1>;
587e7676a00SMike Leach			arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
588e7676a00SMike Leach			arm,cs-dev-assoc = <&etr_sys>;
589e7676a00SMike Leach		};
590e7676a00SMike Leach
591e7676a00SMike Leach		trig-conns@1 {
592e7676a00SMike Leach			reg = <1>;
593e7676a00SMike Leach			arm,trig-in-sigs = <0 1>;
594e7676a00SMike Leach			arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>;
595e7676a00SMike Leach			arm,trig-out-sigs = <7 6>;
596e7676a00SMike Leach			arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
597e7676a00SMike Leach			arm,cs-dev-assoc = <&etf_sys0>;
598e7676a00SMike Leach		};
599e7676a00SMike Leach
600e7676a00SMike Leach		trig-conns@2 {
601e7676a00SMike Leach			reg = <2>;
602e7676a00SMike Leach			arm,trig-in-sigs = <4 5 6 7>;
603e7676a00SMike Leach			arm,trig-in-types = <STM_TOUT_SPTE STM_TOUT_SW
604e7676a00SMike Leach					   STM_TOUT_HETE STM_ASYNCOUT>;
605e7676a00SMike Leach			arm,trig-out-sigs = <4 5>;
606e7676a00SMike Leach			arm,trig-out-types = <STM_HWEVENT STM_HWEVENT>;
607e7676a00SMike Leach			arm,cs-dev-assoc = <&stm_sys>;
608e7676a00SMike Leach		};
609e7676a00SMike Leach
610e7676a00SMike Leach		trig-conns@3 {
611e7676a00SMike Leach			reg = <3>;
612e7676a00SMike Leach			arm,trig-out-sigs = <2 3>;
613e7676a00SMike Leach			arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
614e7676a00SMike Leach			arm,cs-dev-assoc = <&tpiu_sys>;
615e7676a00SMike Leach		};
616e7676a00SMike Leach	};
617e7676a00SMike Leach
618e7676a00SMike Leach	cti_sys1: cti@20110000 { /* sys_cti_1 */
619e7676a00SMike Leach		compatible = "arm,coresight-cti", "arm,primecell";
620e7676a00SMike Leach		reg = <0 0x20110000 0 0x1000>;
621e7676a00SMike Leach
622e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
623e7676a00SMike Leach		clock-names = "apb_pclk";
624e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
625e7676a00SMike Leach
626e7676a00SMike Leach		#address-cells = <1>;
627e7676a00SMike Leach		#size-cells = <0>;
628e7676a00SMike Leach
629e7676a00SMike Leach		trig-conns@0 {
630e7676a00SMike Leach			reg = <0>;
631e7676a00SMike Leach			arm,trig-in-sigs = <0>;
632e7676a00SMike Leach			arm,trig-in-types = <GEN_INTREQ>;
633e7676a00SMike Leach			arm,trig-out-sigs = <0>;
634e7676a00SMike Leach			arm,trig-out-types = <GEN_HALTREQ>;
635e7676a00SMike Leach			arm,trig-conn-name = "sys_profiler";
636e7676a00SMike Leach		};
637e7676a00SMike Leach
638e7676a00SMike Leach		trig-conns@1 {
639e7676a00SMike Leach			reg = <1>;
640e7676a00SMike Leach			arm,trig-out-sigs = <2 3>;
641e7676a00SMike Leach			arm,trig-out-types = <GEN_HALTREQ GEN_RESTARTREQ>;
642e7676a00SMike Leach			arm,trig-conn-name = "watchdog";
643e7676a00SMike Leach		};
644e7676a00SMike Leach
645e7676a00SMike Leach		trig-conns@2 {
646e7676a00SMike Leach			reg = <2>;
647e7676a00SMike Leach			arm,trig-out-sigs = <1 6>;
648e7676a00SMike Leach			arm,trig-out-types = <GEN_HALTREQ GEN_RESTARTREQ>;
649e7676a00SMike Leach			arm,trig-conn-name = "g_counter";
650e7676a00SMike Leach		};
651e7676a00SMike Leach	};
652e7676a00SMike Leach
653577dd5deSRobin Murphy	gpu: gpu@2d000000 {
654577dd5deSRobin Murphy		compatible = "arm,juno-mali", "arm,mali-t624";
655577dd5deSRobin Murphy		reg = <0 0x2d000000 0 0x10000>;
65636d48981SAndre Przywara		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
65736d48981SAndre Przywara			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
65836d48981SAndre Przywara			     <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
65936d48981SAndre Przywara		interrupt-names = "job", "mmu", "gpu";
660577dd5deSRobin Murphy		clocks = <&scpi_dvfs 2>;
661577dd5deSRobin Murphy		power-domains = <&scpi_devpd 1>;
662577dd5deSRobin Murphy		dma-coherent;
663577dd5deSRobin Murphy		/* The SMMU is only really of interest to bare-metal hypervisors */
664577dd5deSRobin Murphy		/* iommus = <&smmu_gpu 0>; */
665577dd5deSRobin Murphy	};
666577dd5deSRobin Murphy
667ff9a6262SSudeep Holla	sram: sram@2e000000 {
668ff9a6262SSudeep Holla		compatible = "arm,juno-sram-ns", "mmio-sram";
669ff9a6262SSudeep Holla		reg = <0x0 0x2e000000 0x0 0x8000>;
670ff9a6262SSudeep Holla
671ff9a6262SSudeep Holla		#address-cells = <1>;
672ff9a6262SSudeep Holla		#size-cells = <1>;
673ff9a6262SSudeep Holla		ranges = <0 0x0 0x2e000000 0x8000>;
674ff9a6262SSudeep Holla
67594cc3f1bSAndre Przywara		cpu_scp_lpri: scp-sram@0 {
676ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
677ff9a6262SSudeep Holla			reg = <0x0 0x200>;
678ff9a6262SSudeep Holla		};
679ff9a6262SSudeep Holla
68094cc3f1bSAndre Przywara		cpu_scp_hpri: scp-sram@200 {
681ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
682ff9a6262SSudeep Holla			reg = <0x200 0x200>;
683ff9a6262SSudeep Holla		};
684ff9a6262SSudeep Holla	};
685ff9a6262SSudeep Holla
686dc10ef2dSRob Herring	pcie_ctlr: pcie@40000000 {
68736582c60SSudeep Holla		compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic";
68836582c60SSudeep Holla		device_type = "pci";
68936582c60SSudeep Holla		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
69036582c60SSudeep Holla		bus-range = <0 255>;
69136582c60SSudeep Holla		linux,pci-domain = <0>;
69236582c60SSudeep Holla		#address-cells = <3>;
69336582c60SSudeep Holla		#size-cells = <2>;
69436582c60SSudeep Holla		dma-coherent;
6954c9456dfSJeremy Linton		ranges = <0x01000000 0x00 0x00000000 0x00 0x5f800000 0x0 0x00800000>,
69636582c60SSudeep Holla			 <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>,
69736582c60SSudeep Holla			 <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
6984ac4d146SRobin Murphy		/* Standard AXI Translation entries as programmed by EDK2 */
69931eeb6b0SRobin Murphy		dma-ranges = <0x02000000 0x0 0x80000000 0x0 0x80000000 0x0 0x80000000>,
7004ac4d146SRobin Murphy			     <0x43000000 0x8 0x00000000 0x8 0x00000000 0x2 0x00000000>;
70136582c60SSudeep Holla		#interrupt-cells = <1>;
70236582c60SSudeep Holla		interrupt-map-mask = <0 0 0 7>;
703a78aee9eSAndre Przywara		interrupt-map = <0 0 0 1 &gic 0 GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
704a78aee9eSAndre Przywara				<0 0 0 2 &gic 0 GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
705a78aee9eSAndre Przywara				<0 0 0 3 &gic 0 GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
706a78aee9eSAndre Przywara				<0 0 0 4 &gic 0 GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
70736582c60SSudeep Holla		msi-parent = <&v2m_0>;
70836582c60SSudeep Holla		status = "disabled";
7092ac15068SRobin Murphy		iommu-map-mask = <0x0>;	/* RC has no means to output PCI RID */
7102ac15068SRobin Murphy		iommu-map = <0x0 &smmu_pcie 0x0 0x1>;
71136582c60SSudeep Holla	};
71236582c60SSudeep Holla
713ff9a6262SSudeep Holla	scpi {
714ff9a6262SSudeep Holla		compatible = "arm,scpi";
715ff9a6262SSudeep Holla		mboxes = <&mailbox 1>;
716ff9a6262SSudeep Holla		shmem = <&cpu_scp_hpri>;
717ff9a6262SSudeep Holla
718ff9a6262SSudeep Holla		clocks {
719ff9a6262SSudeep Holla			compatible = "arm,scpi-clocks";
720ff9a6262SSudeep Holla
72170010556SSudeep Holla			scpi_dvfs: clocks-0 {
722ff9a6262SSudeep Holla				compatible = "arm,scpi-dvfs-clocks";
723ff9a6262SSudeep Holla				#clock-cells = <1>;
724ff9a6262SSudeep Holla				clock-indices = <0>, <1>, <2>;
725ff9a6262SSudeep Holla				clock-output-names = "atlclk", "aplclk","gpuclk";
726ff9a6262SSudeep Holla			};
72770010556SSudeep Holla			scpi_clk: clocks-1 {
728ff9a6262SSudeep Holla				compatible = "arm,scpi-variable-clocks";
729ff9a6262SSudeep Holla				#clock-cells = <1>;
7309fd9288eSLiviu Dudau				clock-indices = <3>;
7319fd9288eSLiviu Dudau				clock-output-names = "pxlclk";
732ff9a6262SSudeep Holla			};
733ff9a6262SSudeep Holla		};
734dfacaf0eSPunit Agrawal
73570010556SSudeep Holla		scpi_devpd: power-controller {
736bdeaa21aSSudeep Holla			compatible = "arm,scpi-power-domains";
737bdeaa21aSSudeep Holla			num-domains = <2>;
738bdeaa21aSSudeep Holla			#power-domain-cells = <1>;
739bdeaa21aSSudeep Holla		};
740bdeaa21aSSudeep Holla
741dfacaf0eSPunit Agrawal		scpi_sensors0: sensors {
742dfacaf0eSPunit Agrawal			compatible = "arm,scpi-sensors";
743dfacaf0eSPunit Agrawal			#thermal-sensor-cells = <1>;
744dfacaf0eSPunit Agrawal		};
745ff9a6262SSudeep Holla	};
746ff9a6262SSudeep Holla
747f7b636a8SJavi Merino	thermal-zones {
748fb4d25d7SKrzysztof Kozlowski		pmic-thermal {
749f7b636a8SJavi Merino			polling-delay = <1000>;
750f7b636a8SJavi Merino			polling-delay-passive = <100>;
751f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 0>;
752c4a7b9b5SCristian Marussi			trips {
753c4a7b9b5SCristian Marussi				pmic_crit0: trip0 {
754c4a7b9b5SCristian Marussi					temperature = <90000>;
755c4a7b9b5SCristian Marussi					hysteresis = <2000>;
756c4a7b9b5SCristian Marussi					type = "critical";
757c4a7b9b5SCristian Marussi				};
758c4a7b9b5SCristian Marussi			};
759f7b636a8SJavi Merino		};
760f7b636a8SJavi Merino
761fb4d25d7SKrzysztof Kozlowski		soc-thermal {
762f7b636a8SJavi Merino			polling-delay = <1000>;
763f7b636a8SJavi Merino			polling-delay-passive = <100>;
764f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 3>;
765c4a7b9b5SCristian Marussi			trips {
766c4a7b9b5SCristian Marussi				soc_crit0: trip0 {
767c4a7b9b5SCristian Marussi					temperature = <80000>;
768c4a7b9b5SCristian Marussi					hysteresis = <2000>;
769c4a7b9b5SCristian Marussi					type = "critical";
770c4a7b9b5SCristian Marussi				};
771c4a7b9b5SCristian Marussi			};
772f7b636a8SJavi Merino		};
773f7b636a8SJavi Merino
7740b45bd84SKrzysztof Kozlowski		big_cluster_thermal_zone: big-cl-thermal {
775f7b636a8SJavi Merino			polling-delay = <1000>;
776f7b636a8SJavi Merino			polling-delay-passive = <100>;
777f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 21>;
778f7b636a8SJavi Merino			status = "disabled";
779f7b636a8SJavi Merino		};
780f7b636a8SJavi Merino
7810b45bd84SKrzysztof Kozlowski		little_cluster_thermal_zone: little-cl-thermal {
782f7b636a8SJavi Merino			polling-delay = <1000>;
783f7b636a8SJavi Merino			polling-delay-passive = <100>;
784f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 22>;
785f7b636a8SJavi Merino			status = "disabled";
786f7b636a8SJavi Merino		};
787f7b636a8SJavi Merino
788fb4d25d7SKrzysztof Kozlowski		gpu0_thermal_zone: gpu0-thermal {
789f7b636a8SJavi Merino			polling-delay = <1000>;
790f7b636a8SJavi Merino			polling-delay-passive = <100>;
791f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 23>;
792f7b636a8SJavi Merino			status = "disabled";
793f7b636a8SJavi Merino		};
794f7b636a8SJavi Merino
795fb4d25d7SKrzysztof Kozlowski		gpu1_thermal_zone: gpu1-thermal {
796f7b636a8SJavi Merino			polling-delay = <1000>;
797f7b636a8SJavi Merino			polling-delay-passive = <100>;
798f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 24>;
799f7b636a8SJavi Merino			status = "disabled";
800f7b636a8SJavi Merino		};
801f7b636a8SJavi Merino	};
802f7b636a8SJavi Merino
8032ac15068SRobin Murphy	smmu_dma: iommu@7fb00000 {
8042ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
8052ac15068SRobin Murphy		reg = <0x0 0x7fb00000 0x0 0x10000>;
8062ac15068SRobin Murphy		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
8072ac15068SRobin Murphy			     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
8082ac15068SRobin Murphy		#iommu-cells = <1>;
8092ac15068SRobin Murphy		#global-interrupts = <1>;
8102ac15068SRobin Murphy		dma-coherent;
8112ac15068SRobin Murphy	};
8122ac15068SRobin Murphy
8132ac15068SRobin Murphy	smmu_hdlcd1: iommu@7fb10000 {
8142ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
8152ac15068SRobin Murphy		reg = <0x0 0x7fb10000 0x0 0x10000>;
8162ac15068SRobin Murphy		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
8172ac15068SRobin Murphy			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
8182ac15068SRobin Murphy		#iommu-cells = <1>;
8192ac15068SRobin Murphy		#global-interrupts = <1>;
8202ac15068SRobin Murphy	};
8212ac15068SRobin Murphy
8222ac15068SRobin Murphy	smmu_hdlcd0: iommu@7fb20000 {
8232ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
8242ac15068SRobin Murphy		reg = <0x0 0x7fb20000 0x0 0x10000>;
8252ac15068SRobin Murphy		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
8262ac15068SRobin Murphy			     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
8272ac15068SRobin Murphy		#iommu-cells = <1>;
8282ac15068SRobin Murphy		#global-interrupts = <1>;
8292ac15068SRobin Murphy	};
8302ac15068SRobin Murphy
8312ac15068SRobin Murphy	smmu_usb: iommu@7fb30000 {
8322ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
8332ac15068SRobin Murphy		reg = <0x0 0x7fb30000 0x0 0x10000>;
8342ac15068SRobin Murphy		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
8352ac15068SRobin Murphy			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
8362ac15068SRobin Murphy		#iommu-cells = <1>;
8372ac15068SRobin Murphy		#global-interrupts = <1>;
8382ac15068SRobin Murphy		dma-coherent;
8392ac15068SRobin Murphy	};
8402ac15068SRobin Murphy
841e7f127b2SKrzysztof Kozlowski	dma-controller@7ff00000 {
842e8020874SLiviu Dudau		compatible = "arm,pl330", "arm,primecell";
843e8020874SLiviu Dudau		reg = <0x0 0x7ff00000 0 0x1000>;
844e8020874SLiviu Dudau		#dma-cells = <1>;
845e8020874SLiviu Dudau		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
846e8020874SLiviu Dudau			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
847e8020874SLiviu Dudau			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
848e8020874SLiviu Dudau			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
849aeb2ee56SRobin Murphy			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
850e8020874SLiviu Dudau			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
851e8020874SLiviu Dudau			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
852e8020874SLiviu Dudau			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
853e8020874SLiviu Dudau			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
8542ac15068SRobin Murphy		iommus = <&smmu_dma 0>,
8552ac15068SRobin Murphy			 <&smmu_dma 1>,
8562ac15068SRobin Murphy			 <&smmu_dma 2>,
8572ac15068SRobin Murphy			 <&smmu_dma 3>,
8582ac15068SRobin Murphy			 <&smmu_dma 4>,
8592ac15068SRobin Murphy			 <&smmu_dma 5>,
8602ac15068SRobin Murphy			 <&smmu_dma 6>,
8612ac15068SRobin Murphy			 <&smmu_dma 7>,
8622ac15068SRobin Murphy			 <&smmu_dma 8>;
863e8020874SLiviu Dudau		clocks = <&soc_faxiclk>;
864e8020874SLiviu Dudau		clock-names = "apb_pclk";
865e8020874SLiviu Dudau	};
866e8020874SLiviu Dudau
8679fd9288eSLiviu Dudau	hdlcd@7ff50000 {
8689fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
8699fd9288eSLiviu Dudau		reg = <0 0x7ff50000 0 0x1000>;
8709fd9288eSLiviu Dudau		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
8712ac15068SRobin Murphy		iommus = <&smmu_hdlcd1 0>;
8729fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
8739fd9288eSLiviu Dudau		clock-names = "pxlclk";
8749fd9288eSLiviu Dudau
8759fd9288eSLiviu Dudau		port {
8766449e4c9SRob Herring			hdlcd1_output: endpoint {
8779fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_1_input>;
8789fd9288eSLiviu Dudau			};
8799fd9288eSLiviu Dudau		};
8809fd9288eSLiviu Dudau	};
8819fd9288eSLiviu Dudau
8829fd9288eSLiviu Dudau	hdlcd@7ff60000 {
8839fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
8849fd9288eSLiviu Dudau		reg = <0 0x7ff60000 0 0x1000>;
8859fd9288eSLiviu Dudau		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
8862ac15068SRobin Murphy		iommus = <&smmu_hdlcd0 0>;
8879fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
8889fd9288eSLiviu Dudau		clock-names = "pxlclk";
8899fd9288eSLiviu Dudau
8909fd9288eSLiviu Dudau		port {
8916449e4c9SRob Herring			hdlcd0_output: endpoint {
8929fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_0_input>;
8939fd9288eSLiviu Dudau			};
8949fd9288eSLiviu Dudau		};
8959fd9288eSLiviu Dudau	};
8969fd9288eSLiviu Dudau
897608f1b6cSAndre Przywara	soc_uart0: serial@7ff80000 {
898e8020874SLiviu Dudau		compatible = "arm,pl011", "arm,primecell";
899e8020874SLiviu Dudau		reg = <0x0 0x7ff80000 0x0 0x1000>;
900e8020874SLiviu Dudau		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
901e8020874SLiviu Dudau		clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
902e8020874SLiviu Dudau		clock-names = "uartclk", "apb_pclk";
903e8020874SLiviu Dudau	};
904e8020874SLiviu Dudau
905e8020874SLiviu Dudau	i2c@7ffa0000 {
906e8020874SLiviu Dudau		compatible = "snps,designware-i2c";
907e8020874SLiviu Dudau		reg = <0x0 0x7ffa0000 0x0 0x1000>;
908e8020874SLiviu Dudau		#address-cells = <1>;
909e8020874SLiviu Dudau		#size-cells = <0>;
910e8020874SLiviu Dudau		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
911e8020874SLiviu Dudau		clock-frequency = <400000>;
912e8020874SLiviu Dudau		i2c-sda-hold-time-ns = <500>;
913e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
914e8020874SLiviu Dudau
9159fd9288eSLiviu Dudau		hdmi-transmitter@70 {
916e8020874SLiviu Dudau			compatible = "nxp,tda998x";
917e8020874SLiviu Dudau			reg = <0x70>;
9189fd9288eSLiviu Dudau			port {
9196449e4c9SRob Herring				tda998x_0_input: endpoint {
9209fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd0_output>;
9219fd9288eSLiviu Dudau				};
9229fd9288eSLiviu Dudau			};
923e8020874SLiviu Dudau		};
924e8020874SLiviu Dudau
9259fd9288eSLiviu Dudau		hdmi-transmitter@71 {
926e8020874SLiviu Dudau			compatible = "nxp,tda998x";
927e8020874SLiviu Dudau			reg = <0x71>;
9289fd9288eSLiviu Dudau			port {
9296449e4c9SRob Herring				tda998x_1_input: endpoint {
9309fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd1_output>;
9319fd9288eSLiviu Dudau				};
9329fd9288eSLiviu Dudau			};
933e8020874SLiviu Dudau		};
934e8020874SLiviu Dudau	};
935e8020874SLiviu Dudau
936edfac966SAndre Przywara	usb@7ffb0000 {
937e8020874SLiviu Dudau		compatible = "generic-ohci";
938e8020874SLiviu Dudau		reg = <0x0 0x7ffb0000 0x0 0x10000>;
939e8020874SLiviu Dudau		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
9402ac15068SRobin Murphy		iommus = <&smmu_usb 0>;
941e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
942e8020874SLiviu Dudau	};
943e8020874SLiviu Dudau
944edfac966SAndre Przywara	usb@7ffc0000 {
945e8020874SLiviu Dudau		compatible = "generic-ehci";
946e8020874SLiviu Dudau		reg = <0x0 0x7ffc0000 0x0 0x10000>;
947e8020874SLiviu Dudau		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
9482ac15068SRobin Murphy		iommus = <&smmu_usb 0>;
949e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
950e8020874SLiviu Dudau	};
951e8020874SLiviu Dudau
952e8020874SLiviu Dudau	memory-controller@7ffd0000 {
953e8020874SLiviu Dudau		compatible = "arm,pl354", "arm,primecell";
954e8020874SLiviu Dudau		reg = <0 0x7ffd0000 0 0x1000>;
955e8020874SLiviu Dudau		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
956e8020874SLiviu Dudau			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
957e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
958e8020874SLiviu Dudau		clock-names = "apb_pclk";
959e8020874SLiviu Dudau	};
960e8020874SLiviu Dudau
961e8020874SLiviu Dudau	memory@80000000 {
962e8020874SLiviu Dudau		device_type = "memory";
963e8020874SLiviu Dudau		/* last 16MB of the first memory area is reserved for secure world use by firmware */
964e8020874SLiviu Dudau		reg = <0x00000000 0x80000000 0x0 0x7f000000>,
965e8020874SLiviu Dudau		      <0x00000008 0x80000000 0x1 0x80000000>;
966e8020874SLiviu Dudau	};
967e8020874SLiviu Dudau
968bee7ff37SLinus Walleij	bus@8000000 {
969e8020874SLiviu Dudau		#interrupt-cells = <1>;
970e8020874SLiviu Dudau		interrupt-map-mask = <0 0 15>;
971a78aee9eSAndre Przywara		interrupt-map = <0 0  0 &gic 0 GIC_SPI  68 IRQ_TYPE_LEVEL_HIGH>,
972a78aee9eSAndre Przywara				<0 0  1 &gic 0 GIC_SPI  69 IRQ_TYPE_LEVEL_HIGH>,
973a78aee9eSAndre Przywara				<0 0  2 &gic 0 GIC_SPI  70 IRQ_TYPE_LEVEL_HIGH>,
974a78aee9eSAndre Przywara				<0 0  3 &gic 0 GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
975a78aee9eSAndre Przywara				<0 0  4 &gic 0 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
976a78aee9eSAndre Przywara				<0 0  5 &gic 0 GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
977a78aee9eSAndre Przywara				<0 0  6 &gic 0 GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
978a78aee9eSAndre Przywara				<0 0  7 &gic 0 GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
979a78aee9eSAndre Przywara				<0 0  8 &gic 0 GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
980a78aee9eSAndre Przywara				<0 0  9 &gic 0 GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
981a78aee9eSAndre Przywara				<0 0 10 &gic 0 GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
982a78aee9eSAndre Przywara				<0 0 11 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
983a78aee9eSAndre Przywara				<0 0 12 &gic 0 GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
984e8020874SLiviu Dudau	};
985f5f7e455SBrian Starkey
9869d0a36ddSAndre Przywara	site2: tlx-bus@60000000 {
987f5f7e455SBrian Starkey		compatible = "simple-bus";
988f5f7e455SBrian Starkey		#address-cells = <1>;
989f5f7e455SBrian Starkey		#size-cells = <1>;
990f5f7e455SBrian Starkey		ranges = <0 0 0x60000000 0x10000000>;
991f5f7e455SBrian Starkey		#interrupt-cells = <1>;
992f5f7e455SBrian Starkey		interrupt-map-mask = <0 0>;
993a78aee9eSAndre Przywara		interrupt-map = <0 0 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
994f5f7e455SBrian Starkey	};
995d29e849cSSudeep Holla};
996