// SPDX-License-Identifier: GPL-2.0
/ {
	funnel@20130000 { /* cssys1 */
		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
		reg = <0 0x20130000 0 0x1000>;

		clocks = <&soc_smc50mhz>;
		clock-names = "apb_pclk";
		power-domains = <&scpi_devpd 0>;
		out-ports {
			port {
				csys1_funnel_out_port: endpoint {
					remote-endpoint = <&etf1_in_port>;
				};
			};
		};
		in-ports {
			port {
				csys1_funnel_in_port0: endpoint {
				};
			};

		};
	};

	etf_sys1: etf@20140000 { /* etf1 */
		compatible = "arm,coresight-tmc", "arm,primecell";
		reg = <0 0x20140000 0 0x1000>;

		clocks = <&soc_smc50mhz>;
		clock-names = "apb_pclk";
		power-domains = <&scpi_devpd 0>;
		in-ports {
			port {
				etf1_in_port: endpoint {
					remote-endpoint = <&csys1_funnel_out_port>;
				};
			};
		};
		out-ports {
			port {
				etf1_out_port: endpoint {
					remote-endpoint = <&csys2_funnel_in_port1>;
				};
			};
		};
	};

	funnel@20150000 { /* cssys2 */
		compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
		reg = <0 0x20150000 0 0x1000>;

		clocks = <&soc_smc50mhz>;
		clock-names = "apb_pclk";
		power-domains = <&scpi_devpd 0>;
		out-ports {
			port {
				csys2_funnel_out_port: endpoint {
					remote-endpoint = <&replicator_in_port0>;
				};
			};
		};

		in-ports {
			#address-cells = <1>;
			#size-cells = <0>;
			port@0 {
				reg = <0>;
				csys2_funnel_in_port0: endpoint {
					remote-endpoint = <&etf0_out_port>;
				};
			};

			port@1 {
				reg = <1>;
				csys2_funnel_in_port1: endpoint {
					remote-endpoint = <&etf1_out_port>;
				};
			};

		};
	};

	cti_sys2: cti@20160000 { /* sys_cti_2 */
		compatible = "arm,coresight-cti", "arm,primecell";
		reg = <0 0x20160000 0 0x1000>;

		clocks = <&soc_smc50mhz>;
		clock-names = "apb_pclk";
		power-domains = <&scpi_devpd 0>;

		#address-cells = <1>;
		#size-cells = <0>;

		trig-conns@0 {
			reg = <0>;
			arm,trig-in-sigs = <0 1>;
			arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>;
			arm,trig-out-sigs = <0 1>;
			arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
			arm,cs-dev-assoc = <&etf_sys1>;
		};

		trig-conns@1 {
			reg = <1>;
			arm,trig-in-sigs = <2 3 4>;
			arm,trig-in-types = <ELA_DBGREQ ELA_TSTART ELA_TSTOP>;
			arm,trig-conn-name = "ela_clus_0";
		};

		trig-conns@2 {
			reg = <2>;
			arm,trig-in-sigs = <5 6 7>;
			arm,trig-in-types = <ELA_DBGREQ ELA_TSTART ELA_TSTOP>;
			arm,trig-conn-name = "ela_clus_1";
		};
	};
};
