xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/arm/juno-base.dtsi (revision f7b636a8d83c7c1285c55248e35458e03a007df3)
1e8020874SLiviu Dudau	/*
2e8020874SLiviu Dudau	 *  Devices shared by all Juno boards
3e8020874SLiviu Dudau	 */
4e8020874SLiviu Dudau
579502355SLiviu Dudau	memtimer: timer@2a810000 {
679502355SLiviu Dudau		compatible = "arm,armv7-timer-mem";
779502355SLiviu Dudau		reg = <0x0 0x2a810000 0x0 0x10000>;
879502355SLiviu Dudau		clock-frequency = <50000000>;
979502355SLiviu Dudau		#address-cells = <2>;
1079502355SLiviu Dudau		#size-cells = <2>;
1179502355SLiviu Dudau		ranges;
1279502355SLiviu Dudau		status = "disabled";
1379502355SLiviu Dudau		frame@2a830000 {
1479502355SLiviu Dudau			frame-number = <1>;
1579502355SLiviu Dudau			interrupts = <0 60 4>;
1679502355SLiviu Dudau			reg = <0x0 0x2a830000 0x0 0x10000>;
1779502355SLiviu Dudau		};
1879502355SLiviu Dudau	};
1979502355SLiviu Dudau
20ff9a6262SSudeep Holla	mailbox: mhu@2b1f0000 {
21ff9a6262SSudeep Holla		compatible = "arm,mhu", "arm,primecell";
22ff9a6262SSudeep Holla		reg = <0x0 0x2b1f0000 0x0 0x1000>;
23ff9a6262SSudeep Holla		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
24ff9a6262SSudeep Holla			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
25ff9a6262SSudeep Holla		interrupt-names = "mhu_lpri_rx",
26ff9a6262SSudeep Holla				  "mhu_hpri_rx";
27ff9a6262SSudeep Holla		#mbox-cells = <1>;
28ff9a6262SSudeep Holla		clocks = <&soc_refclk100mhz>;
29ff9a6262SSudeep Holla		clock-names = "apb_pclk";
30ff9a6262SSudeep Holla	};
31ff9a6262SSudeep Holla
32e8020874SLiviu Dudau	gic: interrupt-controller@2c010000 {
33e8020874SLiviu Dudau		compatible = "arm,gic-400", "arm,cortex-a15-gic";
34e8020874SLiviu Dudau		reg = <0x0 0x2c010000 0 0x1000>,
35e8020874SLiviu Dudau		      <0x0 0x2c02f000 0 0x2000>,
36e8020874SLiviu Dudau		      <0x0 0x2c04f000 0 0x2000>,
37e8020874SLiviu Dudau		      <0x0 0x2c06f000 0 0x2000>;
389e6f374fSLiviu Dudau		#address-cells = <2>;
39e8020874SLiviu Dudau		#interrupt-cells = <3>;
409e6f374fSLiviu Dudau		#size-cells = <2>;
41e8020874SLiviu Dudau		interrupt-controller;
42e8020874SLiviu Dudau		interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
439e6f374fSLiviu Dudau		ranges = <0 0 0 0x2c1c0000 0 0x40000>;
449e6f374fSLiviu Dudau		v2m_0: v2m@0 {
459e6f374fSLiviu Dudau			compatible = "arm,gic-v2m-frame";
469e6f374fSLiviu Dudau			msi-controller;
479e6f374fSLiviu Dudau			reg = <0 0 0 0x1000>;
489e6f374fSLiviu Dudau		};
49e8020874SLiviu Dudau	};
50e8020874SLiviu Dudau
51e8020874SLiviu Dudau	timer {
52e8020874SLiviu Dudau		compatible = "arm,armv8-timer";
53e8020874SLiviu Dudau		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
54e8020874SLiviu Dudau			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
55e8020874SLiviu Dudau			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
56e8020874SLiviu Dudau			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
57e8020874SLiviu Dudau	};
58e8020874SLiviu Dudau
593e287cf6SSudeep Holla	/*
603e287cf6SSudeep Holla	 * Juno TRMs specify the size for these coresight components as 64K.
613e287cf6SSudeep Holla	 * The actual size is just 4K though 64K is reserved. Access to the
623e287cf6SSudeep Holla	 * unmapped reserved region results in a DECERR response.
633e287cf6SSudeep Holla	 */
643e287cf6SSudeep Holla	etf@20010000 {
653e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
663e287cf6SSudeep Holla		reg = <0 0x20010000 0 0x1000>;
673e287cf6SSudeep Holla
683e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
693e287cf6SSudeep Holla		clock-names = "apb_pclk";
70bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
713e287cf6SSudeep Holla		ports {
723e287cf6SSudeep Holla			#address-cells = <1>;
733e287cf6SSudeep Holla			#size-cells = <0>;
743e287cf6SSudeep Holla
753e287cf6SSudeep Holla			/* input port */
763e287cf6SSudeep Holla			port@0 {
773e287cf6SSudeep Holla				reg = <0>;
783e287cf6SSudeep Holla				etf_in_port: endpoint {
793e287cf6SSudeep Holla					slave-mode;
803e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_out_port>;
813e287cf6SSudeep Holla				};
823e287cf6SSudeep Holla			};
833e287cf6SSudeep Holla
843e287cf6SSudeep Holla			/* output port */
853e287cf6SSudeep Holla			port@1 {
863e287cf6SSudeep Holla				reg = <0>;
873e287cf6SSudeep Holla				etf_out_port: endpoint {
883e287cf6SSudeep Holla					remote-endpoint = <&replicator_in_port0>;
893e287cf6SSudeep Holla				};
903e287cf6SSudeep Holla			};
913e287cf6SSudeep Holla		};
923e287cf6SSudeep Holla	};
933e287cf6SSudeep Holla
943e287cf6SSudeep Holla	tpiu@20030000 {
953e287cf6SSudeep Holla		compatible = "arm,coresight-tpiu", "arm,primecell";
963e287cf6SSudeep Holla		reg = <0 0x20030000 0 0x1000>;
973e287cf6SSudeep Holla
983e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
993e287cf6SSudeep Holla		clock-names = "apb_pclk";
100bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1013e287cf6SSudeep Holla		port {
1023e287cf6SSudeep Holla			tpiu_in_port: endpoint {
1033e287cf6SSudeep Holla				slave-mode;
1043e287cf6SSudeep Holla				remote-endpoint = <&replicator_out_port0>;
1053e287cf6SSudeep Holla			};
1063e287cf6SSudeep Holla		};
1073e287cf6SSudeep Holla	};
1083e287cf6SSudeep Holla
1093e287cf6SSudeep Holla	main-funnel@20040000 {
1103e287cf6SSudeep Holla		compatible = "arm,coresight-funnel", "arm,primecell";
1113e287cf6SSudeep Holla		reg = <0 0x20040000 0 0x1000>;
1123e287cf6SSudeep Holla
1133e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1143e287cf6SSudeep Holla		clock-names = "apb_pclk";
115bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1163e287cf6SSudeep Holla		ports {
1173e287cf6SSudeep Holla			#address-cells = <1>;
1183e287cf6SSudeep Holla			#size-cells = <0>;
1193e287cf6SSudeep Holla
1203e287cf6SSudeep Holla			port@0 {
1213e287cf6SSudeep Holla				reg = <0>;
1223e287cf6SSudeep Holla				main_funnel_out_port: endpoint {
1233e287cf6SSudeep Holla					remote-endpoint = <&etf_in_port>;
1243e287cf6SSudeep Holla				};
1253e287cf6SSudeep Holla			};
1263e287cf6SSudeep Holla
1273e287cf6SSudeep Holla			port@1 {
1283e287cf6SSudeep Holla				reg = <0>;
1293e287cf6SSudeep Holla				main_funnel_in_port0: endpoint {
1303e287cf6SSudeep Holla					slave-mode;
1313e287cf6SSudeep Holla					remote-endpoint = <&cluster0_funnel_out_port>;
1323e287cf6SSudeep Holla				};
1333e287cf6SSudeep Holla			};
1343e287cf6SSudeep Holla
1353e287cf6SSudeep Holla			port@2 {
1363e287cf6SSudeep Holla				reg = <1>;
1373e287cf6SSudeep Holla				main_funnel_in_port1: endpoint {
1383e287cf6SSudeep Holla					slave-mode;
1393e287cf6SSudeep Holla					remote-endpoint = <&cluster1_funnel_out_port>;
1403e287cf6SSudeep Holla				};
1413e287cf6SSudeep Holla			};
1423e287cf6SSudeep Holla
1433e287cf6SSudeep Holla		};
1443e287cf6SSudeep Holla	};
1453e287cf6SSudeep Holla
1463e287cf6SSudeep Holla	etr@20070000 {
1473e287cf6SSudeep Holla		compatible = "arm,coresight-tmc", "arm,primecell";
1483e287cf6SSudeep Holla		reg = <0 0x20070000 0 0x1000>;
1493e287cf6SSudeep Holla
1503e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1513e287cf6SSudeep Holla		clock-names = "apb_pclk";
152bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1533e287cf6SSudeep Holla		port {
1543e287cf6SSudeep Holla			etr_in_port: endpoint {
1553e287cf6SSudeep Holla				slave-mode;
1563e287cf6SSudeep Holla				remote-endpoint = <&replicator_out_port1>;
1573e287cf6SSudeep Holla			};
1583e287cf6SSudeep Holla		};
1593e287cf6SSudeep Holla	};
1603e287cf6SSudeep Holla
1613e287cf6SSudeep Holla	etm0: etm@22040000 {
1623e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
1633e287cf6SSudeep Holla		reg = <0 0x22040000 0 0x1000>;
1643e287cf6SSudeep Holla
1653e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1663e287cf6SSudeep Holla		clock-names = "apb_pclk";
167bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1683e287cf6SSudeep Holla		port {
1693e287cf6SSudeep Holla			cluster0_etm0_out_port: endpoint {
1703e287cf6SSudeep Holla				remote-endpoint = <&cluster0_funnel_in_port0>;
1713e287cf6SSudeep Holla			};
1723e287cf6SSudeep Holla		};
1733e287cf6SSudeep Holla	};
1743e287cf6SSudeep Holla
1753e287cf6SSudeep Holla	cluster0-funnel@220c0000 {
1763e287cf6SSudeep Holla		compatible = "arm,coresight-funnel", "arm,primecell";
1773e287cf6SSudeep Holla		reg = <0 0x220c0000 0 0x1000>;
1783e287cf6SSudeep Holla
1793e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
1803e287cf6SSudeep Holla		clock-names = "apb_pclk";
181bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
1823e287cf6SSudeep Holla		ports {
1833e287cf6SSudeep Holla			#address-cells = <1>;
1843e287cf6SSudeep Holla			#size-cells = <0>;
1853e287cf6SSudeep Holla
1863e287cf6SSudeep Holla			port@0 {
1873e287cf6SSudeep Holla				reg = <0>;
1883e287cf6SSudeep Holla				cluster0_funnel_out_port: endpoint {
1893e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_in_port0>;
1903e287cf6SSudeep Holla				};
1913e287cf6SSudeep Holla			};
1923e287cf6SSudeep Holla
1933e287cf6SSudeep Holla			port@1 {
1943e287cf6SSudeep Holla				reg = <0>;
1953e287cf6SSudeep Holla				cluster0_funnel_in_port0: endpoint {
1963e287cf6SSudeep Holla					slave-mode;
1973e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm0_out_port>;
1983e287cf6SSudeep Holla				};
1993e287cf6SSudeep Holla			};
2003e287cf6SSudeep Holla
2013e287cf6SSudeep Holla			port@2 {
2023e287cf6SSudeep Holla				reg = <1>;
2033e287cf6SSudeep Holla				cluster0_funnel_in_port1: endpoint {
2043e287cf6SSudeep Holla					slave-mode;
2053e287cf6SSudeep Holla					remote-endpoint = <&cluster0_etm1_out_port>;
2063e287cf6SSudeep Holla				};
2073e287cf6SSudeep Holla			};
2083e287cf6SSudeep Holla		};
2093e287cf6SSudeep Holla	};
2103e287cf6SSudeep Holla
2113e287cf6SSudeep Holla	etm1: etm@22140000 {
2123e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
2133e287cf6SSudeep Holla		reg = <0 0x22140000 0 0x1000>;
2143e287cf6SSudeep Holla
2153e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2163e287cf6SSudeep Holla		clock-names = "apb_pclk";
217bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
2183e287cf6SSudeep Holla		port {
2193e287cf6SSudeep Holla			cluster0_etm1_out_port: endpoint {
2203e287cf6SSudeep Holla				remote-endpoint = <&cluster0_funnel_in_port1>;
2213e287cf6SSudeep Holla			};
2223e287cf6SSudeep Holla		};
2233e287cf6SSudeep Holla	};
2243e287cf6SSudeep Holla
2253e287cf6SSudeep Holla	etm2: etm@23040000 {
2263e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
2273e287cf6SSudeep Holla		reg = <0 0x23040000 0 0x1000>;
2283e287cf6SSudeep Holla
2293e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2303e287cf6SSudeep Holla		clock-names = "apb_pclk";
231bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
2323e287cf6SSudeep Holla		port {
2333e287cf6SSudeep Holla			cluster1_etm0_out_port: endpoint {
2343e287cf6SSudeep Holla				remote-endpoint = <&cluster1_funnel_in_port0>;
2353e287cf6SSudeep Holla			};
2363e287cf6SSudeep Holla		};
2373e287cf6SSudeep Holla	};
2383e287cf6SSudeep Holla
2393e287cf6SSudeep Holla	cluster1-funnel@230c0000 {
2403e287cf6SSudeep Holla		compatible = "arm,coresight-funnel", "arm,primecell";
2413e287cf6SSudeep Holla		reg = <0 0x230c0000 0 0x1000>;
2423e287cf6SSudeep Holla
2433e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2443e287cf6SSudeep Holla		clock-names = "apb_pclk";
245bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
2463e287cf6SSudeep Holla		ports {
2473e287cf6SSudeep Holla			#address-cells = <1>;
2483e287cf6SSudeep Holla			#size-cells = <0>;
2493e287cf6SSudeep Holla
2503e287cf6SSudeep Holla			port@0 {
2513e287cf6SSudeep Holla				reg = <0>;
2523e287cf6SSudeep Holla				cluster1_funnel_out_port: endpoint {
2533e287cf6SSudeep Holla					remote-endpoint = <&main_funnel_in_port1>;
2543e287cf6SSudeep Holla				};
2553e287cf6SSudeep Holla			};
2563e287cf6SSudeep Holla
2573e287cf6SSudeep Holla			port@1 {
2583e287cf6SSudeep Holla				reg = <0>;
2593e287cf6SSudeep Holla				cluster1_funnel_in_port0: endpoint {
2603e287cf6SSudeep Holla					slave-mode;
2613e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm0_out_port>;
2623e287cf6SSudeep Holla				};
2633e287cf6SSudeep Holla			};
2643e287cf6SSudeep Holla
2653e287cf6SSudeep Holla			port@2 {
2663e287cf6SSudeep Holla				reg = <1>;
2673e287cf6SSudeep Holla				cluster1_funnel_in_port1: endpoint {
2683e287cf6SSudeep Holla					slave-mode;
2693e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm1_out_port>;
2703e287cf6SSudeep Holla				};
2713e287cf6SSudeep Holla			};
2723e287cf6SSudeep Holla			port@3 {
2733e287cf6SSudeep Holla				reg = <2>;
2743e287cf6SSudeep Holla				cluster1_funnel_in_port2: endpoint {
2753e287cf6SSudeep Holla					slave-mode;
2763e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm2_out_port>;
2773e287cf6SSudeep Holla				};
2783e287cf6SSudeep Holla			};
2793e287cf6SSudeep Holla			port@4 {
2803e287cf6SSudeep Holla				reg = <3>;
2813e287cf6SSudeep Holla				cluster1_funnel_in_port3: endpoint {
2823e287cf6SSudeep Holla					slave-mode;
2833e287cf6SSudeep Holla					remote-endpoint = <&cluster1_etm3_out_port>;
2843e287cf6SSudeep Holla				};
2853e287cf6SSudeep Holla			};
2863e287cf6SSudeep Holla		};
2873e287cf6SSudeep Holla	};
2883e287cf6SSudeep Holla
2893e287cf6SSudeep Holla	etm3: etm@23140000 {
2903e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
2913e287cf6SSudeep Holla		reg = <0 0x23140000 0 0x1000>;
2923e287cf6SSudeep Holla
2933e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
2943e287cf6SSudeep Holla		clock-names = "apb_pclk";
295bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
2963e287cf6SSudeep Holla		port {
2973e287cf6SSudeep Holla			cluster1_etm1_out_port: endpoint {
2983e287cf6SSudeep Holla				remote-endpoint = <&cluster1_funnel_in_port1>;
2993e287cf6SSudeep Holla			};
3003e287cf6SSudeep Holla		};
3013e287cf6SSudeep Holla	};
3023e287cf6SSudeep Holla
3033e287cf6SSudeep Holla	etm4: etm@23240000 {
3043e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3053e287cf6SSudeep Holla		reg = <0 0x23240000 0 0x1000>;
3063e287cf6SSudeep Holla
3073e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3083e287cf6SSudeep Holla		clock-names = "apb_pclk";
309bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
3103e287cf6SSudeep Holla		port {
3113e287cf6SSudeep Holla			cluster1_etm2_out_port: endpoint {
3123e287cf6SSudeep Holla				remote-endpoint = <&cluster1_funnel_in_port2>;
3133e287cf6SSudeep Holla			};
3143e287cf6SSudeep Holla		};
3153e287cf6SSudeep Holla	};
3163e287cf6SSudeep Holla
3173e287cf6SSudeep Holla	etm5: etm@23340000 {
3183e287cf6SSudeep Holla		compatible = "arm,coresight-etm4x", "arm,primecell";
3193e287cf6SSudeep Holla		reg = <0 0x23340000 0 0x1000>;
3203e287cf6SSudeep Holla
3213e287cf6SSudeep Holla		clocks = <&soc_smc50mhz>;
3223e287cf6SSudeep Holla		clock-names = "apb_pclk";
323bdeaa21aSSudeep Holla		power-domains = <&scpi_devpd 0>;
3243e287cf6SSudeep Holla		port {
3253e287cf6SSudeep Holla			cluster1_etm3_out_port: endpoint {
3263e287cf6SSudeep Holla				remote-endpoint = <&cluster1_funnel_in_port3>;
3273e287cf6SSudeep Holla			};
3283e287cf6SSudeep Holla		};
3293e287cf6SSudeep Holla	};
3303e287cf6SSudeep Holla
3313e287cf6SSudeep Holla	coresight-replicator {
3323e287cf6SSudeep Holla		/*
3333e287cf6SSudeep Holla		 * Non-configurable replicators don't show up on the
3343e287cf6SSudeep Holla		 * AMBA bus.  As such no need to add "arm,primecell".
3353e287cf6SSudeep Holla		 */
3363e287cf6SSudeep Holla		compatible = "arm,coresight-replicator";
3373e287cf6SSudeep Holla
3383e287cf6SSudeep Holla		ports {
3393e287cf6SSudeep Holla			#address-cells = <1>;
3403e287cf6SSudeep Holla			#size-cells = <0>;
3413e287cf6SSudeep Holla
3423e287cf6SSudeep Holla			/* replicator output ports */
3433e287cf6SSudeep Holla			port@0 {
3443e287cf6SSudeep Holla				reg = <0>;
3453e287cf6SSudeep Holla				replicator_out_port0: endpoint {
3463e287cf6SSudeep Holla					remote-endpoint = <&tpiu_in_port>;
3473e287cf6SSudeep Holla				};
3483e287cf6SSudeep Holla			};
3493e287cf6SSudeep Holla
3503e287cf6SSudeep Holla			port@1 {
3513e287cf6SSudeep Holla				reg = <1>;
3523e287cf6SSudeep Holla				replicator_out_port1: endpoint {
3533e287cf6SSudeep Holla					remote-endpoint = <&etr_in_port>;
3543e287cf6SSudeep Holla				};
3553e287cf6SSudeep Holla			};
3563e287cf6SSudeep Holla
3573e287cf6SSudeep Holla			/* replicator input port */
3583e287cf6SSudeep Holla			port@2 {
3593e287cf6SSudeep Holla				reg = <0>;
3603e287cf6SSudeep Holla				replicator_in_port0: endpoint {
3613e287cf6SSudeep Holla					slave-mode;
3623e287cf6SSudeep Holla					remote-endpoint = <&etf_out_port>;
3633e287cf6SSudeep Holla				};
3643e287cf6SSudeep Holla			};
3653e287cf6SSudeep Holla		};
3663e287cf6SSudeep Holla	};
3673e287cf6SSudeep Holla
368ff9a6262SSudeep Holla	sram: sram@2e000000 {
369ff9a6262SSudeep Holla		compatible = "arm,juno-sram-ns", "mmio-sram";
370ff9a6262SSudeep Holla		reg = <0x0 0x2e000000 0x0 0x8000>;
371ff9a6262SSudeep Holla
372ff9a6262SSudeep Holla		#address-cells = <1>;
373ff9a6262SSudeep Holla		#size-cells = <1>;
374ff9a6262SSudeep Holla		ranges = <0 0x0 0x2e000000 0x8000>;
375ff9a6262SSudeep Holla
376ff9a6262SSudeep Holla		cpu_scp_lpri: scp-shmem@0 {
377ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
378ff9a6262SSudeep Holla			reg = <0x0 0x200>;
379ff9a6262SSudeep Holla		};
380ff9a6262SSudeep Holla
381ff9a6262SSudeep Holla		cpu_scp_hpri: scp-shmem@200 {
382ff9a6262SSudeep Holla			compatible = "arm,juno-scp-shmem";
383ff9a6262SSudeep Holla			reg = <0x200 0x200>;
384ff9a6262SSudeep Holla		};
385ff9a6262SSudeep Holla	};
386ff9a6262SSudeep Holla
38736582c60SSudeep Holla	pcie_ctlr: pcie-controller@40000000 {
38836582c60SSudeep Holla		compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic";
38936582c60SSudeep Holla		device_type = "pci";
39036582c60SSudeep Holla		reg = <0 0x40000000 0 0x10000000>;	/* ECAM config space */
39136582c60SSudeep Holla		bus-range = <0 255>;
39236582c60SSudeep Holla		linux,pci-domain = <0>;
39336582c60SSudeep Holla		#address-cells = <3>;
39436582c60SSudeep Holla		#size-cells = <2>;
39536582c60SSudeep Holla		dma-coherent;
39636582c60SSudeep Holla		ranges = <0x01000000 0x00 0x5f800000 0x00 0x5f800000 0x0 0x00800000>,
39736582c60SSudeep Holla			 <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>,
39836582c60SSudeep Holla			 <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
39936582c60SSudeep Holla		#interrupt-cells = <1>;
40036582c60SSudeep Holla		interrupt-map-mask = <0 0 0 7>;
40136582c60SSudeep Holla		interrupt-map = <0 0 0 1 &gic 0 0 0 136 4>,
40236582c60SSudeep Holla				<0 0 0 2 &gic 0 0 0 137 4>,
40336582c60SSudeep Holla				<0 0 0 3 &gic 0 0 0 138 4>,
40436582c60SSudeep Holla				<0 0 0 4 &gic 0 0 0 139 4>;
40536582c60SSudeep Holla		msi-parent = <&v2m_0>;
40636582c60SSudeep Holla		status = "disabled";
40736582c60SSudeep Holla	};
40836582c60SSudeep Holla
409ff9a6262SSudeep Holla	scpi {
410ff9a6262SSudeep Holla		compatible = "arm,scpi";
411ff9a6262SSudeep Holla		mboxes = <&mailbox 1>;
412ff9a6262SSudeep Holla		shmem = <&cpu_scp_hpri>;
413ff9a6262SSudeep Holla
414ff9a6262SSudeep Holla		clocks {
415ff9a6262SSudeep Holla			compatible = "arm,scpi-clocks";
416ff9a6262SSudeep Holla
4176d6acd14SSudeep Holla			scpi_dvfs: scpi-dvfs {
418ff9a6262SSudeep Holla				compatible = "arm,scpi-dvfs-clocks";
419ff9a6262SSudeep Holla				#clock-cells = <1>;
420ff9a6262SSudeep Holla				clock-indices = <0>, <1>, <2>;
421ff9a6262SSudeep Holla				clock-output-names = "atlclk", "aplclk","gpuclk";
422ff9a6262SSudeep Holla			};
4236d6acd14SSudeep Holla			scpi_clk: scpi-clk {
424ff9a6262SSudeep Holla				compatible = "arm,scpi-variable-clocks";
425ff9a6262SSudeep Holla				#clock-cells = <1>;
4269fd9288eSLiviu Dudau				clock-indices = <3>;
4279fd9288eSLiviu Dudau				clock-output-names = "pxlclk";
428ff9a6262SSudeep Holla			};
429ff9a6262SSudeep Holla		};
430dfacaf0eSPunit Agrawal
431bdeaa21aSSudeep Holla		scpi_devpd: scpi-power-domains {
432bdeaa21aSSudeep Holla			compatible = "arm,scpi-power-domains";
433bdeaa21aSSudeep Holla			num-domains = <2>;
434bdeaa21aSSudeep Holla			#power-domain-cells = <1>;
435bdeaa21aSSudeep Holla		};
436bdeaa21aSSudeep Holla
437dfacaf0eSPunit Agrawal		scpi_sensors0: sensors {
438dfacaf0eSPunit Agrawal			compatible = "arm,scpi-sensors";
439dfacaf0eSPunit Agrawal			#thermal-sensor-cells = <1>;
440dfacaf0eSPunit Agrawal		};
441ff9a6262SSudeep Holla	};
442ff9a6262SSudeep Holla
443*f7b636a8SJavi Merino	thermal-zones {
444*f7b636a8SJavi Merino		pmic {
445*f7b636a8SJavi Merino			polling-delay = <1000>;
446*f7b636a8SJavi Merino			polling-delay-passive = <100>;
447*f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 0>;
448*f7b636a8SJavi Merino		};
449*f7b636a8SJavi Merino
450*f7b636a8SJavi Merino		soc {
451*f7b636a8SJavi Merino			polling-delay = <1000>;
452*f7b636a8SJavi Merino			polling-delay-passive = <100>;
453*f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 3>;
454*f7b636a8SJavi Merino		};
455*f7b636a8SJavi Merino
456*f7b636a8SJavi Merino		big_cluster_thermal_zone: big_cluster {
457*f7b636a8SJavi Merino			polling-delay = <1000>;
458*f7b636a8SJavi Merino			polling-delay-passive = <100>;
459*f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 21>;
460*f7b636a8SJavi Merino			status = "disabled";
461*f7b636a8SJavi Merino		};
462*f7b636a8SJavi Merino
463*f7b636a8SJavi Merino		little_cluster_thermal_zone: little_cluster {
464*f7b636a8SJavi Merino			polling-delay = <1000>;
465*f7b636a8SJavi Merino			polling-delay-passive = <100>;
466*f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 22>;
467*f7b636a8SJavi Merino			status = "disabled";
468*f7b636a8SJavi Merino		};
469*f7b636a8SJavi Merino
470*f7b636a8SJavi Merino		gpu0_thermal_zone: gpu0 {
471*f7b636a8SJavi Merino			polling-delay = <1000>;
472*f7b636a8SJavi Merino			polling-delay-passive = <100>;
473*f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 23>;
474*f7b636a8SJavi Merino			status = "disabled";
475*f7b636a8SJavi Merino		};
476*f7b636a8SJavi Merino
477*f7b636a8SJavi Merino		gpu1_thermal_zone: gpu1 {
478*f7b636a8SJavi Merino			polling-delay = <1000>;
479*f7b636a8SJavi Merino			polling-delay-passive = <100>;
480*f7b636a8SJavi Merino			thermal-sensors = <&scpi_sensors0 24>;
481*f7b636a8SJavi Merino			status = "disabled";
482*f7b636a8SJavi Merino		};
483*f7b636a8SJavi Merino	};
484*f7b636a8SJavi Merino
485e8020874SLiviu Dudau	/include/ "juno-clocks.dtsi"
486e8020874SLiviu Dudau
487e8020874SLiviu Dudau	dma@7ff00000 {
488e8020874SLiviu Dudau		compatible = "arm,pl330", "arm,primecell";
489e8020874SLiviu Dudau		reg = <0x0 0x7ff00000 0 0x1000>;
490e8020874SLiviu Dudau		#dma-cells = <1>;
491e8020874SLiviu Dudau		#dma-channels = <8>;
492e8020874SLiviu Dudau		#dma-requests = <32>;
493e8020874SLiviu Dudau		interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
494e8020874SLiviu Dudau			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
495e8020874SLiviu Dudau			     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
496e8020874SLiviu Dudau			     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
497aeb2ee56SRobin Murphy			     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
498e8020874SLiviu Dudau			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
499e8020874SLiviu Dudau			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
500e8020874SLiviu Dudau			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
501e8020874SLiviu Dudau			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
502e8020874SLiviu Dudau		clocks = <&soc_faxiclk>;
503e8020874SLiviu Dudau		clock-names = "apb_pclk";
504e8020874SLiviu Dudau	};
505e8020874SLiviu Dudau
5069fd9288eSLiviu Dudau	hdlcd@7ff50000 {
5079fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
5089fd9288eSLiviu Dudau		reg = <0 0x7ff50000 0 0x1000>;
5099fd9288eSLiviu Dudau		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
5109fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
5119fd9288eSLiviu Dudau		clock-names = "pxlclk";
5129fd9288eSLiviu Dudau
5139fd9288eSLiviu Dudau		port {
5146d6acd14SSudeep Holla			hdlcd1_output: hdlcd1-endpoint {
5159fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_1_input>;
5169fd9288eSLiviu Dudau			};
5179fd9288eSLiviu Dudau		};
5189fd9288eSLiviu Dudau	};
5199fd9288eSLiviu Dudau
5209fd9288eSLiviu Dudau	hdlcd@7ff60000 {
5219fd9288eSLiviu Dudau		compatible = "arm,hdlcd";
5229fd9288eSLiviu Dudau		reg = <0 0x7ff60000 0 0x1000>;
5239fd9288eSLiviu Dudau		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
5249fd9288eSLiviu Dudau		clocks = <&scpi_clk 3>;
5259fd9288eSLiviu Dudau		clock-names = "pxlclk";
5269fd9288eSLiviu Dudau
5279fd9288eSLiviu Dudau		port {
5286d6acd14SSudeep Holla			hdlcd0_output: hdlcd0-endpoint {
5299fd9288eSLiviu Dudau				remote-endpoint = <&tda998x_0_input>;
5309fd9288eSLiviu Dudau			};
5319fd9288eSLiviu Dudau		};
5329fd9288eSLiviu Dudau	};
5339fd9288eSLiviu Dudau
534e8020874SLiviu Dudau	soc_uart0: uart@7ff80000 {
535e8020874SLiviu Dudau		compatible = "arm,pl011", "arm,primecell";
536e8020874SLiviu Dudau		reg = <0x0 0x7ff80000 0x0 0x1000>;
537e8020874SLiviu Dudau		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
538e8020874SLiviu Dudau		clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
539e8020874SLiviu Dudau		clock-names = "uartclk", "apb_pclk";
540e8020874SLiviu Dudau	};
541e8020874SLiviu Dudau
542e8020874SLiviu Dudau	i2c@7ffa0000 {
543e8020874SLiviu Dudau		compatible = "snps,designware-i2c";
544e8020874SLiviu Dudau		reg = <0x0 0x7ffa0000 0x0 0x1000>;
545e8020874SLiviu Dudau		#address-cells = <1>;
546e8020874SLiviu Dudau		#size-cells = <0>;
547e8020874SLiviu Dudau		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
548e8020874SLiviu Dudau		clock-frequency = <400000>;
549e8020874SLiviu Dudau		i2c-sda-hold-time-ns = <500>;
550e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
551e8020874SLiviu Dudau
5529fd9288eSLiviu Dudau		hdmi-transmitter@70 {
553e8020874SLiviu Dudau			compatible = "nxp,tda998x";
554e8020874SLiviu Dudau			reg = <0x70>;
5559fd9288eSLiviu Dudau			port {
5566d6acd14SSudeep Holla				tda998x_0_input: tda998x-0-endpoint {
5579fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd0_output>;
5589fd9288eSLiviu Dudau				};
5599fd9288eSLiviu Dudau			};
560e8020874SLiviu Dudau		};
561e8020874SLiviu Dudau
5629fd9288eSLiviu Dudau		hdmi-transmitter@71 {
563e8020874SLiviu Dudau			compatible = "nxp,tda998x";
564e8020874SLiviu Dudau			reg = <0x71>;
5659fd9288eSLiviu Dudau			port {
5666d6acd14SSudeep Holla				tda998x_1_input: tda998x-1-endpoint {
5679fd9288eSLiviu Dudau					remote-endpoint = <&hdlcd1_output>;
5689fd9288eSLiviu Dudau				};
5699fd9288eSLiviu Dudau			};
570e8020874SLiviu Dudau		};
571e8020874SLiviu Dudau	};
572e8020874SLiviu Dudau
573e8020874SLiviu Dudau	ohci@7ffb0000 {
574e8020874SLiviu Dudau		compatible = "generic-ohci";
575e8020874SLiviu Dudau		reg = <0x0 0x7ffb0000 0x0 0x10000>;
576e8020874SLiviu Dudau		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
577e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
578e8020874SLiviu Dudau	};
579e8020874SLiviu Dudau
580e8020874SLiviu Dudau	ehci@7ffc0000 {
581e8020874SLiviu Dudau		compatible = "generic-ehci";
582e8020874SLiviu Dudau		reg = <0x0 0x7ffc0000 0x0 0x10000>;
583e8020874SLiviu Dudau		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
584e8020874SLiviu Dudau		clocks = <&soc_usb48mhz>;
585e8020874SLiviu Dudau	};
586e8020874SLiviu Dudau
587e8020874SLiviu Dudau	memory-controller@7ffd0000 {
588e8020874SLiviu Dudau		compatible = "arm,pl354", "arm,primecell";
589e8020874SLiviu Dudau		reg = <0 0x7ffd0000 0 0x1000>;
590e8020874SLiviu Dudau		interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
591e8020874SLiviu Dudau			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
592e8020874SLiviu Dudau		clocks = <&soc_smc50mhz>;
593e8020874SLiviu Dudau		clock-names = "apb_pclk";
594e8020874SLiviu Dudau	};
595e8020874SLiviu Dudau
596e8020874SLiviu Dudau	memory@80000000 {
597e8020874SLiviu Dudau		device_type = "memory";
598e8020874SLiviu Dudau		/* last 16MB of the first memory area is reserved for secure world use by firmware */
599e8020874SLiviu Dudau		reg = <0x00000000 0x80000000 0x0 0x7f000000>,
600e8020874SLiviu Dudau		      <0x00000008 0x80000000 0x1 0x80000000>;
601e8020874SLiviu Dudau	};
602e8020874SLiviu Dudau
6036d6acd14SSudeep Holla	smb@08000000 {
604e8020874SLiviu Dudau		compatible = "simple-bus";
605e8020874SLiviu Dudau		#address-cells = <2>;
606e8020874SLiviu Dudau		#size-cells = <1>;
607e8020874SLiviu Dudau		ranges = <0 0 0 0x08000000 0x04000000>,
608e8020874SLiviu Dudau			 <1 0 0 0x14000000 0x04000000>,
609e8020874SLiviu Dudau			 <2 0 0 0x18000000 0x04000000>,
610e8020874SLiviu Dudau			 <3 0 0 0x1c000000 0x04000000>,
611e8020874SLiviu Dudau			 <4 0 0 0x0c000000 0x04000000>,
612e8020874SLiviu Dudau			 <5 0 0 0x10000000 0x04000000>;
613e8020874SLiviu Dudau
614e8020874SLiviu Dudau		#interrupt-cells = <1>;
615e8020874SLiviu Dudau		interrupt-map-mask = <0 0 15>;
6169e6f374fSLiviu Dudau		interrupt-map = <0 0  0 &gic 0 0 0  68 IRQ_TYPE_LEVEL_HIGH>,
6179e6f374fSLiviu Dudau				<0 0  1 &gic 0 0 0  69 IRQ_TYPE_LEVEL_HIGH>,
6189e6f374fSLiviu Dudau				<0 0  2 &gic 0 0 0  70 IRQ_TYPE_LEVEL_HIGH>,
6199e6f374fSLiviu Dudau				<0 0  3 &gic 0 0 0 160 IRQ_TYPE_LEVEL_HIGH>,
6209e6f374fSLiviu Dudau				<0 0  4 &gic 0 0 0 161 IRQ_TYPE_LEVEL_HIGH>,
6219e6f374fSLiviu Dudau				<0 0  5 &gic 0 0 0 162 IRQ_TYPE_LEVEL_HIGH>,
6229e6f374fSLiviu Dudau				<0 0  6 &gic 0 0 0 163 IRQ_TYPE_LEVEL_HIGH>,
6239e6f374fSLiviu Dudau				<0 0  7 &gic 0 0 0 164 IRQ_TYPE_LEVEL_HIGH>,
6249e6f374fSLiviu Dudau				<0 0  8 &gic 0 0 0 165 IRQ_TYPE_LEVEL_HIGH>,
6259e6f374fSLiviu Dudau				<0 0  9 &gic 0 0 0 166 IRQ_TYPE_LEVEL_HIGH>,
6269e6f374fSLiviu Dudau				<0 0 10 &gic 0 0 0 167 IRQ_TYPE_LEVEL_HIGH>,
6279e6f374fSLiviu Dudau				<0 0 11 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>,
6289e6f374fSLiviu Dudau				<0 0 12 &gic 0 0 0 169 IRQ_TYPE_LEVEL_HIGH>;
629e8020874SLiviu Dudau
630e8020874SLiviu Dudau		/include/ "juno-motherboard.dtsi"
631e8020874SLiviu Dudau	};
632f5f7e455SBrian Starkey
633f5f7e455SBrian Starkey	site2: tlx@60000000 {
634f5f7e455SBrian Starkey		compatible = "simple-bus";
635f5f7e455SBrian Starkey		#address-cells = <1>;
636f5f7e455SBrian Starkey		#size-cells = <1>;
637f5f7e455SBrian Starkey		ranges = <0 0 0x60000000 0x10000000>;
638f5f7e455SBrian Starkey		#interrupt-cells = <1>;
639f5f7e455SBrian Starkey		interrupt-map-mask = <0 0>;
640f5f7e455SBrian Starkey		interrupt-map = <0 0 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>;
641f5f7e455SBrian Starkey	};
642