xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi (revision 0e529dae514b3ed881ae235b8e20c6adc9e3da9c)
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>;
14*0e529daeSAndre Przywara		#address-cells = <1>;
15*0e529daeSAndre Przywara		#size-cells = <1>;
16*0e529daeSAndre 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>;
21*0e529daeSAndre 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>,
29ff9a6262SSudeep Holla			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
30ff9a6262SSudeep Holla		interrupt-names = "mhu_lpri_rx",
31ff9a6262SSudeep Holla				  "mhu_hpri_rx";
32ff9a6262SSudeep Holla		#mbox-cells = <1>;
33ff9a6262SSudeep Holla		clocks = <&soc_refclk100mhz>;
34ff9a6262SSudeep Holla		clock-names = "apb_pclk";
35ff9a6262SSudeep Holla	};
36ff9a6262SSudeep Holla
37577dd5deSRobin Murphy	smmu_gpu: iommu@2b400000 {
38577dd5deSRobin Murphy		compatible = "arm,mmu-400", "arm,smmu-v1";
39577dd5deSRobin Murphy		reg = <0x0 0x2b400000 0x0 0x10000>;
40577dd5deSRobin Murphy		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
41577dd5deSRobin Murphy			     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
42577dd5deSRobin Murphy		#iommu-cells = <1>;
43577dd5deSRobin Murphy		#global-interrupts = <1>;
44577dd5deSRobin Murphy		power-domains = <&scpi_devpd 1>;
45577dd5deSRobin Murphy		dma-coherent;
46577dd5deSRobin Murphy		status = "disabled";
47577dd5deSRobin Murphy	};
48577dd5deSRobin Murphy
492ac15068SRobin Murphy	smmu_pcie: iommu@2b500000 {
502ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
512ac15068SRobin Murphy		reg = <0x0 0x2b500000 0x0 0x10000>;
522ac15068SRobin Murphy		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
532ac15068SRobin Murphy			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
542ac15068SRobin Murphy		#iommu-cells = <1>;
552ac15068SRobin Murphy		#global-interrupts = <1>;
562ac15068SRobin Murphy		dma-coherent;
572ac15068SRobin Murphy		status = "disabled";
582ac15068SRobin Murphy	};
592ac15068SRobin Murphy
602ac15068SRobin Murphy	smmu_etr: iommu@2b600000 {
612ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
622ac15068SRobin Murphy		reg = <0x0 0x2b600000 0x0 0x10000>;
632ac15068SRobin Murphy		interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
642ac15068SRobin Murphy			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
652ac15068SRobin Murphy		#iommu-cells = <1>;
662ac15068SRobin Murphy		#global-interrupts = <1>;
672ac15068SRobin Murphy		dma-coherent;
68fd47c206SRobin Murphy		power-domains = <&scpi_devpd 0>;
692ac15068SRobin Murphy	};
702ac15068SRobin Murphy
71e8020874SLiviu Dudau	gic: interrupt-controller@2c010000 {
72e8020874SLiviu Dudau		compatible = "arm,gic-400", "arm,cortex-a15-gic";
73e8020874SLiviu Dudau		reg = <0x0 0x2c010000 0 0x1000>,
74e8020874SLiviu Dudau		      <0x0 0x2c02f000 0 0x2000>,
75e8020874SLiviu Dudau		      <0x0 0x2c04f000 0 0x2000>,
76e8020874SLiviu Dudau		      <0x0 0x2c06f000 0 0x2000>;
779e6f374fSLiviu Dudau		#address-cells = <2>;
78e8020874SLiviu Dudau		#interrupt-cells = <3>;
799e6f374fSLiviu Dudau		#size-cells = <2>;
80e8020874SLiviu Dudau		interrupt-controller;
81e8020874SLiviu Dudau		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
829e6f374fSLiviu Dudau		ranges = <0 0 0 0x2c1c0000 0 0x40000>;
8320fd17ffSRobin Murphy
849e6f374fSLiviu Dudau		v2m_0: v2m@0 {
859e6f374fSLiviu Dudau			compatible = "arm,gic-v2m-frame";
869e6f374fSLiviu Dudau			msi-controller;
873f509813SSudeep Holla			reg = <0 0 0 0x10000>;
889e6f374fSLiviu Dudau		};
8920fd17ffSRobin Murphy
9020fd17ffSRobin Murphy		v2m@10000 {
9120fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
9220fd17ffSRobin Murphy			msi-controller;
933f509813SSudeep Holla			reg = <0 0x10000 0 0x10000>;
9420fd17ffSRobin Murphy		};
9520fd17ffSRobin Murphy
9620fd17ffSRobin Murphy		v2m@20000 {
9720fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
9820fd17ffSRobin Murphy			msi-controller;
993f509813SSudeep Holla			reg = <0 0x20000 0 0x10000>;
10020fd17ffSRobin Murphy		};
10120fd17ffSRobin Murphy
10220fd17ffSRobin Murphy		v2m@30000 {
10320fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
10420fd17ffSRobin Murphy			msi-controller;
1053f509813SSudeep Holla			reg = <0 0x30000 0 0x10000>;
10620fd17ffSRobin Murphy		};
107e8020874SLiviu Dudau	};
108e8020874SLiviu Dudau
109e8020874SLiviu Dudau	timer {
110e8020874SLiviu Dudau		compatible = "arm,armv8-timer";
111e8020874SLiviu Dudau		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
112e8020874SLiviu Dudau			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
113e8020874SLiviu Dudau			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
114e8020874SLiviu Dudau			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
115e8020874SLiviu Dudau	};
116e8020874SLiviu Dudau
1173e287cf6SSudeep Holla	/*
1183e287cf6SSudeep Holla	 * Juno TRMs specify the size for these coresight components as 64K.
1193e287cf6SSudeep Holla	 * The actual size is just 4K though 64K is reserved. Access to the
1203e287cf6SSudeep Holla	 * unmapped reserved region results in a DECERR response.
1213e287cf6SSudeep Holla	 */
12219ac17c0SSudeep Holla	etf@20010000 { /* etf0 */
1233e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
1243e287cf6SSudeep Holla		reg = <0 0x20010000 0 0x1000>;
1253e287cf6SSudeep Holla
1263e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1273e287cf6SSudeep Holla		clock-names = "apb_pclk";
128bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1293e287cf6SSudeep Holla
13041af6cbfSSuzuki K Poulose		in-ports {
13141af6cbfSSuzuki K Poulose			port {
13219ac17c0SSudeep Holla				etf0_in_port: endpoint {
1333e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_out_port>;
1343e287cf6SSudeep Holla				};
1353e287cf6SSudeep Holla			};
13641af6cbfSSuzuki K Poulose		};
1373e287cf6SSudeep Holla
13841af6cbfSSuzuki K Poulose		out-ports {
13941af6cbfSSuzuki K Poulose			port {
14019ac17c0SSudeep Holla				etf0_out_port: endpoint {
1413e287cf6SSudeep Holla				};
1423e287cf6SSudeep Holla			};
1433e287cf6SSudeep Holla		};
1443e287cf6SSudeep Holla	};
1453e287cf6SSudeep Holla
1463e287cf6SSudeep Holla	tpiu@20030000 {
1473e287cf6SSudeep Holla		compatible = "arm,coresight-tpiu", "arm,primecell";
1483e287cf6SSudeep Holla		reg = <0 0x20030000 0 0x1000>;
1493e287cf6SSudeep Holla
1503e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1513e287cf6SSudeep Holla		clock-names = "apb_pclk";
152bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
15341af6cbfSSuzuki K Poulose		in-ports {
1543e287cf6SSudeep Holla			port {
1553e287cf6SSudeep Holla				tpiu_in_port: endpoint {
1563e287cf6SSudeep Holla					remote-endpoint = <&replicator_out_port0>;
1573e287cf6SSudeep Holla				};
1583e287cf6SSudeep Holla			};
1593e287cf6SSudeep Holla		};
16041af6cbfSSuzuki K Poulose	};
1613e287cf6SSudeep Holla
16219ac17c0SSudeep Holla	/* main funnel on Juno r0, cssys0 funnel on Juno r1/r2 as per TRM*/
16319ac17c0SSudeep Holla	main_funnel: funnel@20040000 {
164f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1653e287cf6SSudeep Holla		reg = <0 0x20040000 0 0x1000>;
1663e287cf6SSudeep Holla
1673e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1683e287cf6SSudeep Holla		clock-names = "apb_pclk";
169bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1703e287cf6SSudeep Holla
17141af6cbfSSuzuki K Poulose		out-ports {
17241af6cbfSSuzuki K Poulose			port {
1733e287cf6SSudeep Holla				main_funnel_out_port: endpoint {
17419ac17c0SSudeep Holla					remote-endpoint = <&etf0_in_port>;
1753e287cf6SSudeep Holla				};
1763e287cf6SSudeep Holla			};
17741af6cbfSSuzuki K Poulose		};
1783e287cf6SSudeep Holla
17941af6cbfSSuzuki K Poulose		main_funnel_in_ports: in-ports {
18041af6cbfSSuzuki K Poulose			#address-cells = <1>;
18141af6cbfSSuzuki K Poulose			#size-cells = <0>;
18241af6cbfSSuzuki K Poulose
18341af6cbfSSuzuki K Poulose			port@0 {
1843e287cf6SSudeep Holla				reg = <0>;
1853e287cf6SSudeep Holla				main_funnel_in_port0: endpoint {
1863e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_out_port>;
1873e287cf6SSudeep Holla				};
1883e287cf6SSudeep Holla			};
1893e287cf6SSudeep Holla
19041af6cbfSSuzuki K Poulose			port@1 {
1913e287cf6SSudeep Holla				reg = <1>;
1923e287cf6SSudeep Holla				main_funnel_in_port1: endpoint {
1933e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_out_port>;
1943e287cf6SSudeep Holla				};
1953e287cf6SSudeep Holla			};
1963e287cf6SSudeep Holla		};
1973e287cf6SSudeep Holla	};
1983e287cf6SSudeep Holla
1993e287cf6SSudeep Holla	etr@20070000 {
2003e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
2013e287cf6SSudeep Holla		reg = <0 0x20070000 0 0x1000>;
2022ac15068SRobin Murphy		iommus = <&smmu_etr 0>;
2033e287cf6SSudeep Holla
2043e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2053e287cf6SSudeep Holla		clock-names = "apb_pclk";
206bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
20779daf2a4SSuzuki K Poulose		arm,scatter-gather;
20841af6cbfSSuzuki K Poulose		in-ports {
2093e287cf6SSudeep Holla			port {
2103e287cf6SSudeep Holla				etr_in_port: endpoint {
2113e287cf6SSudeep Holla					remote-endpoint = <&replicator_out_port1>;
2123e287cf6SSudeep Holla				};
2133e287cf6SSudeep Holla			};
2143e287cf6SSudeep Holla		};
21541af6cbfSSuzuki K Poulose	};
2163e287cf6SSudeep Holla
217cde6f9abSMike Leach	stm@20100000 {
218cde6f9abSMike Leach		compatible = "arm,coresight-stm", "arm,primecell";
219cde6f9abSMike Leach		reg = <0 0x20100000 0 0x1000>,
220cde6f9abSMike Leach		      <0 0x28000000 0 0x1000000>;
221cde6f9abSMike Leach		reg-names = "stm-base", "stm-stimulus-base";
222cde6f9abSMike Leach
223cde6f9abSMike Leach		clocks = <&soc_smc50mhz>;
224cde6f9abSMike Leach		clock-names = "apb_pclk";
225cde6f9abSMike Leach		power-domains = <&scpi_devpd 0>;
22641af6cbfSSuzuki K Poulose		out-ports {
227cde6f9abSMike Leach			port {
228cde6f9abSMike Leach				stm_out_port: endpoint {
229cde6f9abSMike Leach				};
230cde6f9abSMike Leach			};
231cde6f9abSMike Leach		};
23241af6cbfSSuzuki K Poulose	};
233cde6f9abSMike Leach
23420d00c40SSudeep Holla	replicator@20120000 {
23520d00c40SSudeep Holla		compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
23620d00c40SSudeep Holla		reg = <0 0x20120000 0 0x1000>;
23720d00c40SSudeep Holla
23820d00c40SSudeep Holla		clocks = <&soc_smc50mhz>;
23920d00c40SSudeep Holla		clock-names = "apb_pclk";
24020d00c40SSudeep Holla		power-domains = <&scpi_devpd 0>;
24120d00c40SSudeep Holla
24220d00c40SSudeep Holla		out-ports {
24320d00c40SSudeep Holla			#address-cells = <1>;
24420d00c40SSudeep Holla			#size-cells = <0>;
24520d00c40SSudeep Holla
24620d00c40SSudeep Holla			/* replicator output ports */
24720d00c40SSudeep Holla			port@0 {
24820d00c40SSudeep Holla				reg = <0>;
24920d00c40SSudeep Holla				replicator_out_port0: endpoint {
25020d00c40SSudeep Holla					remote-endpoint = <&tpiu_in_port>;
25120d00c40SSudeep Holla				};
25220d00c40SSudeep Holla			};
25320d00c40SSudeep Holla
25420d00c40SSudeep Holla			port@1 {
25520d00c40SSudeep Holla				reg = <1>;
25620d00c40SSudeep Holla				replicator_out_port1: endpoint {
25720d00c40SSudeep Holla					remote-endpoint = <&etr_in_port>;
25820d00c40SSudeep Holla				};
25920d00c40SSudeep Holla			};
26020d00c40SSudeep Holla		};
26120d00c40SSudeep Holla		in-ports {
26220d00c40SSudeep Holla			port {
26320d00c40SSudeep Holla				replicator_in_port0: endpoint {
26420d00c40SSudeep Holla				};
26520d00c40SSudeep Holla			};
26620d00c40SSudeep Holla		};
26720d00c40SSudeep Holla	};
26820d00c40SSudeep Holla
269207b6e6bSSudeep Holla	cpu_debug0: cpu-debug@22010000 {
27060f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
27160f01d7aSSuzuki K Poulose		reg = <0x0 0x22010000 0x0 0x1000>;
27260f01d7aSSuzuki K Poulose
27360f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
27460f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
27560f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
27660f01d7aSSuzuki K Poulose	};
27760f01d7aSSuzuki K Poulose
2783e287cf6SSudeep Holla	etm0: etm@22040000 {
2793e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
2803e287cf6SSudeep Holla		reg = <0 0x22040000 0 0x1000>;
2813e287cf6SSudeep Holla
2823e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2833e287cf6SSudeep Holla		clock-names = "apb_pclk";
284bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
28541af6cbfSSuzuki K Poulose		out-ports {
2863e287cf6SSudeep Holla			port {
2873e287cf6SSudeep Holla				cluster0_etm0_out_port: endpoint {
2883e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_in_port0>;
2893e287cf6SSudeep Holla				};
2903e287cf6SSudeep Holla			};
2913e287cf6SSudeep Holla		};
29241af6cbfSSuzuki K Poulose	};
2933e287cf6SSudeep Holla
29419ac17c0SSudeep Holla	funnel@220c0000 { /* cluster0 funnel */
295f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2963e287cf6SSudeep Holla		reg = <0 0x220c0000 0 0x1000>;
2973e287cf6SSudeep Holla
2983e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2993e287cf6SSudeep Holla		clock-names = "apb_pclk";
300bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
30141af6cbfSSuzuki K Poulose		out-ports {
30241af6cbfSSuzuki K Poulose			port {
30341af6cbfSSuzuki K Poulose				cluster0_funnel_out_port: endpoint {
30441af6cbfSSuzuki K Poulose					remote-endpoint = <&main_funnel_in_port0>;
30541af6cbfSSuzuki K Poulose				};
30641af6cbfSSuzuki K Poulose			};
30741af6cbfSSuzuki K Poulose		};
30841af6cbfSSuzuki K Poulose
30941af6cbfSSuzuki K Poulose		in-ports {
3103e287cf6SSudeep Holla			#address-cells = <1>;
3113e287cf6SSudeep Holla			#size-cells = <0>;
3123e287cf6SSudeep Holla
3133e287cf6SSudeep Holla			port@0 {
3143e287cf6SSudeep Holla				reg = <0>;
3153e287cf6SSudeep Holla				cluster0_funnel_in_port0: endpoint {
3163e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm0_out_port>;
3173e287cf6SSudeep Holla				};
3183e287cf6SSudeep Holla			};
3193e287cf6SSudeep Holla
32041af6cbfSSuzuki K Poulose			port@1 {
3213e287cf6SSudeep Holla				reg = <1>;
3223e287cf6SSudeep Holla				cluster0_funnel_in_port1: endpoint {
3233e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm1_out_port>;
3243e287cf6SSudeep Holla				};
3253e287cf6SSudeep Holla			};
3263e287cf6SSudeep Holla		};
3273e287cf6SSudeep Holla	};
3283e287cf6SSudeep Holla
329207b6e6bSSudeep Holla	cpu_debug1: cpu-debug@22110000 {
33060f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
33160f01d7aSSuzuki K Poulose		reg = <0x0 0x22110000 0x0 0x1000>;
33260f01d7aSSuzuki K Poulose
33360f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
33460f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
33560f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
33660f01d7aSSuzuki K Poulose	};
33760f01d7aSSuzuki K Poulose
3383e287cf6SSudeep Holla	etm1: etm@22140000 {
3393e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3403e287cf6SSudeep Holla		reg = <0 0x22140000 0 0x1000>;
3413e287cf6SSudeep Holla
3423e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3433e287cf6SSudeep Holla		clock-names = "apb_pclk";
344bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
34541af6cbfSSuzuki K Poulose		out-ports {
3463e287cf6SSudeep Holla			port {
3473e287cf6SSudeep Holla				cluster0_etm1_out_port: endpoint {
3483e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_in_port1>;
3493e287cf6SSudeep Holla				};
3503e287cf6SSudeep Holla			};
3513e287cf6SSudeep Holla		};
35241af6cbfSSuzuki K Poulose	};
3533e287cf6SSudeep Holla
354207b6e6bSSudeep Holla	cpu_debug2: cpu-debug@23010000 {
35560f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
35660f01d7aSSuzuki K Poulose		reg = <0x0 0x23010000 0x0 0x1000>;
35760f01d7aSSuzuki K Poulose
35860f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
35960f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
36060f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
36160f01d7aSSuzuki K Poulose	};
36260f01d7aSSuzuki K Poulose
3633e287cf6SSudeep Holla	etm2: etm@23040000 {
3643e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3653e287cf6SSudeep Holla		reg = <0 0x23040000 0 0x1000>;
3663e287cf6SSudeep Holla
3673e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3683e287cf6SSudeep Holla		clock-names = "apb_pclk";
369bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
37041af6cbfSSuzuki K Poulose		out-ports {
3713e287cf6SSudeep Holla			port {
3723e287cf6SSudeep Holla				cluster1_etm0_out_port: endpoint {
3733e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port0>;
3743e287cf6SSudeep Holla				};
3753e287cf6SSudeep Holla			};
3763e287cf6SSudeep Holla		};
37741af6cbfSSuzuki K Poulose	};
3783e287cf6SSudeep Holla
37919ac17c0SSudeep Holla	funnel@230c0000 { /* cluster1 funnel */
380f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3813e287cf6SSudeep Holla		reg = <0 0x230c0000 0 0x1000>;
3823e287cf6SSudeep Holla
3833e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3843e287cf6SSudeep Holla		clock-names = "apb_pclk";
385bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
38641af6cbfSSuzuki K Poulose		out-ports {
38741af6cbfSSuzuki K Poulose			port {
38841af6cbfSSuzuki K Poulose				cluster1_funnel_out_port: endpoint {
38941af6cbfSSuzuki K Poulose					remote-endpoint = <&main_funnel_in_port1>;
39041af6cbfSSuzuki K Poulose				};
39141af6cbfSSuzuki K Poulose			};
39241af6cbfSSuzuki K Poulose		};
39341af6cbfSSuzuki K Poulose
39441af6cbfSSuzuki K Poulose		in-ports {
3953e287cf6SSudeep Holla			#address-cells = <1>;
3963e287cf6SSudeep Holla			#size-cells = <0>;
3973e287cf6SSudeep Holla
3983e287cf6SSudeep Holla			port@0 {
3993e287cf6SSudeep Holla				reg = <0>;
4003e287cf6SSudeep Holla				cluster1_funnel_in_port0: endpoint {
4013e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm0_out_port>;
4023e287cf6SSudeep Holla				};
4033e287cf6SSudeep Holla			};
4043e287cf6SSudeep Holla
40541af6cbfSSuzuki K Poulose			port@1 {
4063e287cf6SSudeep Holla				reg = <1>;
4073e287cf6SSudeep Holla				cluster1_funnel_in_port1: endpoint {
4083e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm1_out_port>;
4093e287cf6SSudeep Holla				};
4103e287cf6SSudeep Holla			};
41141af6cbfSSuzuki K Poulose			port@2 {
4123e287cf6SSudeep Holla				reg = <2>;
4133e287cf6SSudeep Holla				cluster1_funnel_in_port2: endpoint {
4143e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm2_out_port>;
4153e287cf6SSudeep Holla				};
4163e287cf6SSudeep Holla			};
41741af6cbfSSuzuki K Poulose			port@3 {
4183e287cf6SSudeep Holla				reg = <3>;
4193e287cf6SSudeep Holla				cluster1_funnel_in_port3: endpoint {
4203e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm3_out_port>;
4213e287cf6SSudeep Holla				};
4223e287cf6SSudeep Holla			};
4233e287cf6SSudeep Holla		};
4243e287cf6SSudeep Holla	};
4253e287cf6SSudeep Holla
426207b6e6bSSudeep Holla	cpu_debug3: cpu-debug@23110000 {
42760f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
42860f01d7aSSuzuki K Poulose		reg = <0x0 0x23110000 0x0 0x1000>;
42960f01d7aSSuzuki K Poulose
43060f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
43160f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
43260f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
43360f01d7aSSuzuki K Poulose	};
43460f01d7aSSuzuki K Poulose
4353e287cf6SSudeep Holla	etm3: etm@23140000 {
4363e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
4373e287cf6SSudeep Holla		reg = <0 0x23140000 0 0x1000>;
4383e287cf6SSudeep Holla
4393e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4403e287cf6SSudeep Holla		clock-names = "apb_pclk";
441bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
44241af6cbfSSuzuki K Poulose		out-ports {
4433e287cf6SSudeep Holla			port {
4443e287cf6SSudeep Holla				cluster1_etm1_out_port: endpoint {
4453e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port1>;
4463e287cf6SSudeep Holla				};
4473e287cf6SSudeep Holla			};
4483e287cf6SSudeep Holla		};
44941af6cbfSSuzuki K Poulose	};
4503e287cf6SSudeep Holla
451207b6e6bSSudeep Holla	cpu_debug4: cpu-debug@23210000 {
45260f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
45360f01d7aSSuzuki K Poulose		reg = <0x0 0x23210000 0x0 0x1000>;
45460f01d7aSSuzuki K Poulose
45560f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
45660f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
45760f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
45860f01d7aSSuzuki K Poulose	};
45960f01d7aSSuzuki K Poulose
4603e287cf6SSudeep Holla	etm4: etm@23240000 {
4613e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
4623e287cf6SSudeep Holla		reg = <0 0x23240000 0 0x1000>;
4633e287cf6SSudeep Holla
4643e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4653e287cf6SSudeep Holla		clock-names = "apb_pclk";
466bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
46741af6cbfSSuzuki K Poulose		out-ports {
4683e287cf6SSudeep Holla			port {
4693e287cf6SSudeep Holla				cluster1_etm2_out_port: endpoint {
4703e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port2>;
4713e287cf6SSudeep Holla				};
4723e287cf6SSudeep Holla			};
4733e287cf6SSudeep Holla		};
47441af6cbfSSuzuki K Poulose	};
4753e287cf6SSudeep Holla
476207b6e6bSSudeep Holla	cpu_debug5: cpu-debug@23310000 {
47760f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
47860f01d7aSSuzuki K Poulose		reg = <0x0 0x23310000 0x0 0x1000>;
47960f01d7aSSuzuki K Poulose
48060f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
48160f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
48260f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
48360f01d7aSSuzuki K Poulose	};
48460f01d7aSSuzuki K Poulose
4853e287cf6SSudeep Holla	etm5: etm@23340000 {
4863e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
4873e287cf6SSudeep Holla		reg = <0 0x23340000 0 0x1000>;
4883e287cf6SSudeep Holla
4893e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4903e287cf6SSudeep Holla		clock-names = "apb_pclk";
491bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
49241af6cbfSSuzuki K Poulose		out-ports {
4933e287cf6SSudeep Holla			port {
4943e287cf6SSudeep Holla				cluster1_etm3_out_port: endpoint {
4953e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port3>;
4963e287cf6SSudeep Holla				};
4973e287cf6SSudeep Holla			};
4983e287cf6SSudeep Holla		};
49941af6cbfSSuzuki K Poulose	};
5003e287cf6SSudeep Holla
501577dd5deSRobin Murphy	gpu: gpu@2d000000 {
502577dd5deSRobin Murphy		compatible = "arm,juno-mali", "arm,mali-t624";
503577dd5deSRobin Murphy		reg = <0 0x2d000000 0 0x10000>;
504577dd5deSRobin Murphy		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
505577dd5deSRobin Murphy			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
506577dd5deSRobin Murphy			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
507577dd5deSRobin Murphy		interrupt-names = "gpu", "job", "mmu";
508577dd5deSRobin Murphy		clocks = <&scpi_dvfs 2>;
509577dd5deSRobin Murphy		power-domains = <&scpi_devpd 1>;
510577dd5deSRobin Murphy		dma-coherent;
511577dd5deSRobin Murphy		/* The SMMU is only really of interest to bare-metal hypervisors */
512577dd5deSRobin Murphy		/* iommus = <&smmu_gpu 0>; */
513577dd5deSRobin Murphy		status = "disabled";
514577dd5deSRobin Murphy	};
515577dd5deSRobin Murphy
516ff9a6262SSudeep Holla	sram: sram@2e000000 {
517ff9a6262SSudeep Holla		compatible = "arm,juno-sram-ns", "mmio-sram";
518ff9a6262SSudeep Holla		reg = <0x0 0x2e000000 0x0 0x8000>;
519ff9a6262SSudeep Holla
520ff9a6262SSudeep Holla		#address-cells = <1>;
521ff9a6262SSudeep Holla		#size-cells = <1>;
522ff9a6262SSudeep Holla		ranges = <0 0x0 0x2e000000 0x8000>;
523ff9a6262SSudeep Holla
524ff9a6262SSudeep Holla		cpu_scp_lpri: scp-shmem@0 {
525ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
526ff9a6262SSudeep Holla			reg = <0x0 0x200>;
527ff9a6262SSudeep Holla		};
528ff9a6262SSudeep Holla
529ff9a6262SSudeep Holla		cpu_scp_hpri: scp-shmem@200 {
530ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
531ff9a6262SSudeep Holla			reg = <0x200 0x200>;
532ff9a6262SSudeep Holla		};
533ff9a6262SSudeep Holla	};
534ff9a6262SSudeep Holla
535dc10ef2dSRob Herring	pcie_ctlr: pcie@40000000 {
53636582c60SSudeep Holla		compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic";
53736582c60SSudeep Holla		device_type = "pci";
53836582c60SSudeep Holla		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
53936582c60SSudeep Holla		bus-range = <0 255>;
54036582c60SSudeep Holla		linux,pci-domain = <0>;
54136582c60SSudeep Holla		#address-cells = <3>;
54236582c60SSudeep Holla		#size-cells = <2>;
54336582c60SSudeep Holla		dma-coherent;
5444c9456dfSJeremy Linton		ranges = <0x01000000 0x00 0x00000000 0x00 0x5f800000 0x0 0x00800000>,
54536582c60SSudeep Holla			 <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>,
54636582c60SSudeep Holla			 <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
54736582c60SSudeep Holla		#interrupt-cells = <1>;
54836582c60SSudeep Holla		interrupt-map-mask = <0 0 0 7>;
549ef972714SSudeep Holla		interrupt-map = <0 0 0 1 &gic 0 0 GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
550ef972714SSudeep Holla				<0 0 0 2 &gic 0 0 GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
551ef972714SSudeep Holla				<0 0 0 3 &gic 0 0 GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
552ef972714SSudeep Holla				<0 0 0 4 &gic 0 0 GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
55336582c60SSudeep Holla		msi-parent = <&v2m_0>;
55436582c60SSudeep Holla		status = "disabled";
5552ac15068SRobin Murphy		iommu-map-mask = <0x0>;	/* RC has no means to output PCI RID */
5562ac15068SRobin Murphy		iommu-map = <0x0 &smmu_pcie 0x0 0x1>;
55736582c60SSudeep Holla	};
55836582c60SSudeep Holla
559ff9a6262SSudeep Holla	scpi {
560ff9a6262SSudeep Holla		compatible = "arm,scpi";
561ff9a6262SSudeep Holla		mboxes = <&mailbox 1>;
562ff9a6262SSudeep Holla		shmem = <&cpu_scp_hpri>;
563ff9a6262SSudeep Holla
564ff9a6262SSudeep Holla		clocks {
565ff9a6262SSudeep Holla			compatible = "arm,scpi-clocks";
566ff9a6262SSudeep Holla
5676d6acd14SSudeep Holla			scpi_dvfs: scpi-dvfs {
568ff9a6262SSudeep Holla				compatible = "arm,scpi-dvfs-clocks";
569ff9a6262SSudeep Holla				#clock-cells = <1>;
570ff9a6262SSudeep Holla				clock-indices = <0>, <1>, <2>;
571ff9a6262SSudeep Holla				clock-output-names = "atlclk", "aplclk","gpuclk";
572ff9a6262SSudeep Holla			};
5736d6acd14SSudeep Holla			scpi_clk: scpi-clk {
574ff9a6262SSudeep Holla				compatible = "arm,scpi-variable-clocks";
575ff9a6262SSudeep Holla				#clock-cells = <1>;
5769fd9288eSLiviu Dudau				clock-indices = <3>;
5779fd9288eSLiviu Dudau				clock-output-names = "pxlclk";
578ff9a6262SSudeep Holla			};
579ff9a6262SSudeep Holla		};
580dfacaf0eSPunit Agrawal
581bdeaa21aSSudeep Holla		scpi_devpd: scpi-power-domains {
582bdeaa21aSSudeep Holla			compatible = "arm,scpi-power-domains";
583bdeaa21aSSudeep Holla			num-domains = <2>;
584bdeaa21aSSudeep Holla			#power-domain-cells = <1>;
585bdeaa21aSSudeep Holla		};
586bdeaa21aSSudeep Holla
587dfacaf0eSPunit Agrawal		scpi_sensors0: sensors {
588dfacaf0eSPunit Agrawal			compatible = "arm,scpi-sensors";
589dfacaf0eSPunit Agrawal			#thermal-sensor-cells = <1>;
590dfacaf0eSPunit Agrawal		};
591ff9a6262SSudeep Holla	};
592ff9a6262SSudeep Holla
593f7b636a8SJavi Merino	thermal-zones {
594f7b636a8SJavi Merino		pmic {
595f7b636a8SJavi Merino			polling-delay = <1000>;
596f7b636a8SJavi Merino			polling-delay-passive = <100>;
597f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 0>;
598f7b636a8SJavi Merino		};
599f7b636a8SJavi Merino
600f7b636a8SJavi Merino		soc {
601f7b636a8SJavi Merino			polling-delay = <1000>;
602f7b636a8SJavi Merino			polling-delay-passive = <100>;
603f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 3>;
604f7b636a8SJavi Merino		};
605f7b636a8SJavi Merino
606506eeeabSSudeep Holla		big_cluster_thermal_zone: big-cluster {
607f7b636a8SJavi Merino			polling-delay = <1000>;
608f7b636a8SJavi Merino			polling-delay-passive = <100>;
609f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 21>;
610f7b636a8SJavi Merino			status = "disabled";
611f7b636a8SJavi Merino		};
612f7b636a8SJavi Merino
613506eeeabSSudeep Holla		little_cluster_thermal_zone: little-cluster {
614f7b636a8SJavi Merino			polling-delay = <1000>;
615f7b636a8SJavi Merino			polling-delay-passive = <100>;
616f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 22>;
617f7b636a8SJavi Merino			status = "disabled";
618f7b636a8SJavi Merino		};
619f7b636a8SJavi Merino
620f7b636a8SJavi Merino		gpu0_thermal_zone: gpu0 {
621f7b636a8SJavi Merino			polling-delay = <1000>;
622f7b636a8SJavi Merino			polling-delay-passive = <100>;
623f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 23>;
624f7b636a8SJavi Merino			status = "disabled";
625f7b636a8SJavi Merino		};
626f7b636a8SJavi Merino
627f7b636a8SJavi Merino		gpu1_thermal_zone: gpu1 {
628f7b636a8SJavi Merino			polling-delay = <1000>;
629f7b636a8SJavi Merino			polling-delay-passive = <100>;
630f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 24>;
631f7b636a8SJavi Merino			status = "disabled";
632f7b636a8SJavi Merino		};
633f7b636a8SJavi Merino	};
634f7b636a8SJavi Merino
6352ac15068SRobin Murphy	smmu_dma: iommu@7fb00000 {
6362ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
6372ac15068SRobin Murphy		reg = <0x0 0x7fb00000 0x0 0x10000>;
6382ac15068SRobin Murphy		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
6392ac15068SRobin Murphy			     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
6402ac15068SRobin Murphy		#iommu-cells = <1>;
6412ac15068SRobin Murphy		#global-interrupts = <1>;
6422ac15068SRobin Murphy		dma-coherent;
6432ac15068SRobin Murphy		status = "disabled";
6442ac15068SRobin Murphy	};
6452ac15068SRobin Murphy
6462ac15068SRobin Murphy	smmu_hdlcd1: iommu@7fb10000 {
6472ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
6482ac15068SRobin Murphy		reg = <0x0 0x7fb10000 0x0 0x10000>;
6492ac15068SRobin Murphy		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
6502ac15068SRobin Murphy			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
6512ac15068SRobin Murphy		#iommu-cells = <1>;
6522ac15068SRobin Murphy		#global-interrupts = <1>;
6532ac15068SRobin Murphy	};
6542ac15068SRobin Murphy
6552ac15068SRobin Murphy	smmu_hdlcd0: iommu@7fb20000 {
6562ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
6572ac15068SRobin Murphy		reg = <0x0 0x7fb20000 0x0 0x10000>;
6582ac15068SRobin Murphy		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
6592ac15068SRobin Murphy			     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
6602ac15068SRobin Murphy		#iommu-cells = <1>;
6612ac15068SRobin Murphy		#global-interrupts = <1>;
6622ac15068SRobin Murphy	};
6632ac15068SRobin Murphy
6642ac15068SRobin Murphy	smmu_usb: iommu@7fb30000 {
6652ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
6662ac15068SRobin Murphy		reg = <0x0 0x7fb30000 0x0 0x10000>;
6672ac15068SRobin Murphy		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
6682ac15068SRobin Murphy			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
6692ac15068SRobin Murphy		#iommu-cells = <1>;
6702ac15068SRobin Murphy		#global-interrupts = <1>;
6712ac15068SRobin Murphy		dma-coherent;
6722ac15068SRobin Murphy	};
6732ac15068SRobin Murphy
674e8020874SLiviu Dudau	dma@7ff00000 {
675e8020874SLiviu Dudau		compatible = "arm,pl330", "arm,primecell";
676e8020874SLiviu Dudau		reg = <0x0 0x7ff00000 0 0x1000>;
677e8020874SLiviu Dudau		#dma-cells = <1>;
678e8020874SLiviu Dudau		#dma-channels = <8>;
679e8020874SLiviu Dudau		#dma-requests = <32>;
680e8020874SLiviu Dudau		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
681e8020874SLiviu Dudau			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
682e8020874SLiviu Dudau			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
683e8020874SLiviu Dudau			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
684aeb2ee56SRobin Murphy			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
685e8020874SLiviu Dudau			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
686e8020874SLiviu Dudau			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
687e8020874SLiviu Dudau			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
688e8020874SLiviu Dudau			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
6892ac15068SRobin Murphy		iommus = <&smmu_dma 0>,
6902ac15068SRobin Murphy			 <&smmu_dma 1>,
6912ac15068SRobin Murphy			 <&smmu_dma 2>,
6922ac15068SRobin Murphy			 <&smmu_dma 3>,
6932ac15068SRobin Murphy			 <&smmu_dma 4>,
6942ac15068SRobin Murphy			 <&smmu_dma 5>,
6952ac15068SRobin Murphy			 <&smmu_dma 6>,
6962ac15068SRobin Murphy			 <&smmu_dma 7>,
6972ac15068SRobin Murphy			 <&smmu_dma 8>;
698e8020874SLiviu Dudau		clocks = <&soc_faxiclk>;
699e8020874SLiviu Dudau		clock-names = "apb_pclk";
700e8020874SLiviu Dudau	};
701e8020874SLiviu Dudau
7029fd9288eSLiviu Dudau	hdlcd@7ff50000 {
7039fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
7049fd9288eSLiviu Dudau		reg = <0 0x7ff50000 0 0x1000>;
7059fd9288eSLiviu Dudau		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
7062ac15068SRobin Murphy		iommus = <&smmu_hdlcd1 0>;
7079fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
7089fd9288eSLiviu Dudau		clock-names = "pxlclk";
7099fd9288eSLiviu Dudau
7109fd9288eSLiviu Dudau		port {
7116449e4c9SRob Herring			hdlcd1_output: endpoint {
7129fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_1_input>;
7139fd9288eSLiviu Dudau			};
7149fd9288eSLiviu Dudau		};
7159fd9288eSLiviu Dudau	};
7169fd9288eSLiviu Dudau
7179fd9288eSLiviu Dudau	hdlcd@7ff60000 {
7189fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
7199fd9288eSLiviu Dudau		reg = <0 0x7ff60000 0 0x1000>;
7209fd9288eSLiviu Dudau		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
7212ac15068SRobin Murphy		iommus = <&smmu_hdlcd0 0>;
7229fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
7239fd9288eSLiviu Dudau		clock-names = "pxlclk";
7249fd9288eSLiviu Dudau
7259fd9288eSLiviu Dudau		port {
7266449e4c9SRob Herring			hdlcd0_output: endpoint {
7279fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_0_input>;
7289fd9288eSLiviu Dudau			};
7299fd9288eSLiviu Dudau		};
7309fd9288eSLiviu Dudau	};
7319fd9288eSLiviu Dudau
732e8020874SLiviu Dudau	soc_uart0: uart@7ff80000 {
733e8020874SLiviu Dudau		compatible = "arm,pl011", "arm,primecell";
734e8020874SLiviu Dudau		reg = <0x0 0x7ff80000 0x0 0x1000>;
735e8020874SLiviu Dudau		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
736e8020874SLiviu Dudau		clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
737e8020874SLiviu Dudau		clock-names = "uartclk", "apb_pclk";
738e8020874SLiviu Dudau	};
739e8020874SLiviu Dudau
740e8020874SLiviu Dudau	i2c@7ffa0000 {
741e8020874SLiviu Dudau		compatible = "snps,designware-i2c";
742e8020874SLiviu Dudau		reg = <0x0 0x7ffa0000 0x0 0x1000>;
743e8020874SLiviu Dudau		#address-cells = <1>;
744e8020874SLiviu Dudau		#size-cells = <0>;
745e8020874SLiviu Dudau		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
746e8020874SLiviu Dudau		clock-frequency = <400000>;
747e8020874SLiviu Dudau		i2c-sda-hold-time-ns = <500>;
748e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
749e8020874SLiviu Dudau
7509fd9288eSLiviu Dudau		hdmi-transmitter@70 {
751e8020874SLiviu Dudau			compatible = "nxp,tda998x";
752e8020874SLiviu Dudau			reg = <0x70>;
7539fd9288eSLiviu Dudau			port {
7546449e4c9SRob Herring				tda998x_0_input: endpoint {
7559fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd0_output>;
7569fd9288eSLiviu Dudau				};
7579fd9288eSLiviu Dudau			};
758e8020874SLiviu Dudau		};
759e8020874SLiviu Dudau
7609fd9288eSLiviu Dudau		hdmi-transmitter@71 {
761e8020874SLiviu Dudau			compatible = "nxp,tda998x";
762e8020874SLiviu Dudau			reg = <0x71>;
7639fd9288eSLiviu Dudau			port {
7646449e4c9SRob Herring				tda998x_1_input: endpoint {
7659fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd1_output>;
7669fd9288eSLiviu Dudau				};
7679fd9288eSLiviu Dudau			};
768e8020874SLiviu Dudau		};
769e8020874SLiviu Dudau	};
770e8020874SLiviu Dudau
771e8020874SLiviu Dudau	ohci@7ffb0000 {
772e8020874SLiviu Dudau		compatible = "generic-ohci";
773e8020874SLiviu Dudau		reg = <0x0 0x7ffb0000 0x0 0x10000>;
774e8020874SLiviu Dudau		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
7752ac15068SRobin Murphy		iommus = <&smmu_usb 0>;
776e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
777e8020874SLiviu Dudau	};
778e8020874SLiviu Dudau
779e8020874SLiviu Dudau	ehci@7ffc0000 {
780e8020874SLiviu Dudau		compatible = "generic-ehci";
781e8020874SLiviu Dudau		reg = <0x0 0x7ffc0000 0x0 0x10000>;
782e8020874SLiviu Dudau		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
7832ac15068SRobin Murphy		iommus = <&smmu_usb 0>;
784e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
785e8020874SLiviu Dudau	};
786e8020874SLiviu Dudau
787e8020874SLiviu Dudau	memory-controller@7ffd0000 {
788e8020874SLiviu Dudau		compatible = "arm,pl354", "arm,primecell";
789e8020874SLiviu Dudau		reg = <0 0x7ffd0000 0 0x1000>;
790e8020874SLiviu Dudau		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
791e8020874SLiviu Dudau			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
792e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
793e8020874SLiviu Dudau		clock-names = "apb_pclk";
794e8020874SLiviu Dudau	};
795e8020874SLiviu Dudau
796e8020874SLiviu Dudau	memory@80000000 {
797e8020874SLiviu Dudau		device_type = "memory";
798e8020874SLiviu Dudau		/* last 16MB of the first memory area is reserved for secure world use by firmware */
799e8020874SLiviu Dudau		reg = <0x00000000 0x80000000 0x0 0x7f000000>,
800e8020874SLiviu Dudau		      <0x00000008 0x80000000 0x1 0x80000000>;
801e8020874SLiviu Dudau	};
802e8020874SLiviu Dudau
803bee7ff37SLinus Walleij	bus@8000000 {
804e8020874SLiviu Dudau		compatible = "simple-bus";
805e8020874SLiviu Dudau		#address-cells = <2>;
806e8020874SLiviu Dudau		#size-cells = <1>;
807e8020874SLiviu Dudau		ranges = <0 0 0 0x08000000 0x04000000>,
808e8020874SLiviu Dudau			 <1 0 0 0x14000000 0x04000000>,
809e8020874SLiviu Dudau			 <2 0 0 0x18000000 0x04000000>,
810e8020874SLiviu Dudau			 <3 0 0 0x1c000000 0x04000000>,
811e8020874SLiviu Dudau			 <4 0 0 0x0c000000 0x04000000>,
812e8020874SLiviu Dudau			 <5 0 0 0x10000000 0x04000000>;
813e8020874SLiviu Dudau
814e8020874SLiviu Dudau		#interrupt-cells = <1>;
815e8020874SLiviu Dudau		interrupt-map-mask = <0 0 15>;
816ef972714SSudeep Holla		interrupt-map = <0 0  0 &gic 0 0 GIC_SPI  68 IRQ_TYPE_LEVEL_HIGH>,
817ef972714SSudeep Holla				<0 0  1 &gic 0 0 GIC_SPI  69 IRQ_TYPE_LEVEL_HIGH>,
818ef972714SSudeep Holla				<0 0  2 &gic 0 0 GIC_SPI  70 IRQ_TYPE_LEVEL_HIGH>,
819ef972714SSudeep Holla				<0 0  3 &gic 0 0 GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
820ef972714SSudeep Holla				<0 0  4 &gic 0 0 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
821ef972714SSudeep Holla				<0 0  5 &gic 0 0 GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
822ef972714SSudeep Holla				<0 0  6 &gic 0 0 GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
823ef972714SSudeep Holla				<0 0  7 &gic 0 0 GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
824ef972714SSudeep Holla				<0 0  8 &gic 0 0 GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
825ef972714SSudeep Holla				<0 0  9 &gic 0 0 GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
826ef972714SSudeep Holla				<0 0 10 &gic 0 0 GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
827ef972714SSudeep Holla				<0 0 11 &gic 0 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
828ef972714SSudeep Holla				<0 0 12 &gic 0 0 GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
829e8020874SLiviu Dudau	};
830f5f7e455SBrian Starkey
831f5f7e455SBrian Starkey	site2: tlx@60000000 {
832f5f7e455SBrian Starkey		compatible = "simple-bus";
833f5f7e455SBrian Starkey		#address-cells = <1>;
834f5f7e455SBrian Starkey		#size-cells = <1>;
835f5f7e455SBrian Starkey		ranges = <0 0 0x60000000 0x10000000>;
836f5f7e455SBrian Starkey		#interrupt-cells = <1>;
837f5f7e455SBrian Starkey		interrupt-map-mask = <0 0>;
838ef972714SSudeep Holla		interrupt-map = <0 0 &gic 0 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
839f5f7e455SBrian Starkey	};
840d29e849cSSudeep Holla};
841