xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi (revision 577dd5de09906e37a407a4326d17e58f6051fa2d)
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	 */
9193d00a2SRobin Murphy	dma-ranges = <0 0 0 0 0x100 0>;
10e8020874SLiviu Dudau
1179502355SLiviu Dudau	memtimer: timer@2a810000 {
1279502355SLiviu Dudau		compatible = "arm,armv7-timer-mem";
1379502355SLiviu Dudau		reg = <0x0 0x2a810000 0x0 0x10000>;
1479502355SLiviu Dudau		clock-frequency = <50000000>;
1579502355SLiviu Dudau		#address-cells = <2>;
1679502355SLiviu Dudau		#size-cells = <2>;
1779502355SLiviu Dudau		ranges;
1879502355SLiviu Dudau		status = "disabled";
1979502355SLiviu Dudau		frame@2a830000 {
2079502355SLiviu Dudau			frame-number = <1>;
21ef972714SSudeep Holla			interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
2279502355SLiviu Dudau			reg = <0x0 0x2a830000 0x0 0x10000>;
2379502355SLiviu Dudau		};
2479502355SLiviu Dudau	};
2579502355SLiviu Dudau
26ff9a6262SSudeep Holla	mailbox: mhu@2b1f0000 {
27ff9a6262SSudeep Holla		compatible = "arm,mhu", "arm,primecell";
28ff9a6262SSudeep Holla		reg = <0x0 0x2b1f0000 0x0 0x1000>;
29ff9a6262SSudeep Holla		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
30ff9a6262SSudeep Holla			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
31ff9a6262SSudeep Holla		interrupt-names = "mhu_lpri_rx",
32ff9a6262SSudeep Holla				  "mhu_hpri_rx";
33ff9a6262SSudeep Holla		#mbox-cells = <1>;
34ff9a6262SSudeep Holla		clocks = <&soc_refclk100mhz>;
35ff9a6262SSudeep Holla		clock-names = "apb_pclk";
36ff9a6262SSudeep Holla	};
37ff9a6262SSudeep Holla
38*577dd5deSRobin Murphy	smmu_gpu: iommu@2b400000 {
39*577dd5deSRobin Murphy		compatible = "arm,mmu-400", "arm,smmu-v1";
40*577dd5deSRobin Murphy		reg = <0x0 0x2b400000 0x0 0x10000>;
41*577dd5deSRobin Murphy		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
42*577dd5deSRobin Murphy			     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
43*577dd5deSRobin Murphy		#iommu-cells = <1>;
44*577dd5deSRobin Murphy		#global-interrupts = <1>;
45*577dd5deSRobin Murphy		power-domains = <&scpi_devpd 1>;
46*577dd5deSRobin Murphy		dma-coherent;
47*577dd5deSRobin Murphy		status = "disabled";
48*577dd5deSRobin Murphy	};
49*577dd5deSRobin Murphy
502ac15068SRobin Murphy	smmu_pcie: iommu@2b500000 {
512ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
522ac15068SRobin Murphy		reg = <0x0 0x2b500000 0x0 0x10000>;
532ac15068SRobin Murphy		interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
542ac15068SRobin Murphy			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
552ac15068SRobin Murphy		#iommu-cells = <1>;
562ac15068SRobin Murphy		#global-interrupts = <1>;
572ac15068SRobin Murphy		dma-coherent;
582ac15068SRobin Murphy		status = "disabled";
592ac15068SRobin Murphy	};
602ac15068SRobin Murphy
612ac15068SRobin Murphy	smmu_etr: iommu@2b600000 {
622ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
632ac15068SRobin Murphy		reg = <0x0 0x2b600000 0x0 0x10000>;
642ac15068SRobin Murphy		interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
652ac15068SRobin Murphy			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
662ac15068SRobin Murphy		#iommu-cells = <1>;
672ac15068SRobin Murphy		#global-interrupts = <1>;
682ac15068SRobin Murphy		dma-coherent;
69fd47c206SRobin Murphy		power-domains = <&scpi_devpd 0>;
702ac15068SRobin Murphy	};
712ac15068SRobin Murphy
72e8020874SLiviu Dudau	gic: interrupt-controller@2c010000 {
73e8020874SLiviu Dudau		compatible = "arm,gic-400", "arm,cortex-a15-gic";
74e8020874SLiviu Dudau		reg = <0x0 0x2c010000 0 0x1000>,
75e8020874SLiviu Dudau		      <0x0 0x2c02f000 0 0x2000>,
76e8020874SLiviu Dudau		      <0x0 0x2c04f000 0 0x2000>,
77e8020874SLiviu Dudau		      <0x0 0x2c06f000 0 0x2000>;
789e6f374fSLiviu Dudau		#address-cells = <2>;
79e8020874SLiviu Dudau		#interrupt-cells = <3>;
809e6f374fSLiviu Dudau		#size-cells = <2>;
81e8020874SLiviu Dudau		interrupt-controller;
82e8020874SLiviu Dudau		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
839e6f374fSLiviu Dudau		ranges = <0 0 0 0x2c1c0000 0 0x40000>;
8420fd17ffSRobin Murphy
859e6f374fSLiviu Dudau		v2m_0: v2m@0 {
869e6f374fSLiviu Dudau			compatible = "arm,gic-v2m-frame";
879e6f374fSLiviu Dudau			msi-controller;
883f509813SSudeep Holla			reg = <0 0 0 0x10000>;
899e6f374fSLiviu Dudau		};
9020fd17ffSRobin Murphy
9120fd17ffSRobin Murphy		v2m@10000 {
9220fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
9320fd17ffSRobin Murphy			msi-controller;
943f509813SSudeep Holla			reg = <0 0x10000 0 0x10000>;
9520fd17ffSRobin Murphy		};
9620fd17ffSRobin Murphy
9720fd17ffSRobin Murphy		v2m@20000 {
9820fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
9920fd17ffSRobin Murphy			msi-controller;
1003f509813SSudeep Holla			reg = <0 0x20000 0 0x10000>;
10120fd17ffSRobin Murphy		};
10220fd17ffSRobin Murphy
10320fd17ffSRobin Murphy		v2m@30000 {
10420fd17ffSRobin Murphy			compatible = "arm,gic-v2m-frame";
10520fd17ffSRobin Murphy			msi-controller;
1063f509813SSudeep Holla			reg = <0 0x30000 0 0x10000>;
10720fd17ffSRobin Murphy		};
108e8020874SLiviu Dudau	};
109e8020874SLiviu Dudau
110e8020874SLiviu Dudau	timer {
111e8020874SLiviu Dudau		compatible = "arm,armv8-timer";
112e8020874SLiviu Dudau		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
113e8020874SLiviu Dudau			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
114e8020874SLiviu Dudau			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
115e8020874SLiviu Dudau			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
116e8020874SLiviu Dudau	};
117e8020874SLiviu Dudau
1183e287cf6SSudeep Holla	/*
1193e287cf6SSudeep Holla	 * Juno TRMs specify the size for these coresight components as 64K.
1203e287cf6SSudeep Holla	 * The actual size is just 4K though 64K is reserved. Access to the
1213e287cf6SSudeep Holla	 * unmapped reserved region results in a DECERR response.
1223e287cf6SSudeep Holla	 */
12319ac17c0SSudeep Holla	etf@20010000 { /* etf0 */
1243e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
1253e287cf6SSudeep Holla		reg = <0 0x20010000 0 0x1000>;
1263e287cf6SSudeep Holla
1273e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1283e287cf6SSudeep Holla		clock-names = "apb_pclk";
129bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1303e287cf6SSudeep Holla
13141af6cbfSSuzuki K Poulose		in-ports {
13241af6cbfSSuzuki K Poulose			port {
13319ac17c0SSudeep Holla				etf0_in_port: endpoint {
1343e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_out_port>;
1353e287cf6SSudeep Holla				};
1363e287cf6SSudeep Holla			};
13741af6cbfSSuzuki K Poulose		};
1383e287cf6SSudeep Holla
13941af6cbfSSuzuki K Poulose		out-ports {
14041af6cbfSSuzuki K Poulose			port {
14119ac17c0SSudeep Holla				etf0_out_port: endpoint {
1423e287cf6SSudeep Holla				};
1433e287cf6SSudeep Holla			};
1443e287cf6SSudeep Holla		};
1453e287cf6SSudeep Holla	};
1463e287cf6SSudeep Holla
1473e287cf6SSudeep Holla	tpiu@20030000 {
1483e287cf6SSudeep Holla		compatible = "arm,coresight-tpiu", "arm,primecell";
1493e287cf6SSudeep Holla		reg = <0 0x20030000 0 0x1000>;
1503e287cf6SSudeep Holla
1513e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1523e287cf6SSudeep Holla		clock-names = "apb_pclk";
153bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
15441af6cbfSSuzuki K Poulose		in-ports {
1553e287cf6SSudeep Holla			port {
1563e287cf6SSudeep Holla				tpiu_in_port: endpoint {
1573e287cf6SSudeep Holla					remote-endpoint = <&replicator_out_port0>;
1583e287cf6SSudeep Holla				};
1593e287cf6SSudeep Holla			};
1603e287cf6SSudeep Holla		};
16141af6cbfSSuzuki K Poulose	};
1623e287cf6SSudeep Holla
16319ac17c0SSudeep Holla	/* main funnel on Juno r0, cssys0 funnel on Juno r1/r2 as per TRM*/
16419ac17c0SSudeep Holla	main_funnel: funnel@20040000 {
165f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
1663e287cf6SSudeep Holla		reg = <0 0x20040000 0 0x1000>;
1673e287cf6SSudeep Holla
1683e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1693e287cf6SSudeep Holla		clock-names = "apb_pclk";
170bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1713e287cf6SSudeep Holla
17241af6cbfSSuzuki K Poulose		out-ports {
17341af6cbfSSuzuki K Poulose			port {
1743e287cf6SSudeep Holla				main_funnel_out_port: endpoint {
17519ac17c0SSudeep Holla					remote-endpoint = <&etf0_in_port>;
1763e287cf6SSudeep Holla				};
1773e287cf6SSudeep Holla			};
17841af6cbfSSuzuki K Poulose		};
1793e287cf6SSudeep Holla
18041af6cbfSSuzuki K Poulose		main_funnel_in_ports: in-ports {
18141af6cbfSSuzuki K Poulose			#address-cells = <1>;
18241af6cbfSSuzuki K Poulose			#size-cells = <0>;
18341af6cbfSSuzuki K Poulose
18441af6cbfSSuzuki K Poulose			port@0 {
1853e287cf6SSudeep Holla				reg = <0>;
1863e287cf6SSudeep Holla				main_funnel_in_port0: endpoint {
1873e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_out_port>;
1883e287cf6SSudeep Holla				};
1893e287cf6SSudeep Holla			};
1903e287cf6SSudeep Holla
19141af6cbfSSuzuki K Poulose			port@1 {
1923e287cf6SSudeep Holla				reg = <1>;
1933e287cf6SSudeep Holla				main_funnel_in_port1: endpoint {
1943e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_out_port>;
1953e287cf6SSudeep Holla				};
1963e287cf6SSudeep Holla			};
1973e287cf6SSudeep Holla		};
1983e287cf6SSudeep Holla	};
1993e287cf6SSudeep Holla
2003e287cf6SSudeep Holla	etr@20070000 {
2013e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
2023e287cf6SSudeep Holla		reg = <0 0x20070000 0 0x1000>;
2032ac15068SRobin Murphy		iommus = <&smmu_etr 0>;
2043e287cf6SSudeep Holla
2053e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2063e287cf6SSudeep Holla		clock-names = "apb_pclk";
207bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
20879daf2a4SSuzuki K Poulose		arm,scatter-gather;
20941af6cbfSSuzuki K Poulose		in-ports {
2103e287cf6SSudeep Holla			port {
2113e287cf6SSudeep Holla				etr_in_port: endpoint {
2123e287cf6SSudeep Holla					remote-endpoint = <&replicator_out_port1>;
2133e287cf6SSudeep Holla				};
2143e287cf6SSudeep Holla			};
2153e287cf6SSudeep Holla		};
21641af6cbfSSuzuki K Poulose	};
2173e287cf6SSudeep Holla
218cde6f9abSMike Leach	stm@20100000 {
219cde6f9abSMike Leach		compatible = "arm,coresight-stm", "arm,primecell";
220cde6f9abSMike Leach		reg = <0 0x20100000 0 0x1000>,
221cde6f9abSMike Leach		      <0 0x28000000 0 0x1000000>;
222cde6f9abSMike Leach		reg-names = "stm-base", "stm-stimulus-base";
223cde6f9abSMike Leach
224cde6f9abSMike Leach		clocks = <&soc_smc50mhz>;
225cde6f9abSMike Leach		clock-names = "apb_pclk";
226cde6f9abSMike Leach		power-domains = <&scpi_devpd 0>;
22741af6cbfSSuzuki K Poulose		out-ports {
228cde6f9abSMike Leach			port {
229cde6f9abSMike Leach				stm_out_port: endpoint {
230cde6f9abSMike Leach				};
231cde6f9abSMike Leach			};
232cde6f9abSMike Leach		};
23341af6cbfSSuzuki K Poulose	};
234cde6f9abSMike Leach
23520d00c40SSudeep Holla	replicator@20120000 {
23620d00c40SSudeep Holla		compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
23720d00c40SSudeep Holla		reg = <0 0x20120000 0 0x1000>;
23820d00c40SSudeep Holla
23920d00c40SSudeep Holla		clocks = <&soc_smc50mhz>;
24020d00c40SSudeep Holla		clock-names = "apb_pclk";
24120d00c40SSudeep Holla		power-domains = <&scpi_devpd 0>;
24220d00c40SSudeep Holla
24320d00c40SSudeep Holla		out-ports {
24420d00c40SSudeep Holla			#address-cells = <1>;
24520d00c40SSudeep Holla			#size-cells = <0>;
24620d00c40SSudeep Holla
24720d00c40SSudeep Holla			/* replicator output ports */
24820d00c40SSudeep Holla			port@0 {
24920d00c40SSudeep Holla				reg = <0>;
25020d00c40SSudeep Holla				replicator_out_port0: endpoint {
25120d00c40SSudeep Holla					remote-endpoint = <&tpiu_in_port>;
25220d00c40SSudeep Holla				};
25320d00c40SSudeep Holla			};
25420d00c40SSudeep Holla
25520d00c40SSudeep Holla			port@1 {
25620d00c40SSudeep Holla				reg = <1>;
25720d00c40SSudeep Holla				replicator_out_port1: endpoint {
25820d00c40SSudeep Holla					remote-endpoint = <&etr_in_port>;
25920d00c40SSudeep Holla				};
26020d00c40SSudeep Holla			};
26120d00c40SSudeep Holla		};
26220d00c40SSudeep Holla		in-ports {
26320d00c40SSudeep Holla			port {
26420d00c40SSudeep Holla				replicator_in_port0: endpoint {
26520d00c40SSudeep Holla				};
26620d00c40SSudeep Holla			};
26720d00c40SSudeep Holla		};
26820d00c40SSudeep Holla	};
26920d00c40SSudeep Holla
270207b6e6bSSudeep Holla	cpu_debug0: cpu-debug@22010000 {
27160f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
27260f01d7aSSuzuki K Poulose		reg = <0x0 0x22010000 0x0 0x1000>;
27360f01d7aSSuzuki K Poulose
27460f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
27560f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
27660f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
27760f01d7aSSuzuki K Poulose	};
27860f01d7aSSuzuki K Poulose
2793e287cf6SSudeep Holla	etm0: etm@22040000 {
2803e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
2813e287cf6SSudeep Holla		reg = <0 0x22040000 0 0x1000>;
2823e287cf6SSudeep Holla
2833e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2843e287cf6SSudeep Holla		clock-names = "apb_pclk";
285bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
28641af6cbfSSuzuki K Poulose		out-ports {
2873e287cf6SSudeep Holla			port {
2883e287cf6SSudeep Holla				cluster0_etm0_out_port: endpoint {
2893e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_in_port0>;
2903e287cf6SSudeep Holla				};
2913e287cf6SSudeep Holla			};
2923e287cf6SSudeep Holla		};
29341af6cbfSSuzuki K Poulose	};
2943e287cf6SSudeep Holla
29519ac17c0SSudeep Holla	funnel@220c0000 { /* cluster0 funnel */
296f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2973e287cf6SSudeep Holla		reg = <0 0x220c0000 0 0x1000>;
2983e287cf6SSudeep Holla
2993e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3003e287cf6SSudeep Holla		clock-names = "apb_pclk";
301bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
30241af6cbfSSuzuki K Poulose		out-ports {
30341af6cbfSSuzuki K Poulose			port {
30441af6cbfSSuzuki K Poulose				cluster0_funnel_out_port: endpoint {
30541af6cbfSSuzuki K Poulose					remote-endpoint = <&main_funnel_in_port0>;
30641af6cbfSSuzuki K Poulose				};
30741af6cbfSSuzuki K Poulose			};
30841af6cbfSSuzuki K Poulose		};
30941af6cbfSSuzuki K Poulose
31041af6cbfSSuzuki K Poulose		in-ports {
3113e287cf6SSudeep Holla			#address-cells = <1>;
3123e287cf6SSudeep Holla			#size-cells = <0>;
3133e287cf6SSudeep Holla
3143e287cf6SSudeep Holla			port@0 {
3153e287cf6SSudeep Holla				reg = <0>;
3163e287cf6SSudeep Holla				cluster0_funnel_in_port0: endpoint {
3173e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm0_out_port>;
3183e287cf6SSudeep Holla				};
3193e287cf6SSudeep Holla			};
3203e287cf6SSudeep Holla
32141af6cbfSSuzuki K Poulose			port@1 {
3223e287cf6SSudeep Holla				reg = <1>;
3233e287cf6SSudeep Holla				cluster0_funnel_in_port1: endpoint {
3243e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm1_out_port>;
3253e287cf6SSudeep Holla				};
3263e287cf6SSudeep Holla			};
3273e287cf6SSudeep Holla		};
3283e287cf6SSudeep Holla	};
3293e287cf6SSudeep Holla
330207b6e6bSSudeep Holla	cpu_debug1: cpu-debug@22110000 {
33160f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
33260f01d7aSSuzuki K Poulose		reg = <0x0 0x22110000 0x0 0x1000>;
33360f01d7aSSuzuki K Poulose
33460f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
33560f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
33660f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
33760f01d7aSSuzuki K Poulose	};
33860f01d7aSSuzuki K Poulose
3393e287cf6SSudeep Holla	etm1: etm@22140000 {
3403e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3413e287cf6SSudeep Holla		reg = <0 0x22140000 0 0x1000>;
3423e287cf6SSudeep Holla
3433e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3443e287cf6SSudeep Holla		clock-names = "apb_pclk";
345bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
34641af6cbfSSuzuki K Poulose		out-ports {
3473e287cf6SSudeep Holla			port {
3483e287cf6SSudeep Holla				cluster0_etm1_out_port: endpoint {
3493e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_in_port1>;
3503e287cf6SSudeep Holla				};
3513e287cf6SSudeep Holla			};
3523e287cf6SSudeep Holla		};
35341af6cbfSSuzuki K Poulose	};
3543e287cf6SSudeep Holla
355207b6e6bSSudeep Holla	cpu_debug2: cpu-debug@23010000 {
35660f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
35760f01d7aSSuzuki K Poulose		reg = <0x0 0x23010000 0x0 0x1000>;
35860f01d7aSSuzuki K Poulose
35960f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
36060f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
36160f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
36260f01d7aSSuzuki K Poulose	};
36360f01d7aSSuzuki K Poulose
3643e287cf6SSudeep Holla	etm2: etm@23040000 {
3653e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3663e287cf6SSudeep Holla		reg = <0 0x23040000 0 0x1000>;
3673e287cf6SSudeep Holla
3683e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3693e287cf6SSudeep Holla		clock-names = "apb_pclk";
370bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
37141af6cbfSSuzuki K Poulose		out-ports {
3723e287cf6SSudeep Holla			port {
3733e287cf6SSudeep Holla				cluster1_etm0_out_port: endpoint {
3743e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port0>;
3753e287cf6SSudeep Holla				};
3763e287cf6SSudeep Holla			};
3773e287cf6SSudeep Holla		};
37841af6cbfSSuzuki K Poulose	};
3793e287cf6SSudeep Holla
38019ac17c0SSudeep Holla	funnel@230c0000 { /* cluster1 funnel */
381f37fdc1dSLeo Yan		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
3823e287cf6SSudeep Holla		reg = <0 0x230c0000 0 0x1000>;
3833e287cf6SSudeep Holla
3843e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3853e287cf6SSudeep Holla		clock-names = "apb_pclk";
386bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
38741af6cbfSSuzuki K Poulose		out-ports {
38841af6cbfSSuzuki K Poulose			port {
38941af6cbfSSuzuki K Poulose				cluster1_funnel_out_port: endpoint {
39041af6cbfSSuzuki K Poulose					remote-endpoint = <&main_funnel_in_port1>;
39141af6cbfSSuzuki K Poulose				};
39241af6cbfSSuzuki K Poulose			};
39341af6cbfSSuzuki K Poulose		};
39441af6cbfSSuzuki K Poulose
39541af6cbfSSuzuki K Poulose		in-ports {
3963e287cf6SSudeep Holla			#address-cells = <1>;
3973e287cf6SSudeep Holla			#size-cells = <0>;
3983e287cf6SSudeep Holla
3993e287cf6SSudeep Holla			port@0 {
4003e287cf6SSudeep Holla				reg = <0>;
4013e287cf6SSudeep Holla				cluster1_funnel_in_port0: endpoint {
4023e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm0_out_port>;
4033e287cf6SSudeep Holla				};
4043e287cf6SSudeep Holla			};
4053e287cf6SSudeep Holla
40641af6cbfSSuzuki K Poulose			port@1 {
4073e287cf6SSudeep Holla				reg = <1>;
4083e287cf6SSudeep Holla				cluster1_funnel_in_port1: endpoint {
4093e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm1_out_port>;
4103e287cf6SSudeep Holla				};
4113e287cf6SSudeep Holla			};
41241af6cbfSSuzuki K Poulose			port@2 {
4133e287cf6SSudeep Holla				reg = <2>;
4143e287cf6SSudeep Holla				cluster1_funnel_in_port2: endpoint {
4153e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm2_out_port>;
4163e287cf6SSudeep Holla				};
4173e287cf6SSudeep Holla			};
41841af6cbfSSuzuki K Poulose			port@3 {
4193e287cf6SSudeep Holla				reg = <3>;
4203e287cf6SSudeep Holla				cluster1_funnel_in_port3: endpoint {
4213e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm3_out_port>;
4223e287cf6SSudeep Holla				};
4233e287cf6SSudeep Holla			};
4243e287cf6SSudeep Holla		};
4253e287cf6SSudeep Holla	};
4263e287cf6SSudeep Holla
427207b6e6bSSudeep Holla	cpu_debug3: cpu-debug@23110000 {
42860f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
42960f01d7aSSuzuki K Poulose		reg = <0x0 0x23110000 0x0 0x1000>;
43060f01d7aSSuzuki K Poulose
43160f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
43260f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
43360f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
43460f01d7aSSuzuki K Poulose	};
43560f01d7aSSuzuki K Poulose
4363e287cf6SSudeep Holla	etm3: etm@23140000 {
4373e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
4383e287cf6SSudeep Holla		reg = <0 0x23140000 0 0x1000>;
4393e287cf6SSudeep Holla
4403e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4413e287cf6SSudeep Holla		clock-names = "apb_pclk";
442bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
44341af6cbfSSuzuki K Poulose		out-ports {
4443e287cf6SSudeep Holla			port {
4453e287cf6SSudeep Holla				cluster1_etm1_out_port: endpoint {
4463e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port1>;
4473e287cf6SSudeep Holla				};
4483e287cf6SSudeep Holla			};
4493e287cf6SSudeep Holla		};
45041af6cbfSSuzuki K Poulose	};
4513e287cf6SSudeep Holla
452207b6e6bSSudeep Holla	cpu_debug4: cpu-debug@23210000 {
45360f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
45460f01d7aSSuzuki K Poulose		reg = <0x0 0x23210000 0x0 0x1000>;
45560f01d7aSSuzuki K Poulose
45660f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
45760f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
45860f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
45960f01d7aSSuzuki K Poulose	};
46060f01d7aSSuzuki K Poulose
4613e287cf6SSudeep Holla	etm4: etm@23240000 {
4623e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
4633e287cf6SSudeep Holla		reg = <0 0x23240000 0 0x1000>;
4643e287cf6SSudeep Holla
4653e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4663e287cf6SSudeep Holla		clock-names = "apb_pclk";
467bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
46841af6cbfSSuzuki K Poulose		out-ports {
4693e287cf6SSudeep Holla			port {
4703e287cf6SSudeep Holla				cluster1_etm2_out_port: endpoint {
4713e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port2>;
4723e287cf6SSudeep Holla				};
4733e287cf6SSudeep Holla			};
4743e287cf6SSudeep Holla		};
47541af6cbfSSuzuki K Poulose	};
4763e287cf6SSudeep Holla
477207b6e6bSSudeep Holla	cpu_debug5: cpu-debug@23310000 {
47860f01d7aSSuzuki K Poulose		compatible = "arm,coresight-cpu-debug", "arm,primecell";
47960f01d7aSSuzuki K Poulose		reg = <0x0 0x23310000 0x0 0x1000>;
48060f01d7aSSuzuki K Poulose
48160f01d7aSSuzuki K Poulose		clocks = <&soc_smc50mhz>;
48260f01d7aSSuzuki K Poulose		clock-names = "apb_pclk";
48360f01d7aSSuzuki K Poulose		power-domains = <&scpi_devpd 0>;
48460f01d7aSSuzuki K Poulose	};
48560f01d7aSSuzuki K Poulose
4863e287cf6SSudeep Holla	etm5: etm@23340000 {
4873e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
4883e287cf6SSudeep Holla		reg = <0 0x23340000 0 0x1000>;
4893e287cf6SSudeep Holla
4903e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
4913e287cf6SSudeep Holla		clock-names = "apb_pclk";
492bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
49341af6cbfSSuzuki K Poulose		out-ports {
4943e287cf6SSudeep Holla			port {
4953e287cf6SSudeep Holla				cluster1_etm3_out_port: endpoint {
4963e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_in_port3>;
4973e287cf6SSudeep Holla				};
4983e287cf6SSudeep Holla			};
4993e287cf6SSudeep Holla		};
50041af6cbfSSuzuki K Poulose	};
5013e287cf6SSudeep Holla
502*577dd5deSRobin Murphy	gpu: gpu@2d000000 {
503*577dd5deSRobin Murphy		compatible = "arm,juno-mali", "arm,mali-t624";
504*577dd5deSRobin Murphy		reg = <0 0x2d000000 0 0x10000>;
505*577dd5deSRobin Murphy		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
506*577dd5deSRobin Murphy			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
507*577dd5deSRobin Murphy			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
508*577dd5deSRobin Murphy		interrupt-names = "gpu", "job", "mmu";
509*577dd5deSRobin Murphy		clocks = <&scpi_dvfs 2>;
510*577dd5deSRobin Murphy		power-domains = <&scpi_devpd 1>;
511*577dd5deSRobin Murphy		dma-coherent;
512*577dd5deSRobin Murphy		/* The SMMU is only really of interest to bare-metal hypervisors */
513*577dd5deSRobin Murphy		/* iommus = <&smmu_gpu 0>; */
514*577dd5deSRobin Murphy		status = "disabled";
515*577dd5deSRobin Murphy	};
516*577dd5deSRobin Murphy
517ff9a6262SSudeep Holla	sram: sram@2e000000 {
518ff9a6262SSudeep Holla		compatible = "arm,juno-sram-ns", "mmio-sram";
519ff9a6262SSudeep Holla		reg = <0x0 0x2e000000 0x0 0x8000>;
520ff9a6262SSudeep Holla
521ff9a6262SSudeep Holla		#address-cells = <1>;
522ff9a6262SSudeep Holla		#size-cells = <1>;
523ff9a6262SSudeep Holla		ranges = <0 0x0 0x2e000000 0x8000>;
524ff9a6262SSudeep Holla
525ff9a6262SSudeep Holla		cpu_scp_lpri: scp-shmem@0 {
526ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
527ff9a6262SSudeep Holla			reg = <0x0 0x200>;
528ff9a6262SSudeep Holla		};
529ff9a6262SSudeep Holla
530ff9a6262SSudeep Holla		cpu_scp_hpri: scp-shmem@200 {
531ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
532ff9a6262SSudeep Holla			reg = <0x200 0x200>;
533ff9a6262SSudeep Holla		};
534ff9a6262SSudeep Holla	};
535ff9a6262SSudeep Holla
536dc10ef2dSRob Herring	pcie_ctlr: pcie@40000000 {
53736582c60SSudeep Holla		compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic";
53836582c60SSudeep Holla		device_type = "pci";
53936582c60SSudeep Holla		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
54036582c60SSudeep Holla		bus-range = <0 255>;
54136582c60SSudeep Holla		linux,pci-domain = <0>;
54236582c60SSudeep Holla		#address-cells = <3>;
54336582c60SSudeep Holla		#size-cells = <2>;
54436582c60SSudeep Holla		dma-coherent;
5454c9456dfSJeremy Linton		ranges = <0x01000000 0x00 0x00000000 0x00 0x5f800000 0x0 0x00800000>,
54636582c60SSudeep Holla			 <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>,
54736582c60SSudeep Holla			 <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
54836582c60SSudeep Holla		#interrupt-cells = <1>;
54936582c60SSudeep Holla		interrupt-map-mask = <0 0 0 7>;
550ef972714SSudeep Holla		interrupt-map = <0 0 0 1 &gic 0 0 GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
551ef972714SSudeep Holla				<0 0 0 2 &gic 0 0 GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
552ef972714SSudeep Holla				<0 0 0 3 &gic 0 0 GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
553ef972714SSudeep Holla				<0 0 0 4 &gic 0 0 GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
55436582c60SSudeep Holla		msi-parent = <&v2m_0>;
55536582c60SSudeep Holla		status = "disabled";
5562ac15068SRobin Murphy		iommu-map-mask = <0x0>;	/* RC has no means to output PCI RID */
5572ac15068SRobin Murphy		iommu-map = <0x0 &smmu_pcie 0x0 0x1>;
55836582c60SSudeep Holla	};
55936582c60SSudeep Holla
560ff9a6262SSudeep Holla	scpi {
561ff9a6262SSudeep Holla		compatible = "arm,scpi";
562ff9a6262SSudeep Holla		mboxes = <&mailbox 1>;
563ff9a6262SSudeep Holla		shmem = <&cpu_scp_hpri>;
564ff9a6262SSudeep Holla
565ff9a6262SSudeep Holla		clocks {
566ff9a6262SSudeep Holla			compatible = "arm,scpi-clocks";
567ff9a6262SSudeep Holla
5686d6acd14SSudeep Holla			scpi_dvfs: scpi-dvfs {
569ff9a6262SSudeep Holla				compatible = "arm,scpi-dvfs-clocks";
570ff9a6262SSudeep Holla				#clock-cells = <1>;
571ff9a6262SSudeep Holla				clock-indices = <0>, <1>, <2>;
572ff9a6262SSudeep Holla				clock-output-names = "atlclk", "aplclk","gpuclk";
573ff9a6262SSudeep Holla			};
5746d6acd14SSudeep Holla			scpi_clk: scpi-clk {
575ff9a6262SSudeep Holla				compatible = "arm,scpi-variable-clocks";
576ff9a6262SSudeep Holla				#clock-cells = <1>;
5779fd9288eSLiviu Dudau				clock-indices = <3>;
5789fd9288eSLiviu Dudau				clock-output-names = "pxlclk";
579ff9a6262SSudeep Holla			};
580ff9a6262SSudeep Holla		};
581dfacaf0eSPunit Agrawal
582bdeaa21aSSudeep Holla		scpi_devpd: scpi-power-domains {
583bdeaa21aSSudeep Holla			compatible = "arm,scpi-power-domains";
584bdeaa21aSSudeep Holla			num-domains = <2>;
585bdeaa21aSSudeep Holla			#power-domain-cells = <1>;
586bdeaa21aSSudeep Holla		};
587bdeaa21aSSudeep Holla
588dfacaf0eSPunit Agrawal		scpi_sensors0: sensors {
589dfacaf0eSPunit Agrawal			compatible = "arm,scpi-sensors";
590dfacaf0eSPunit Agrawal			#thermal-sensor-cells = <1>;
591dfacaf0eSPunit Agrawal		};
592ff9a6262SSudeep Holla	};
593ff9a6262SSudeep Holla
594f7b636a8SJavi Merino	thermal-zones {
595f7b636a8SJavi Merino		pmic {
596f7b636a8SJavi Merino			polling-delay = <1000>;
597f7b636a8SJavi Merino			polling-delay-passive = <100>;
598f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 0>;
599f7b636a8SJavi Merino		};
600f7b636a8SJavi Merino
601f7b636a8SJavi Merino		soc {
602f7b636a8SJavi Merino			polling-delay = <1000>;
603f7b636a8SJavi Merino			polling-delay-passive = <100>;
604f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 3>;
605f7b636a8SJavi Merino		};
606f7b636a8SJavi Merino
607506eeeabSSudeep Holla		big_cluster_thermal_zone: big-cluster {
608f7b636a8SJavi Merino			polling-delay = <1000>;
609f7b636a8SJavi Merino			polling-delay-passive = <100>;
610f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 21>;
611f7b636a8SJavi Merino			status = "disabled";
612f7b636a8SJavi Merino		};
613f7b636a8SJavi Merino
614506eeeabSSudeep Holla		little_cluster_thermal_zone: little-cluster {
615f7b636a8SJavi Merino			polling-delay = <1000>;
616f7b636a8SJavi Merino			polling-delay-passive = <100>;
617f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 22>;
618f7b636a8SJavi Merino			status = "disabled";
619f7b636a8SJavi Merino		};
620f7b636a8SJavi Merino
621f7b636a8SJavi Merino		gpu0_thermal_zone: gpu0 {
622f7b636a8SJavi Merino			polling-delay = <1000>;
623f7b636a8SJavi Merino			polling-delay-passive = <100>;
624f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 23>;
625f7b636a8SJavi Merino			status = "disabled";
626f7b636a8SJavi Merino		};
627f7b636a8SJavi Merino
628f7b636a8SJavi Merino		gpu1_thermal_zone: gpu1 {
629f7b636a8SJavi Merino			polling-delay = <1000>;
630f7b636a8SJavi Merino			polling-delay-passive = <100>;
631f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 24>;
632f7b636a8SJavi Merino			status = "disabled";
633f7b636a8SJavi Merino		};
634f7b636a8SJavi Merino	};
635f7b636a8SJavi Merino
6362ac15068SRobin Murphy	smmu_dma: iommu@7fb00000 {
6372ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
6382ac15068SRobin Murphy		reg = <0x0 0x7fb00000 0x0 0x10000>;
6392ac15068SRobin Murphy		interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
6402ac15068SRobin Murphy			     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
6412ac15068SRobin Murphy		#iommu-cells = <1>;
6422ac15068SRobin Murphy		#global-interrupts = <1>;
6432ac15068SRobin Murphy		dma-coherent;
6442ac15068SRobin Murphy		status = "disabled";
6452ac15068SRobin Murphy	};
6462ac15068SRobin Murphy
6472ac15068SRobin Murphy	smmu_hdlcd1: iommu@7fb10000 {
6482ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
6492ac15068SRobin Murphy		reg = <0x0 0x7fb10000 0x0 0x10000>;
6502ac15068SRobin Murphy		interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
6512ac15068SRobin Murphy			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
6522ac15068SRobin Murphy		#iommu-cells = <1>;
6532ac15068SRobin Murphy		#global-interrupts = <1>;
6542ac15068SRobin Murphy	};
6552ac15068SRobin Murphy
6562ac15068SRobin Murphy	smmu_hdlcd0: iommu@7fb20000 {
6572ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
6582ac15068SRobin Murphy		reg = <0x0 0x7fb20000 0x0 0x10000>;
6592ac15068SRobin Murphy		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
6602ac15068SRobin Murphy			     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
6612ac15068SRobin Murphy		#iommu-cells = <1>;
6622ac15068SRobin Murphy		#global-interrupts = <1>;
6632ac15068SRobin Murphy	};
6642ac15068SRobin Murphy
6652ac15068SRobin Murphy	smmu_usb: iommu@7fb30000 {
6662ac15068SRobin Murphy		compatible = "arm,mmu-401", "arm,smmu-v1";
6672ac15068SRobin Murphy		reg = <0x0 0x7fb30000 0x0 0x10000>;
6682ac15068SRobin Murphy		interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
6692ac15068SRobin Murphy			     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
6702ac15068SRobin Murphy		#iommu-cells = <1>;
6712ac15068SRobin Murphy		#global-interrupts = <1>;
6722ac15068SRobin Murphy		dma-coherent;
6732ac15068SRobin Murphy	};
6742ac15068SRobin Murphy
675e8020874SLiviu Dudau	dma@7ff00000 {
676e8020874SLiviu Dudau		compatible = "arm,pl330", "arm,primecell";
677e8020874SLiviu Dudau		reg = <0x0 0x7ff00000 0 0x1000>;
678e8020874SLiviu Dudau		#dma-cells = <1>;
679e8020874SLiviu Dudau		#dma-channels = <8>;
680e8020874SLiviu Dudau		#dma-requests = <32>;
681e8020874SLiviu Dudau		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
682e8020874SLiviu Dudau			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
683e8020874SLiviu Dudau			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
684e8020874SLiviu Dudau			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
685aeb2ee56SRobin Murphy			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
686e8020874SLiviu Dudau			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
687e8020874SLiviu Dudau			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
688e8020874SLiviu Dudau			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
689e8020874SLiviu Dudau			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
6902ac15068SRobin Murphy		iommus = <&smmu_dma 0>,
6912ac15068SRobin Murphy			 <&smmu_dma 1>,
6922ac15068SRobin Murphy			 <&smmu_dma 2>,
6932ac15068SRobin Murphy			 <&smmu_dma 3>,
6942ac15068SRobin Murphy			 <&smmu_dma 4>,
6952ac15068SRobin Murphy			 <&smmu_dma 5>,
6962ac15068SRobin Murphy			 <&smmu_dma 6>,
6972ac15068SRobin Murphy			 <&smmu_dma 7>,
6982ac15068SRobin Murphy			 <&smmu_dma 8>;
699e8020874SLiviu Dudau		clocks = <&soc_faxiclk>;
700e8020874SLiviu Dudau		clock-names = "apb_pclk";
701e8020874SLiviu Dudau	};
702e8020874SLiviu Dudau
7039fd9288eSLiviu Dudau	hdlcd@7ff50000 {
7049fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
7059fd9288eSLiviu Dudau		reg = <0 0x7ff50000 0 0x1000>;
7069fd9288eSLiviu Dudau		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
7072ac15068SRobin Murphy		iommus = <&smmu_hdlcd1 0>;
7089fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
7099fd9288eSLiviu Dudau		clock-names = "pxlclk";
7109fd9288eSLiviu Dudau
7119fd9288eSLiviu Dudau		port {
7126449e4c9SRob Herring			hdlcd1_output: endpoint {
7139fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_1_input>;
7149fd9288eSLiviu Dudau			};
7159fd9288eSLiviu Dudau		};
7169fd9288eSLiviu Dudau	};
7179fd9288eSLiviu Dudau
7189fd9288eSLiviu Dudau	hdlcd@7ff60000 {
7199fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
7209fd9288eSLiviu Dudau		reg = <0 0x7ff60000 0 0x1000>;
7219fd9288eSLiviu Dudau		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
7222ac15068SRobin Murphy		iommus = <&smmu_hdlcd0 0>;
7239fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
7249fd9288eSLiviu Dudau		clock-names = "pxlclk";
7259fd9288eSLiviu Dudau
7269fd9288eSLiviu Dudau		port {
7276449e4c9SRob Herring			hdlcd0_output: endpoint {
7289fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_0_input>;
7299fd9288eSLiviu Dudau			};
7309fd9288eSLiviu Dudau		};
7319fd9288eSLiviu Dudau	};
7329fd9288eSLiviu Dudau
733e8020874SLiviu Dudau	soc_uart0: uart@7ff80000 {
734e8020874SLiviu Dudau		compatible = "arm,pl011", "arm,primecell";
735e8020874SLiviu Dudau		reg = <0x0 0x7ff80000 0x0 0x1000>;
736e8020874SLiviu Dudau		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
737e8020874SLiviu Dudau		clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
738e8020874SLiviu Dudau		clock-names = "uartclk", "apb_pclk";
739e8020874SLiviu Dudau	};
740e8020874SLiviu Dudau
741e8020874SLiviu Dudau	i2c@7ffa0000 {
742e8020874SLiviu Dudau		compatible = "snps,designware-i2c";
743e8020874SLiviu Dudau		reg = <0x0 0x7ffa0000 0x0 0x1000>;
744e8020874SLiviu Dudau		#address-cells = <1>;
745e8020874SLiviu Dudau		#size-cells = <0>;
746e8020874SLiviu Dudau		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
747e8020874SLiviu Dudau		clock-frequency = <400000>;
748e8020874SLiviu Dudau		i2c-sda-hold-time-ns = <500>;
749e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
750e8020874SLiviu Dudau
7519fd9288eSLiviu Dudau		hdmi-transmitter@70 {
752e8020874SLiviu Dudau			compatible = "nxp,tda998x";
753e8020874SLiviu Dudau			reg = <0x70>;
7549fd9288eSLiviu Dudau			port {
7556449e4c9SRob Herring				tda998x_0_input: endpoint {
7569fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd0_output>;
7579fd9288eSLiviu Dudau				};
7589fd9288eSLiviu Dudau			};
759e8020874SLiviu Dudau		};
760e8020874SLiviu Dudau
7619fd9288eSLiviu Dudau		hdmi-transmitter@71 {
762e8020874SLiviu Dudau			compatible = "nxp,tda998x";
763e8020874SLiviu Dudau			reg = <0x71>;
7649fd9288eSLiviu Dudau			port {
7656449e4c9SRob Herring				tda998x_1_input: endpoint {
7669fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd1_output>;
7679fd9288eSLiviu Dudau				};
7689fd9288eSLiviu Dudau			};
769e8020874SLiviu Dudau		};
770e8020874SLiviu Dudau	};
771e8020874SLiviu Dudau
772e8020874SLiviu Dudau	ohci@7ffb0000 {
773e8020874SLiviu Dudau		compatible = "generic-ohci";
774e8020874SLiviu Dudau		reg = <0x0 0x7ffb0000 0x0 0x10000>;
775e8020874SLiviu Dudau		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
7762ac15068SRobin Murphy		iommus = <&smmu_usb 0>;
777e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
778e8020874SLiviu Dudau	};
779e8020874SLiviu Dudau
780e8020874SLiviu Dudau	ehci@7ffc0000 {
781e8020874SLiviu Dudau		compatible = "generic-ehci";
782e8020874SLiviu Dudau		reg = <0x0 0x7ffc0000 0x0 0x10000>;
783e8020874SLiviu Dudau		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
7842ac15068SRobin Murphy		iommus = <&smmu_usb 0>;
785e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
786e8020874SLiviu Dudau	};
787e8020874SLiviu Dudau
788e8020874SLiviu Dudau	memory-controller@7ffd0000 {
789e8020874SLiviu Dudau		compatible = "arm,pl354", "arm,primecell";
790e8020874SLiviu Dudau		reg = <0 0x7ffd0000 0 0x1000>;
791e8020874SLiviu Dudau		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
792e8020874SLiviu Dudau			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
793e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
794e8020874SLiviu Dudau		clock-names = "apb_pclk";
795e8020874SLiviu Dudau	};
796e8020874SLiviu Dudau
797e8020874SLiviu Dudau	memory@80000000 {
798e8020874SLiviu Dudau		device_type = "memory";
799e8020874SLiviu Dudau		/* last 16MB of the first memory area is reserved for secure world use by firmware */
800e8020874SLiviu Dudau		reg = <0x00000000 0x80000000 0x0 0x7f000000>,
801e8020874SLiviu Dudau		      <0x00000008 0x80000000 0x1 0x80000000>;
802e8020874SLiviu Dudau	};
803e8020874SLiviu Dudau
80472cc1993SSudeep Holla	smb@8000000 {
805e8020874SLiviu Dudau		compatible = "simple-bus";
806e8020874SLiviu Dudau		#address-cells = <2>;
807e8020874SLiviu Dudau		#size-cells = <1>;
808e8020874SLiviu Dudau		ranges = <0 0 0 0x08000000 0x04000000>,
809e8020874SLiviu Dudau			 <1 0 0 0x14000000 0x04000000>,
810e8020874SLiviu Dudau			 <2 0 0 0x18000000 0x04000000>,
811e8020874SLiviu Dudau			 <3 0 0 0x1c000000 0x04000000>,
812e8020874SLiviu Dudau			 <4 0 0 0x0c000000 0x04000000>,
813e8020874SLiviu Dudau			 <5 0 0 0x10000000 0x04000000>;
814e8020874SLiviu Dudau
815e8020874SLiviu Dudau		#interrupt-cells = <1>;
816e8020874SLiviu Dudau		interrupt-map-mask = <0 0 15>;
817ef972714SSudeep Holla		interrupt-map = <0 0  0 &gic 0 0 GIC_SPI  68 IRQ_TYPE_LEVEL_HIGH>,
818ef972714SSudeep Holla				<0 0  1 &gic 0 0 GIC_SPI  69 IRQ_TYPE_LEVEL_HIGH>,
819ef972714SSudeep Holla				<0 0  2 &gic 0 0 GIC_SPI  70 IRQ_TYPE_LEVEL_HIGH>,
820ef972714SSudeep Holla				<0 0  3 &gic 0 0 GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
821ef972714SSudeep Holla				<0 0  4 &gic 0 0 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
822ef972714SSudeep Holla				<0 0  5 &gic 0 0 GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
823ef972714SSudeep Holla				<0 0  6 &gic 0 0 GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
824ef972714SSudeep Holla				<0 0  7 &gic 0 0 GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
825ef972714SSudeep Holla				<0 0  8 &gic 0 0 GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
826ef972714SSudeep Holla				<0 0  9 &gic 0 0 GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
827ef972714SSudeep Holla				<0 0 10 &gic 0 0 GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
828ef972714SSudeep Holla				<0 0 11 &gic 0 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
829ef972714SSudeep Holla				<0 0 12 &gic 0 0 GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
830e8020874SLiviu Dudau	};
831f5f7e455SBrian Starkey
832f5f7e455SBrian Starkey	site2: tlx@60000000 {
833f5f7e455SBrian Starkey		compatible = "simple-bus";
834f5f7e455SBrian Starkey		#address-cells = <1>;
835f5f7e455SBrian Starkey		#size-cells = <1>;
836f5f7e455SBrian Starkey		ranges = <0 0 0x60000000 0x10000000>;
837f5f7e455SBrian Starkey		#interrupt-cells = <1>;
838f5f7e455SBrian Starkey		interrupt-map-mask = <0 0>;
839ef972714SSudeep Holla		interrupt-map = <0 0 &gic 0 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
840f5f7e455SBrian Starkey	};
841d29e849cSSudeep Holla};
842