xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
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>;
1379502355SLiviu Dudau		clock-frequency = <50000000>;
140e529daeSAndre Przywara		#address-cells = <1>;
150e529daeSAndre Przywara		#size-cells = <1>;
160e529daeSAndre Przywara		ranges = <0 0x0 0x2a820000 0x20000>;
1779502355SLiviu Dudau		status = "disabled";
1879502355SLiviu Dudau		frame@2a830000 {
1979502355SLiviu Dudau			frame-number = <1>;
20ef972714SSudeep Holla			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
210e529daeSAndre Przywara			reg = <0x10000 0x10000>;
2279502355SLiviu Dudau		};
2379502355SLiviu Dudau	};
2479502355SLiviu Dudau
25ff9a6262SSudeep Holla	mailbox: mhu@2b1f0000 {
26ff9a6262SSudeep Holla		compatible = "arm,mhu", "arm,primecell";
27ff9a6262SSudeep Holla		reg = <0x0 0x2b1f0000 0x0 0x1000>;
28ff9a6262SSudeep Holla		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
29422ab8feSJassi Brar			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
30422ab8feSJassi Brar			     <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
31ff9a6262SSudeep Holla		#mbox-cells = <1>;
32ff9a6262SSudeep Holla		clocks = <&soc_refclk100mhz>;
33ff9a6262SSudeep Holla		clock-names = "apb_pclk";
34ff9a6262SSudeep Holla	};
35ff9a6262SSudeep Holla
36577dd5deSRobin Murphy	smmu_gpu: iommu@2b400000 {
37577dd5deSRobin Murphy		compatible = "arm,mmu-400", "arm,smmu-v1";
38577dd5deSRobin Murphy		reg = <0x0 0x2b400000 0x0 0x10000>;
39577dd5deSRobin Murphy		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
40577dd5deSRobin Murphy			     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
41577dd5deSRobin Murphy		#iommu-cells = <1>;
42577dd5deSRobin Murphy		#global-interrupts = <1>;
43577dd5deSRobin Murphy		power-domains = <&scpi_devpd 1>;
44577dd5deSRobin Murphy		dma-coherent;
45577dd5deSRobin Murphy		status = "disabled";
46577dd5deSRobin Murphy	};
47577dd5deSRobin Murphy
482ac15068SRobin Murphy	smmu_pcie: iommu@2b500000 {
492ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
502ac15068SRobin Murphy		reg = <0x0 0x2b500000 0x0 0x10000>;
512ac15068SRobin Murphy		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
522ac15068SRobin Murphy			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
532ac15068SRobin Murphy		#iommu-cells = <1>;
542ac15068SRobin Murphy		#global-interrupts = <1>;
552ac15068SRobin Murphy		dma-coherent;
562ac15068SRobin Murphy		status = "disabled";
572ac15068SRobin Murphy	};
582ac15068SRobin Murphy
592ac15068SRobin Murphy	smmu_etr: iommu@2b600000 {
602ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
612ac15068SRobin Murphy		reg = <0x0 0x2b600000 0x0 0x10000>;
622ac15068SRobin Murphy		interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
632ac15068SRobin Murphy			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
642ac15068SRobin Murphy		#iommu-cells = <1>;
652ac15068SRobin Murphy		#global-interrupts = <1>;
662ac15068SRobin Murphy		dma-coherent;
67fd47c206SRobin Murphy		power-domains = <&scpi_devpd 0>;
682ac15068SRobin Murphy	};
692ac15068SRobin Murphy
70e8020874SLiviu Dudau	gic: interrupt-controller@2c010000 {
71e8020874SLiviu Dudau		compatible = "arm,gic-400", "arm,cortex-a15-gic";
72e8020874SLiviu Dudau		reg = <0x0 0x2c010000 0 0x1000>,
73e8020874SLiviu Dudau		      <0x0 0x2c02f000 0 0x2000>,
74e8020874SLiviu Dudau		      <0x0 0x2c04f000 0 0x2000>,
75e8020874SLiviu Dudau		      <0x0 0x2c06f000 0 0x2000>;
76a78aee9eSAndre Przywara		#address-cells = <1>;
77e8020874SLiviu Dudau		#interrupt-cells = <3>;
78a78aee9eSAndre Przywara		#size-cells = <1>;
79e8020874SLiviu Dudau		interrupt-controller;
80e8020874SLiviu Dudau		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
81a78aee9eSAndre Przywara		ranges = <0 0 0x2c1c0000 0x40000>;
8220fd17ffSRobin Murphy
839e6f374fSLiviu Dudau		v2m_0: v2m@0 {
849e6f374fSLiviu Dudau			compatible = "arm,gic-v2m-frame";
859e6f374fSLiviu Dudau			msi-controller;
86a78aee9eSAndre Przywara			reg = <0 0x10000>;
879e6f374fSLiviu Dudau		};
8820fd17ffSRobin Murphy
8920fd17ffSRobin Murphy		v2m@10000 {
9020fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
9120fd17ffSRobin Murphy			msi-controller;
92a78aee9eSAndre Przywara			reg = <0x10000 0x10000>;
9320fd17ffSRobin Murphy		};
9420fd17ffSRobin Murphy
9520fd17ffSRobin Murphy		v2m@20000 {
9620fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
9720fd17ffSRobin Murphy			msi-controller;
98a78aee9eSAndre Przywara			reg = <0x20000 0x10000>;
9920fd17ffSRobin Murphy		};
10020fd17ffSRobin Murphy
10120fd17ffSRobin Murphy		v2m@30000 {
10220fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
10320fd17ffSRobin Murphy			msi-controller;
104a78aee9eSAndre Przywara			reg = <0x30000 0x10000>;
10520fd17ffSRobin Murphy		};
106e8020874SLiviu Dudau	};
107e8020874SLiviu Dudau
108e8020874SLiviu Dudau	timer {
109e8020874SLiviu Dudau		compatible = "arm,armv8-timer";
110e8020874SLiviu Dudau		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
111e8020874SLiviu Dudau			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
112e8020874SLiviu Dudau			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
113e8020874SLiviu Dudau			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
114e8020874SLiviu Dudau	};
115e8020874SLiviu Dudau
1163e287cf6SSudeep Holla	/*
1173e287cf6SSudeep Holla	 * Juno TRMs specify the size for these coresight components as 64K.
1183e287cf6SSudeep Holla	 * The actual size is just 4K though 64K is reserved. Access to the
1193e287cf6SSudeep Holla	 * unmapped reserved region results in a DECERR response.
1203e287cf6SSudeep Holla	 */
121e7676a00SMike Leach	etf_sys0: etf@20010000 { /* etf0 */
1223e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
1233e287cf6SSudeep Holla		reg = <0 0x20010000 0 0x1000>;
1243e287cf6SSudeep Holla
1253e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1263e287cf6SSudeep Holla		clock-names = "apb_pclk";
127bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1283e287cf6SSudeep Holla
12941af6cbfSSuzuki K Poulose		in-ports {
13041af6cbfSSuzuki K Poulose			port {
13119ac17c0SSudeep Holla				etf0_in_port: endpoint {
1323e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_out_port>;
1333e287cf6SSudeep Holla				};
1343e287cf6SSudeep Holla			};
13541af6cbfSSuzuki K Poulose		};
1363e287cf6SSudeep Holla
13741af6cbfSSuzuki K Poulose		out-ports {
13841af6cbfSSuzuki K Poulose			port {
13919ac17c0SSudeep Holla				etf0_out_port: endpoint {
1403e287cf6SSudeep Holla				};
1413e287cf6SSudeep Holla			};
1423e287cf6SSudeep Holla		};
1433e287cf6SSudeep Holla	};
1443e287cf6SSudeep Holla
145e7676a00SMike Leach	tpiu_sys: tpiu@20030000 {
1463e287cf6SSudeep Holla		compatible = "arm,coresight-tpiu", "arm,primecell";
1473e287cf6SSudeep Holla		reg = <0 0x20030000 0 0x1000>;
1483e287cf6SSudeep Holla
1493e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1503e287cf6SSudeep Holla		clock-names = "apb_pclk";
151bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
15241af6cbfSSuzuki K Poulose		in-ports {
1533e287cf6SSudeep Holla			port {
1543e287cf6SSudeep Holla				tpiu_in_port: endpoint {
1553e287cf6SSudeep Holla					remote-endpoint = <&replicator_out_port0>;
1563e287cf6SSudeep Holla				};
1573e287cf6SSudeep Holla			};
1583e287cf6SSudeep Holla		};
15941af6cbfSSuzuki K Poulose	};
1603e287cf6SSudeep Holla
16119ac17c0SSudeep Holla	/* main funnel on Juno r0, cssys0 funnel on Juno r1/r2 as per TRM*/
16219ac17c0SSudeep Holla	main_funnel: funnel@20040000 {
163f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1643e287cf6SSudeep Holla		reg = <0 0x20040000 0 0x1000>;
1653e287cf6SSudeep Holla
1663e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1673e287cf6SSudeep Holla		clock-names = "apb_pclk";
168bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1693e287cf6SSudeep Holla
17041af6cbfSSuzuki K Poulose		out-ports {
17141af6cbfSSuzuki K Poulose			port {
1723e287cf6SSudeep Holla				main_funnel_out_port: endpoint {
17319ac17c0SSudeep Holla					remote-endpoint = <&etf0_in_port>;
1743e287cf6SSudeep Holla				};
1753e287cf6SSudeep Holla			};
17641af6cbfSSuzuki K Poulose		};
1773e287cf6SSudeep Holla
17841af6cbfSSuzuki K Poulose		main_funnel_in_ports: in-ports {
17941af6cbfSSuzuki K Poulose			#address-cells = <1>;
18041af6cbfSSuzuki K Poulose			#size-cells = <0>;
18141af6cbfSSuzuki K Poulose
18241af6cbfSSuzuki K Poulose			port@0 {
1833e287cf6SSudeep Holla				reg = <0>;
1843e287cf6SSudeep Holla				main_funnel_in_port0: endpoint {
1853e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_out_port>;
1863e287cf6SSudeep Holla				};
1873e287cf6SSudeep Holla			};
1883e287cf6SSudeep Holla
18941af6cbfSSuzuki K Poulose			port@1 {
1903e287cf6SSudeep Holla				reg = <1>;
1913e287cf6SSudeep Holla				main_funnel_in_port1: endpoint {
1923e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_out_port>;
1933e287cf6SSudeep Holla				};
1943e287cf6SSudeep Holla			};
1953e287cf6SSudeep Holla		};
1963e287cf6SSudeep Holla	};
1973e287cf6SSudeep Holla
198e7676a00SMike Leach	etr_sys: etr@20070000 {
1993e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
2003e287cf6SSudeep Holla		reg = <0 0x20070000 0 0x1000>;
2012ac15068SRobin Murphy		iommus = <&smmu_etr 0>;
2023e287cf6SSudeep Holla
2033e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2043e287cf6SSudeep Holla		clock-names = "apb_pclk";
205bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
20679daf2a4SSuzuki K Poulose		arm,scatter-gather;
20741af6cbfSSuzuki K Poulose		in-ports {
2083e287cf6SSudeep Holla			port {
2093e287cf6SSudeep Holla				etr_in_port: endpoint {
2103e287cf6SSudeep Holla					remote-endpoint = <&replicator_out_port1>;
2113e287cf6SSudeep Holla				};
2123e287cf6SSudeep Holla			};
2133e287cf6SSudeep Holla		};
21441af6cbfSSuzuki K Poulose	};
2153e287cf6SSudeep Holla
216e7676a00SMike Leach	stm_sys: stm@20100000 {
217cde6f9abSMike Leach		compatible = "arm,coresight-stm", "arm,primecell";
218cde6f9abSMike Leach		reg = <0 0x20100000 0 0x1000>,
219cde6f9abSMike Leach		      <0 0x28000000 0 0x1000000>;
220cde6f9abSMike Leach		reg-names = "stm-base", "stm-stimulus-base";
221cde6f9abSMike Leach
222cde6f9abSMike Leach		clocks = <&soc_smc50mhz>;
223cde6f9abSMike Leach		clock-names = "apb_pclk";
224cde6f9abSMike Leach		power-domains = <&scpi_devpd 0>;
22541af6cbfSSuzuki K Poulose		out-ports {
226cde6f9abSMike Leach			port {
227cde6f9abSMike Leach				stm_out_port: endpoint {
228cde6f9abSMike Leach				};
229cde6f9abSMike Leach			};
230cde6f9abSMike Leach		};
23141af6cbfSSuzuki K Poulose	};
232cde6f9abSMike Leach
23320d00c40SSudeep Holla	replicator@20120000 {
23420d00c40SSudeep Holla		compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
23520d00c40SSudeep Holla		reg = <0 0x20120000 0 0x1000>;
23620d00c40SSudeep Holla
23720d00c40SSudeep Holla		clocks = <&soc_smc50mhz>;
23820d00c40SSudeep Holla		clock-names = "apb_pclk";
23920d00c40SSudeep Holla		power-domains = <&scpi_devpd 0>;
24020d00c40SSudeep Holla
24120d00c40SSudeep Holla		out-ports {
24220d00c40SSudeep Holla			#address-cells = <1>;
24320d00c40SSudeep Holla			#size-cells = <0>;
24420d00c40SSudeep Holla
24520d00c40SSudeep Holla			/* replicator output ports */
24620d00c40SSudeep Holla			port@0 {
24720d00c40SSudeep Holla				reg = <0>;
24820d00c40SSudeep Holla				replicator_out_port0: endpoint {
24920d00c40SSudeep Holla					remote-endpoint = <&tpiu_in_port>;
25020d00c40SSudeep Holla				};
25120d00c40SSudeep Holla			};
25220d00c40SSudeep Holla
25320d00c40SSudeep Holla			port@1 {
25420d00c40SSudeep Holla				reg = <1>;
25520d00c40SSudeep Holla				replicator_out_port1: endpoint {
25620d00c40SSudeep Holla					remote-endpoint = <&etr_in_port>;
25720d00c40SSudeep Holla				};
25820d00c40SSudeep Holla			};
25920d00c40SSudeep Holla		};
26020d00c40SSudeep Holla		in-ports {
26120d00c40SSudeep Holla			port {
26220d00c40SSudeep Holla				replicator_in_port0: endpoint {
26320d00c40SSudeep Holla				};
26420d00c40SSudeep Holla			};
26520d00c40SSudeep Holla		};
26620d00c40SSudeep Holla	};
26720d00c40SSudeep Holla
268207b6e6bSSudeep Holla	cpu_debug0: cpu-debug@22010000 {
26960f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
27060f01d7aSSuzuki K Poulose		reg = <0x0 0x22010000 0x0 0x1000>;
27160f01d7aSSuzuki K Poulose
27260f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
27360f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
27460f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
27560f01d7aSSuzuki K Poulose	};
27660f01d7aSSuzuki K Poulose
2773e287cf6SSudeep Holla	etm0: etm@22040000 {
2783e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
2793e287cf6SSudeep Holla		reg = <0 0x22040000 0 0x1000>;
2803e287cf6SSudeep Holla
2813e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2823e287cf6SSudeep Holla		clock-names = "apb_pclk";
283bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
28441af6cbfSSuzuki K Poulose		out-ports {
2853e287cf6SSudeep Holla			port {
2863e287cf6SSudeep Holla				cluster0_etm0_out_port: endpoint {
2873e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_in_port0>;
2883e287cf6SSudeep Holla				};
2893e287cf6SSudeep Holla			};
2903e287cf6SSudeep Holla		};
29141af6cbfSSuzuki K Poulose	};
2923e287cf6SSudeep Holla
293e7676a00SMike Leach	cti0: cti@22020000 {
294e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
295e7676a00SMike Leach			     "arm,primecell";
296e7676a00SMike Leach		reg = <0 0x22020000 0 0x1000>;
297e7676a00SMike Leach
298e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
299e7676a00SMike Leach		clock-names = "apb_pclk";
300e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
301e7676a00SMike Leach
302e7676a00SMike Leach		arm,cs-dev-assoc = <&etm0>;
303e7676a00SMike Leach	};
304e7676a00SMike Leach
30519ac17c0SSudeep Holla	funnel@220c0000 { /* cluster0 funnel */
306f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3073e287cf6SSudeep Holla		reg = <0 0x220c0000 0 0x1000>;
3083e287cf6SSudeep Holla
3093e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3103e287cf6SSudeep Holla		clock-names = "apb_pclk";
311bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
31241af6cbfSSuzuki K Poulose		out-ports {
31341af6cbfSSuzuki K Poulose			port {
31441af6cbfSSuzuki K Poulose				cluster0_funnel_out_port: endpoint {
31541af6cbfSSuzuki K Poulose					remote-endpoint = <&main_funnel_in_port0>;
31641af6cbfSSuzuki K Poulose				};
31741af6cbfSSuzuki K Poulose			};
31841af6cbfSSuzuki K Poulose		};
31941af6cbfSSuzuki K Poulose
32041af6cbfSSuzuki K Poulose		in-ports {
3213e287cf6SSudeep Holla			#address-cells = <1>;
3223e287cf6SSudeep Holla			#size-cells = <0>;
3233e287cf6SSudeep Holla
3243e287cf6SSudeep Holla			port@0 {
3253e287cf6SSudeep Holla				reg = <0>;
3263e287cf6SSudeep Holla				cluster0_funnel_in_port0: endpoint {
3273e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm0_out_port>;
3283e287cf6SSudeep Holla				};
3293e287cf6SSudeep Holla			};
3303e287cf6SSudeep Holla
33141af6cbfSSuzuki K Poulose			port@1 {
3323e287cf6SSudeep Holla				reg = <1>;
3333e287cf6SSudeep Holla				cluster0_funnel_in_port1: endpoint {
3343e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm1_out_port>;
3353e287cf6SSudeep Holla				};
3363e287cf6SSudeep Holla			};
3373e287cf6SSudeep Holla		};
3383e287cf6SSudeep Holla	};
3393e287cf6SSudeep Holla
340207b6e6bSSudeep Holla	cpu_debug1: cpu-debug@22110000 {
34160f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
34260f01d7aSSuzuki K Poulose		reg = <0x0 0x22110000 0x0 0x1000>;
34360f01d7aSSuzuki K Poulose
34460f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
34560f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
34660f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
34760f01d7aSSuzuki K Poulose	};
34860f01d7aSSuzuki K Poulose
3493e287cf6SSudeep Holla	etm1: etm@22140000 {
3503e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3513e287cf6SSudeep Holla		reg = <0 0x22140000 0 0x1000>;
3523e287cf6SSudeep Holla
3533e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3543e287cf6SSudeep Holla		clock-names = "apb_pclk";
355bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
35641af6cbfSSuzuki K Poulose		out-ports {
3573e287cf6SSudeep Holla			port {
3583e287cf6SSudeep Holla				cluster0_etm1_out_port: endpoint {
3593e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_in_port1>;
3603e287cf6SSudeep Holla				};
3613e287cf6SSudeep Holla			};
3623e287cf6SSudeep Holla		};
36341af6cbfSSuzuki K Poulose	};
3643e287cf6SSudeep Holla
365e7676a00SMike Leach	cti1: cti@22120000 {
366e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
367e7676a00SMike Leach			     "arm,primecell";
368e7676a00SMike Leach		reg = <0 0x22120000 0 0x1000>;
369e7676a00SMike Leach
370e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
371e7676a00SMike Leach		clock-names = "apb_pclk";
372e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
373e7676a00SMike Leach
374e7676a00SMike Leach		arm,cs-dev-assoc = <&etm1>;
375e7676a00SMike Leach	};
376e7676a00SMike Leach
377207b6e6bSSudeep Holla	cpu_debug2: cpu-debug@23010000 {
37860f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
37960f01d7aSSuzuki K Poulose		reg = <0x0 0x23010000 0x0 0x1000>;
38060f01d7aSSuzuki K Poulose
38160f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
38260f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
38360f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
38460f01d7aSSuzuki K Poulose	};
38560f01d7aSSuzuki K Poulose
3863e287cf6SSudeep Holla	etm2: etm@23040000 {
3873e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3883e287cf6SSudeep Holla		reg = <0 0x23040000 0 0x1000>;
3893e287cf6SSudeep Holla
3903e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3913e287cf6SSudeep Holla		clock-names = "apb_pclk";
392bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
39341af6cbfSSuzuki K Poulose		out-ports {
3943e287cf6SSudeep Holla			port {
3953e287cf6SSudeep Holla				cluster1_etm0_out_port: endpoint {
3963e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port0>;
3973e287cf6SSudeep Holla				};
3983e287cf6SSudeep Holla			};
3993e287cf6SSudeep Holla		};
40041af6cbfSSuzuki K Poulose	};
4013e287cf6SSudeep Holla
402e7676a00SMike Leach	cti2: cti@23020000 {
403e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
404e7676a00SMike Leach			     "arm,primecell";
405e7676a00SMike Leach		reg = <0 0x23020000 0 0x1000>;
406e7676a00SMike Leach
407e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
408e7676a00SMike Leach		clock-names = "apb_pclk";
409e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
410e7676a00SMike Leach
411e7676a00SMike Leach		arm,cs-dev-assoc = <&etm2>;
412e7676a00SMike Leach	};
413e7676a00SMike Leach
41419ac17c0SSudeep Holla	funnel@230c0000 { /* cluster1 funnel */
415f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
4163e287cf6SSudeep Holla		reg = <0 0x230c0000 0 0x1000>;
4173e287cf6SSudeep Holla
4183e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4193e287cf6SSudeep Holla		clock-names = "apb_pclk";
420bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
42141af6cbfSSuzuki K Poulose		out-ports {
42241af6cbfSSuzuki K Poulose			port {
42341af6cbfSSuzuki K Poulose				cluster1_funnel_out_port: endpoint {
42441af6cbfSSuzuki K Poulose					remote-endpoint = <&main_funnel_in_port1>;
42541af6cbfSSuzuki K Poulose				};
42641af6cbfSSuzuki K Poulose			};
42741af6cbfSSuzuki K Poulose		};
42841af6cbfSSuzuki K Poulose
42941af6cbfSSuzuki K Poulose		in-ports {
4303e287cf6SSudeep Holla			#address-cells = <1>;
4313e287cf6SSudeep Holla			#size-cells = <0>;
4323e287cf6SSudeep Holla
4333e287cf6SSudeep Holla			port@0 {
4343e287cf6SSudeep Holla				reg = <0>;
4353e287cf6SSudeep Holla				cluster1_funnel_in_port0: endpoint {
4363e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm0_out_port>;
4373e287cf6SSudeep Holla				};
4383e287cf6SSudeep Holla			};
4393e287cf6SSudeep Holla
44041af6cbfSSuzuki K Poulose			port@1 {
4413e287cf6SSudeep Holla				reg = <1>;
4423e287cf6SSudeep Holla				cluster1_funnel_in_port1: endpoint {
4433e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm1_out_port>;
4443e287cf6SSudeep Holla				};
4453e287cf6SSudeep Holla			};
44641af6cbfSSuzuki K Poulose			port@2 {
4473e287cf6SSudeep Holla				reg = <2>;
4483e287cf6SSudeep Holla				cluster1_funnel_in_port2: endpoint {
4493e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm2_out_port>;
4503e287cf6SSudeep Holla				};
4513e287cf6SSudeep Holla			};
45241af6cbfSSuzuki K Poulose			port@3 {
4533e287cf6SSudeep Holla				reg = <3>;
4543e287cf6SSudeep Holla				cluster1_funnel_in_port3: endpoint {
4553e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm3_out_port>;
4563e287cf6SSudeep Holla				};
4573e287cf6SSudeep Holla			};
4583e287cf6SSudeep Holla		};
4593e287cf6SSudeep Holla	};
4603e287cf6SSudeep Holla
461207b6e6bSSudeep Holla	cpu_debug3: cpu-debug@23110000 {
46260f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
46360f01d7aSSuzuki K Poulose		reg = <0x0 0x23110000 0x0 0x1000>;
46460f01d7aSSuzuki K Poulose
46560f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
46660f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
46760f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
46860f01d7aSSuzuki K Poulose	};
46960f01d7aSSuzuki K Poulose
4703e287cf6SSudeep Holla	etm3: etm@23140000 {
4713e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
4723e287cf6SSudeep Holla		reg = <0 0x23140000 0 0x1000>;
4733e287cf6SSudeep Holla
4743e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4753e287cf6SSudeep Holla		clock-names = "apb_pclk";
476bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
47741af6cbfSSuzuki K Poulose		out-ports {
4783e287cf6SSudeep Holla			port {
4793e287cf6SSudeep Holla				cluster1_etm1_out_port: endpoint {
4803e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port1>;
4813e287cf6SSudeep Holla				};
4823e287cf6SSudeep Holla			};
4833e287cf6SSudeep Holla		};
48441af6cbfSSuzuki K Poulose	};
4853e287cf6SSudeep Holla
486e7676a00SMike Leach	cti3: cti@23120000 {
487e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
488e7676a00SMike Leach			     "arm,primecell";
489e7676a00SMike Leach		reg = <0 0x23120000 0 0x1000>;
490e7676a00SMike Leach
491e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
492e7676a00SMike Leach		clock-names = "apb_pclk";
493e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
494e7676a00SMike Leach
495e7676a00SMike Leach		arm,cs-dev-assoc = <&etm3>;
496e7676a00SMike Leach	};
497e7676a00SMike Leach
498207b6e6bSSudeep Holla	cpu_debug4: cpu-debug@23210000 {
49960f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
50060f01d7aSSuzuki K Poulose		reg = <0x0 0x23210000 0x0 0x1000>;
50160f01d7aSSuzuki K Poulose
50260f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
50360f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
50460f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
50560f01d7aSSuzuki K Poulose	};
50660f01d7aSSuzuki K Poulose
5073e287cf6SSudeep Holla	etm4: etm@23240000 {
5083e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
5093e287cf6SSudeep Holla		reg = <0 0x23240000 0 0x1000>;
5103e287cf6SSudeep Holla
5113e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
5123e287cf6SSudeep Holla		clock-names = "apb_pclk";
513bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
51441af6cbfSSuzuki K Poulose		out-ports {
5153e287cf6SSudeep Holla			port {
5163e287cf6SSudeep Holla				cluster1_etm2_out_port: endpoint {
5173e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port2>;
5183e287cf6SSudeep Holla				};
5193e287cf6SSudeep Holla			};
5203e287cf6SSudeep Holla		};
52141af6cbfSSuzuki K Poulose	};
5223e287cf6SSudeep Holla
523e7676a00SMike Leach	cti4: cti@23220000 {
524e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
525e7676a00SMike Leach			     "arm,primecell";
526e7676a00SMike Leach		reg = <0 0x23220000 0 0x1000>;
527e7676a00SMike Leach
528e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
529e7676a00SMike Leach		clock-names = "apb_pclk";
530e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
531e7676a00SMike Leach
532e7676a00SMike Leach		arm,cs-dev-assoc = <&etm4>;
533e7676a00SMike Leach	};
534e7676a00SMike Leach
535207b6e6bSSudeep Holla	cpu_debug5: cpu-debug@23310000 {
53660f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
53760f01d7aSSuzuki K Poulose		reg = <0x0 0x23310000 0x0 0x1000>;
53860f01d7aSSuzuki K Poulose
53960f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
54060f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
54160f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
54260f01d7aSSuzuki K Poulose	};
54360f01d7aSSuzuki K Poulose
5443e287cf6SSudeep Holla	etm5: etm@23340000 {
5453e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
5463e287cf6SSudeep Holla		reg = <0 0x23340000 0 0x1000>;
5473e287cf6SSudeep Holla
5483e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
5493e287cf6SSudeep Holla		clock-names = "apb_pclk";
550bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
55141af6cbfSSuzuki K Poulose		out-ports {
5523e287cf6SSudeep Holla			port {
5533e287cf6SSudeep Holla				cluster1_etm3_out_port: endpoint {
5543e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port3>;
5553e287cf6SSudeep Holla				};
5563e287cf6SSudeep Holla			};
5573e287cf6SSudeep Holla		};
55841af6cbfSSuzuki K Poulose	};
5593e287cf6SSudeep Holla
560e7676a00SMike Leach	cti5: cti@23320000 {
561e7676a00SMike Leach		compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
562e7676a00SMike Leach			     "arm,primecell";
563e7676a00SMike Leach		reg = <0 0x23320000 0 0x1000>;
564e7676a00SMike Leach
565e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
566e7676a00SMike Leach		clock-names = "apb_pclk";
567e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
568e7676a00SMike Leach
569e7676a00SMike Leach		arm,cs-dev-assoc = <&etm5>;
570e7676a00SMike Leach	};
571e7676a00SMike Leach
572e7676a00SMike Leach	cti_sys0: cti@20020000 { /* sys_cti_0 */
573e7676a00SMike Leach		compatible = "arm,coresight-cti", "arm,primecell";
574e7676a00SMike Leach		reg = <0 0x20020000 0 0x1000>;
575e7676a00SMike Leach
576e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
577e7676a00SMike Leach		clock-names = "apb_pclk";
578e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
579e7676a00SMike Leach
580e7676a00SMike Leach		#address-cells = <1>;
581e7676a00SMike Leach		#size-cells = <0>;
582e7676a00SMike Leach
583e7676a00SMike Leach		trig-conns@0 {
584e7676a00SMike Leach			reg = <0>;
585e7676a00SMike Leach			arm,trig-in-sigs = <2 3>;
586e7676a00SMike Leach			arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>;
587e7676a00SMike Leach			arm,trig-out-sigs = <0 1>;
588e7676a00SMike Leach			arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
589e7676a00SMike Leach			arm,cs-dev-assoc = <&etr_sys>;
590e7676a00SMike Leach		};
591e7676a00SMike Leach
592e7676a00SMike Leach		trig-conns@1 {
593e7676a00SMike Leach			reg = <1>;
594e7676a00SMike Leach			arm,trig-in-sigs = <0 1>;
595e7676a00SMike Leach			arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>;
596e7676a00SMike Leach			arm,trig-out-sigs = <7 6>;
597e7676a00SMike Leach			arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
598e7676a00SMike Leach			arm,cs-dev-assoc = <&etf_sys0>;
599e7676a00SMike Leach		};
600e7676a00SMike Leach
601e7676a00SMike Leach		trig-conns@2 {
602e7676a00SMike Leach			reg = <2>;
603e7676a00SMike Leach			arm,trig-in-sigs = <4 5 6 7>;
604e7676a00SMike Leach			arm,trig-in-types = <STM_TOUT_SPTE STM_TOUT_SW
605e7676a00SMike Leach					   STM_TOUT_HETE STM_ASYNCOUT>;
606e7676a00SMike Leach			arm,trig-out-sigs = <4 5>;
607e7676a00SMike Leach			arm,trig-out-types = <STM_HWEVENT STM_HWEVENT>;
608e7676a00SMike Leach			arm,cs-dev-assoc = <&stm_sys>;
609e7676a00SMike Leach		};
610e7676a00SMike Leach
611e7676a00SMike Leach		trig-conns@3 {
612e7676a00SMike Leach			reg = <3>;
613e7676a00SMike Leach			arm,trig-out-sigs = <2 3>;
614e7676a00SMike Leach			arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
615e7676a00SMike Leach			arm,cs-dev-assoc = <&tpiu_sys>;
616e7676a00SMike Leach		};
617e7676a00SMike Leach	};
618e7676a00SMike Leach
619e7676a00SMike Leach	cti_sys1: cti@20110000 { /* sys_cti_1 */
620e7676a00SMike Leach		compatible = "arm,coresight-cti", "arm,primecell";
621e7676a00SMike Leach		reg = <0 0x20110000 0 0x1000>;
622e7676a00SMike Leach
623e7676a00SMike Leach		clocks = <&soc_smc50mhz>;
624e7676a00SMike Leach		clock-names = "apb_pclk";
625e7676a00SMike Leach		power-domains = <&scpi_devpd 0>;
626e7676a00SMike Leach
627e7676a00SMike Leach		#address-cells = <1>;
628e7676a00SMike Leach		#size-cells = <0>;
629e7676a00SMike Leach
630e7676a00SMike Leach		trig-conns@0 {
631e7676a00SMike Leach			reg = <0>;
632e7676a00SMike Leach			arm,trig-in-sigs = <0>;
633e7676a00SMike Leach			arm,trig-in-types = <GEN_INTREQ>;
634e7676a00SMike Leach			arm,trig-out-sigs = <0>;
635e7676a00SMike Leach			arm,trig-out-types = <GEN_HALTREQ>;
636e7676a00SMike Leach			arm,trig-conn-name = "sys_profiler";
637e7676a00SMike Leach		};
638e7676a00SMike Leach
639e7676a00SMike Leach		trig-conns@1 {
640e7676a00SMike Leach			reg = <1>;
641e7676a00SMike Leach			arm,trig-out-sigs = <2 3>;
642e7676a00SMike Leach			arm,trig-out-types = <GEN_HALTREQ GEN_RESTARTREQ>;
643e7676a00SMike Leach			arm,trig-conn-name = "watchdog";
644e7676a00SMike Leach		};
645e7676a00SMike Leach
646e7676a00SMike Leach		trig-conns@2 {
647e7676a00SMike Leach			reg = <2>;
648e7676a00SMike Leach			arm,trig-out-sigs = <1 6>;
649e7676a00SMike Leach			arm,trig-out-types = <GEN_HALTREQ GEN_RESTARTREQ>;
650e7676a00SMike Leach			arm,trig-conn-name = "g_counter";
651e7676a00SMike Leach		};
652e7676a00SMike Leach	};
653e7676a00SMike Leach
654577dd5deSRobin Murphy	gpu: gpu@2d000000 {
655577dd5deSRobin Murphy		compatible = "arm,juno-mali", "arm,mali-t624";
656577dd5deSRobin Murphy		reg = <0 0x2d000000 0 0x10000>;
65736d48981SAndre Przywara		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
65836d48981SAndre Przywara			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
65936d48981SAndre Przywara			     <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
66036d48981SAndre Przywara		interrupt-names = "job", "mmu", "gpu";
661577dd5deSRobin Murphy		clocks = <&scpi_dvfs 2>;
662577dd5deSRobin Murphy		power-domains = <&scpi_devpd 1>;
663577dd5deSRobin Murphy		dma-coherent;
664577dd5deSRobin Murphy		/* The SMMU is only really of interest to bare-metal hypervisors */
665577dd5deSRobin Murphy		/* iommus = <&smmu_gpu 0>; */
666577dd5deSRobin Murphy		status = "disabled";
667577dd5deSRobin Murphy	};
668577dd5deSRobin Murphy
669ff9a6262SSudeep Holla	sram: sram@2e000000 {
670ff9a6262SSudeep Holla		compatible = "arm,juno-sram-ns", "mmio-sram";
671ff9a6262SSudeep Holla		reg = <0x0 0x2e000000 0x0 0x8000>;
672ff9a6262SSudeep Holla
673ff9a6262SSudeep Holla		#address-cells = <1>;
674ff9a6262SSudeep Holla		#size-cells = <1>;
675ff9a6262SSudeep Holla		ranges = <0 0x0 0x2e000000 0x8000>;
676ff9a6262SSudeep Holla
67794cc3f1bSAndre Przywara		cpu_scp_lpri: scp-sram@0 {
678ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
679ff9a6262SSudeep Holla			reg = <0x0 0x200>;
680ff9a6262SSudeep Holla		};
681ff9a6262SSudeep Holla
68294cc3f1bSAndre Przywara		cpu_scp_hpri: scp-sram@200 {
683ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
684ff9a6262SSudeep Holla			reg = <0x200 0x200>;
685ff9a6262SSudeep Holla		};
686ff9a6262SSudeep Holla	};
687ff9a6262SSudeep Holla
688dc10ef2dSRob Herring	pcie_ctlr: pcie@40000000 {
68936582c60SSudeep Holla		compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic";
69036582c60SSudeep Holla		device_type = "pci";
69136582c60SSudeep Holla		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
69236582c60SSudeep Holla		bus-range = <0 255>;
69336582c60SSudeep Holla		linux,pci-domain = <0>;
69436582c60SSudeep Holla		#address-cells = <3>;
69536582c60SSudeep Holla		#size-cells = <2>;
69636582c60SSudeep Holla		dma-coherent;
6974c9456dfSJeremy Linton		ranges = <0x01000000 0x00 0x00000000 0x00 0x5f800000 0x0 0x00800000>,
69836582c60SSudeep Holla			 <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>,
69936582c60SSudeep Holla			 <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
7004ac4d146SRobin Murphy		/* Standard AXI Translation entries as programmed by EDK2 */
70131eeb6b0SRobin Murphy		dma-ranges = <0x02000000 0x0 0x80000000 0x0 0x80000000 0x0 0x80000000>,
7024ac4d146SRobin Murphy			     <0x43000000 0x8 0x00000000 0x8 0x00000000 0x2 0x00000000>;
70336582c60SSudeep Holla		#interrupt-cells = <1>;
70436582c60SSudeep Holla		interrupt-map-mask = <0 0 0 7>;
705a78aee9eSAndre Przywara		interrupt-map = <0 0 0 1 &gic 0 GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
706a78aee9eSAndre Przywara				<0 0 0 2 &gic 0 GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
707a78aee9eSAndre Przywara				<0 0 0 3 &gic 0 GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
708a78aee9eSAndre Przywara				<0 0 0 4 &gic 0 GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
70936582c60SSudeep Holla		msi-parent = <&v2m_0>;
71036582c60SSudeep Holla		status = "disabled";
7112ac15068SRobin Murphy		iommu-map-mask = <0x0>;	/* RC has no means to output PCI RID */
7122ac15068SRobin Murphy		iommu-map = <0x0 &smmu_pcie 0x0 0x1>;
71336582c60SSudeep Holla	};
71436582c60SSudeep Holla
715ff9a6262SSudeep Holla	scpi {
716ff9a6262SSudeep Holla		compatible = "arm,scpi";
717ff9a6262SSudeep Holla		mboxes = <&mailbox 1>;
718ff9a6262SSudeep Holla		shmem = <&cpu_scp_hpri>;
719ff9a6262SSudeep Holla
720ff9a6262SSudeep Holla		clocks {
721ff9a6262SSudeep Holla			compatible = "arm,scpi-clocks";
722ff9a6262SSudeep Holla
72370010556SSudeep Holla			scpi_dvfs: clocks-0 {
724ff9a6262SSudeep Holla				compatible = "arm,scpi-dvfs-clocks";
725ff9a6262SSudeep Holla				#clock-cells = <1>;
726ff9a6262SSudeep Holla				clock-indices = <0>, <1>, <2>;
727ff9a6262SSudeep Holla				clock-output-names = "atlclk", "aplclk","gpuclk";
728ff9a6262SSudeep Holla			};
72970010556SSudeep Holla			scpi_clk: clocks-1 {
730ff9a6262SSudeep Holla				compatible = "arm,scpi-variable-clocks";
731ff9a6262SSudeep Holla				#clock-cells = <1>;
7329fd9288eSLiviu Dudau				clock-indices = <3>;
7339fd9288eSLiviu Dudau				clock-output-names = "pxlclk";
734ff9a6262SSudeep Holla			};
735ff9a6262SSudeep Holla		};
736dfacaf0eSPunit Agrawal
73770010556SSudeep Holla		scpi_devpd: power-controller {
738bdeaa21aSSudeep Holla			compatible = "arm,scpi-power-domains";
739bdeaa21aSSudeep Holla			num-domains = <2>;
740bdeaa21aSSudeep Holla			#power-domain-cells = <1>;
741bdeaa21aSSudeep Holla		};
742bdeaa21aSSudeep Holla
743dfacaf0eSPunit Agrawal		scpi_sensors0: sensors {
744dfacaf0eSPunit Agrawal			compatible = "arm,scpi-sensors";
745dfacaf0eSPunit Agrawal			#thermal-sensor-cells = <1>;
746dfacaf0eSPunit Agrawal		};
747ff9a6262SSudeep Holla	};
748ff9a6262SSudeep Holla
749f7b636a8SJavi Merino	thermal-zones {
750f7b636a8SJavi Merino		pmic {
751f7b636a8SJavi Merino			polling-delay = <1000>;
752f7b636a8SJavi Merino			polling-delay-passive = <100>;
753f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 0>;
754*c4a7b9b5SCristian Marussi			trips {
755*c4a7b9b5SCristian Marussi				pmic_crit0: trip0 {
756*c4a7b9b5SCristian Marussi					temperature = <90000>;
757*c4a7b9b5SCristian Marussi					hysteresis = <2000>;
758*c4a7b9b5SCristian Marussi					type = "critical";
759*c4a7b9b5SCristian Marussi				};
760*c4a7b9b5SCristian Marussi			};
761f7b636a8SJavi Merino		};
762f7b636a8SJavi Merino
763f7b636a8SJavi Merino		soc {
764f7b636a8SJavi Merino			polling-delay = <1000>;
765f7b636a8SJavi Merino			polling-delay-passive = <100>;
766f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 3>;
767*c4a7b9b5SCristian Marussi			trips {
768*c4a7b9b5SCristian Marussi				soc_crit0: trip0 {
769*c4a7b9b5SCristian Marussi					temperature = <80000>;
770*c4a7b9b5SCristian Marussi					hysteresis = <2000>;
771*c4a7b9b5SCristian Marussi					type = "critical";
772*c4a7b9b5SCristian Marussi				};
773*c4a7b9b5SCristian Marussi			};
774f7b636a8SJavi Merino		};
775f7b636a8SJavi Merino
776506eeeabSSudeep Holla		big_cluster_thermal_zone: big-cluster {
777f7b636a8SJavi Merino			polling-delay = <1000>;
778f7b636a8SJavi Merino			polling-delay-passive = <100>;
779f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 21>;
780f7b636a8SJavi Merino			status = "disabled";
781f7b636a8SJavi Merino		};
782f7b636a8SJavi Merino
783506eeeabSSudeep Holla		little_cluster_thermal_zone: little-cluster {
784f7b636a8SJavi Merino			polling-delay = <1000>;
785f7b636a8SJavi Merino			polling-delay-passive = <100>;
786f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 22>;
787f7b636a8SJavi Merino			status = "disabled";
788f7b636a8SJavi Merino		};
789f7b636a8SJavi Merino
790f7b636a8SJavi Merino		gpu0_thermal_zone: gpu0 {
791f7b636a8SJavi Merino			polling-delay = <1000>;
792f7b636a8SJavi Merino			polling-delay-passive = <100>;
793f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 23>;
794f7b636a8SJavi Merino			status = "disabled";
795f7b636a8SJavi Merino		};
796f7b636a8SJavi Merino
797f7b636a8SJavi Merino		gpu1_thermal_zone: gpu1 {
798f7b636a8SJavi Merino			polling-delay = <1000>;
799f7b636a8SJavi Merino			polling-delay-passive = <100>;
800f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 24>;
801f7b636a8SJavi Merino			status = "disabled";
802f7b636a8SJavi Merino		};
803f7b636a8SJavi Merino	};
804f7b636a8SJavi Merino
8052ac15068SRobin Murphy	smmu_dma: iommu@7fb00000 {
8062ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
8072ac15068SRobin Murphy		reg = <0x0 0x7fb00000 0x0 0x10000>;
8082ac15068SRobin Murphy		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
8092ac15068SRobin Murphy			     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
8102ac15068SRobin Murphy		#iommu-cells = <1>;
8112ac15068SRobin Murphy		#global-interrupts = <1>;
8122ac15068SRobin Murphy		dma-coherent;
8132ac15068SRobin Murphy	};
8142ac15068SRobin Murphy
8152ac15068SRobin Murphy	smmu_hdlcd1: iommu@7fb10000 {
8162ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
8172ac15068SRobin Murphy		reg = <0x0 0x7fb10000 0x0 0x10000>;
8182ac15068SRobin Murphy		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
8192ac15068SRobin Murphy			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
8202ac15068SRobin Murphy		#iommu-cells = <1>;
8212ac15068SRobin Murphy		#global-interrupts = <1>;
8222ac15068SRobin Murphy	};
8232ac15068SRobin Murphy
8242ac15068SRobin Murphy	smmu_hdlcd0: iommu@7fb20000 {
8252ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
8262ac15068SRobin Murphy		reg = <0x0 0x7fb20000 0x0 0x10000>;
8272ac15068SRobin Murphy		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
8282ac15068SRobin Murphy			     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
8292ac15068SRobin Murphy		#iommu-cells = <1>;
8302ac15068SRobin Murphy		#global-interrupts = <1>;
8312ac15068SRobin Murphy	};
8322ac15068SRobin Murphy
8332ac15068SRobin Murphy	smmu_usb: iommu@7fb30000 {
8342ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
8352ac15068SRobin Murphy		reg = <0x0 0x7fb30000 0x0 0x10000>;
8362ac15068SRobin Murphy		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
8372ac15068SRobin Murphy			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
8382ac15068SRobin Murphy		#iommu-cells = <1>;
8392ac15068SRobin Murphy		#global-interrupts = <1>;
8402ac15068SRobin Murphy		dma-coherent;
8412ac15068SRobin Murphy	};
8422ac15068SRobin Murphy
843e7f127b2SKrzysztof Kozlowski	dma-controller@7ff00000 {
844e8020874SLiviu Dudau		compatible = "arm,pl330", "arm,primecell";
845e8020874SLiviu Dudau		reg = <0x0 0x7ff00000 0 0x1000>;
846e8020874SLiviu Dudau		#dma-cells = <1>;
847e8020874SLiviu Dudau		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
848e8020874SLiviu Dudau			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
849e8020874SLiviu Dudau			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
850e8020874SLiviu Dudau			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
851aeb2ee56SRobin Murphy			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
852e8020874SLiviu Dudau			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
853e8020874SLiviu Dudau			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
854e8020874SLiviu Dudau			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
855e8020874SLiviu Dudau			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
8562ac15068SRobin Murphy		iommus = <&smmu_dma 0>,
8572ac15068SRobin Murphy			 <&smmu_dma 1>,
8582ac15068SRobin Murphy			 <&smmu_dma 2>,
8592ac15068SRobin Murphy			 <&smmu_dma 3>,
8602ac15068SRobin Murphy			 <&smmu_dma 4>,
8612ac15068SRobin Murphy			 <&smmu_dma 5>,
8622ac15068SRobin Murphy			 <&smmu_dma 6>,
8632ac15068SRobin Murphy			 <&smmu_dma 7>,
8642ac15068SRobin Murphy			 <&smmu_dma 8>;
865e8020874SLiviu Dudau		clocks = <&soc_faxiclk>;
866e8020874SLiviu Dudau		clock-names = "apb_pclk";
867e8020874SLiviu Dudau	};
868e8020874SLiviu Dudau
8699fd9288eSLiviu Dudau	hdlcd@7ff50000 {
8709fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
8719fd9288eSLiviu Dudau		reg = <0 0x7ff50000 0 0x1000>;
8729fd9288eSLiviu Dudau		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
8732ac15068SRobin Murphy		iommus = <&smmu_hdlcd1 0>;
8749fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
8759fd9288eSLiviu Dudau		clock-names = "pxlclk";
8769fd9288eSLiviu Dudau
8779fd9288eSLiviu Dudau		port {
8786449e4c9SRob Herring			hdlcd1_output: endpoint {
8799fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_1_input>;
8809fd9288eSLiviu Dudau			};
8819fd9288eSLiviu Dudau		};
8829fd9288eSLiviu Dudau	};
8839fd9288eSLiviu Dudau
8849fd9288eSLiviu Dudau	hdlcd@7ff60000 {
8859fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
8869fd9288eSLiviu Dudau		reg = <0 0x7ff60000 0 0x1000>;
8879fd9288eSLiviu Dudau		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
8882ac15068SRobin Murphy		iommus = <&smmu_hdlcd0 0>;
8899fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
8909fd9288eSLiviu Dudau		clock-names = "pxlclk";
8919fd9288eSLiviu Dudau
8929fd9288eSLiviu Dudau		port {
8936449e4c9SRob Herring			hdlcd0_output: endpoint {
8949fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_0_input>;
8959fd9288eSLiviu Dudau			};
8969fd9288eSLiviu Dudau		};
8979fd9288eSLiviu Dudau	};
8989fd9288eSLiviu Dudau
899608f1b6cSAndre Przywara	soc_uart0: serial@7ff80000 {
900e8020874SLiviu Dudau		compatible = "arm,pl011", "arm,primecell";
901e8020874SLiviu Dudau		reg = <0x0 0x7ff80000 0x0 0x1000>;
902e8020874SLiviu Dudau		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
903e8020874SLiviu Dudau		clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
904e8020874SLiviu Dudau		clock-names = "uartclk", "apb_pclk";
905e8020874SLiviu Dudau	};
906e8020874SLiviu Dudau
907e8020874SLiviu Dudau	i2c@7ffa0000 {
908e8020874SLiviu Dudau		compatible = "snps,designware-i2c";
909e8020874SLiviu Dudau		reg = <0x0 0x7ffa0000 0x0 0x1000>;
910e8020874SLiviu Dudau		#address-cells = <1>;
911e8020874SLiviu Dudau		#size-cells = <0>;
912e8020874SLiviu Dudau		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
913e8020874SLiviu Dudau		clock-frequency = <400000>;
914e8020874SLiviu Dudau		i2c-sda-hold-time-ns = <500>;
915e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
916e8020874SLiviu Dudau
9179fd9288eSLiviu Dudau		hdmi-transmitter@70 {
918e8020874SLiviu Dudau			compatible = "nxp,tda998x";
919e8020874SLiviu Dudau			reg = <0x70>;
9209fd9288eSLiviu Dudau			port {
9216449e4c9SRob Herring				tda998x_0_input: endpoint {
9229fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd0_output>;
9239fd9288eSLiviu Dudau				};
9249fd9288eSLiviu Dudau			};
925e8020874SLiviu Dudau		};
926e8020874SLiviu Dudau
9279fd9288eSLiviu Dudau		hdmi-transmitter@71 {
928e8020874SLiviu Dudau			compatible = "nxp,tda998x";
929e8020874SLiviu Dudau			reg = <0x71>;
9309fd9288eSLiviu Dudau			port {
9316449e4c9SRob Herring				tda998x_1_input: endpoint {
9329fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd1_output>;
9339fd9288eSLiviu Dudau				};
9349fd9288eSLiviu Dudau			};
935e8020874SLiviu Dudau		};
936e8020874SLiviu Dudau	};
937e8020874SLiviu Dudau
938edfac966SAndre Przywara	usb@7ffb0000 {
939e8020874SLiviu Dudau		compatible = "generic-ohci";
940e8020874SLiviu Dudau		reg = <0x0 0x7ffb0000 0x0 0x10000>;
941e8020874SLiviu Dudau		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
9422ac15068SRobin Murphy		iommus = <&smmu_usb 0>;
943e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
944e8020874SLiviu Dudau	};
945e8020874SLiviu Dudau
946edfac966SAndre Przywara	usb@7ffc0000 {
947e8020874SLiviu Dudau		compatible = "generic-ehci";
948e8020874SLiviu Dudau		reg = <0x0 0x7ffc0000 0x0 0x10000>;
949e8020874SLiviu Dudau		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
9502ac15068SRobin Murphy		iommus = <&smmu_usb 0>;
951e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
952e8020874SLiviu Dudau	};
953e8020874SLiviu Dudau
954e8020874SLiviu Dudau	memory-controller@7ffd0000 {
955e8020874SLiviu Dudau		compatible = "arm,pl354", "arm,primecell";
956e8020874SLiviu Dudau		reg = <0 0x7ffd0000 0 0x1000>;
957e8020874SLiviu Dudau		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
958e8020874SLiviu Dudau			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
959e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
960e8020874SLiviu Dudau		clock-names = "apb_pclk";
961e8020874SLiviu Dudau	};
962e8020874SLiviu Dudau
963e8020874SLiviu Dudau	memory@80000000 {
964e8020874SLiviu Dudau		device_type = "memory";
965e8020874SLiviu Dudau		/* last 16MB of the first memory area is reserved for secure world use by firmware */
966e8020874SLiviu Dudau		reg = <0x00000000 0x80000000 0x0 0x7f000000>,
967e8020874SLiviu Dudau		      <0x00000008 0x80000000 0x1 0x80000000>;
968e8020874SLiviu Dudau	};
969e8020874SLiviu Dudau
970bee7ff37SLinus Walleij	bus@8000000 {
971e8020874SLiviu Dudau		#interrupt-cells = <1>;
972e8020874SLiviu Dudau		interrupt-map-mask = <0 0 15>;
973a78aee9eSAndre Przywara		interrupt-map = <0 0  0 &gic 0 GIC_SPI  68 IRQ_TYPE_LEVEL_HIGH>,
974a78aee9eSAndre Przywara				<0 0  1 &gic 0 GIC_SPI  69 IRQ_TYPE_LEVEL_HIGH>,
975a78aee9eSAndre Przywara				<0 0  2 &gic 0 GIC_SPI  70 IRQ_TYPE_LEVEL_HIGH>,
976a78aee9eSAndre Przywara				<0 0  3 &gic 0 GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
977a78aee9eSAndre Przywara				<0 0  4 &gic 0 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
978a78aee9eSAndre Przywara				<0 0  5 &gic 0 GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
979a78aee9eSAndre Przywara				<0 0  6 &gic 0 GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
980a78aee9eSAndre Przywara				<0 0  7 &gic 0 GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
981a78aee9eSAndre Przywara				<0 0  8 &gic 0 GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
982a78aee9eSAndre Przywara				<0 0  9 &gic 0 GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
983a78aee9eSAndre Przywara				<0 0 10 &gic 0 GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
984a78aee9eSAndre Przywara				<0 0 11 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
985a78aee9eSAndre Przywara				<0 0 12 &gic 0 GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
986e8020874SLiviu Dudau	};
987f5f7e455SBrian Starkey
9889d0a36ddSAndre Przywara	site2: tlx-bus@60000000 {
989f5f7e455SBrian Starkey		compatible = "simple-bus";
990f5f7e455SBrian Starkey		#address-cells = <1>;
991f5f7e455SBrian Starkey		#size-cells = <1>;
992f5f7e455SBrian Starkey		ranges = <0 0 0x60000000 0x10000000>;
993f5f7e455SBrian Starkey		#interrupt-cells = <1>;
994f5f7e455SBrian Starkey		interrupt-map-mask = <0 0>;
995a78aee9eSAndre Przywara		interrupt-map = <0 0 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
996f5f7e455SBrian Starkey	};
997d29e849cSSudeep Holla};
998