Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01a9c7b7 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'qcom-arm64-for-4.11-2' of...

Merge tag 'qcom-arm64-for-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt64

Pull "Qualcomm ARM64 Updates for v4.11 Part 2" from Andy Gross:

* Add CoreSight nodes for MSM8916

* tag 'qcom-arm64-for-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  arm64: dts: qcom: Add msm8916 CoreSight components
parents 0ca0d375 7c10da37
Loading
Loading
Loading
Loading
+240 −0
Original line number Diff line number Diff line
@@ -927,6 +927,246 @@
				};
			};
		};

		tpiu@820000 {
			compatible = "arm,coresight-tpiu", "arm,primecell";
			reg = <0x820000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

			port {
				tpiu_in: endpoint {
					slave-mode;
					remote-endpoint = <&replicator_out1>;
				};
			};
		};

		funnel@821000 {
			compatible = "arm,coresight-funnel", "arm,primecell";
			reg = <0x821000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

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

				/*
				 * Not described input ports:
				 * 0 - connected to Resource and Power Manger CPU ETM
				 * 1 - not-connected
				 * 2 - connected to Modem CPU ETM
				 * 3 - not-connected
				 * 5 - not-connected
				 * 6 - connected trought funnel to Wireless CPU ETM
				 * 7 - connected to STM component
				 */

				port@4 {
					reg = <4>;
					funnel0_in4: endpoint {
						slave-mode;
						remote-endpoint = <&funnel1_out>;
					};
				};
				port@8 {
					reg = <0>;
					funnel0_out: endpoint {
						remote-endpoint = <&etf_in>;
					};
				};
			};
		};

		replicator@824000 {
			compatible = "qcom,coresight-replicator1x", "arm,primecell";
			reg = <0x824000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

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

				port@0 {
					reg = <0>;
					replicator_out0: endpoint {
						remote-endpoint = <&etr_in>;
					};
				};
				port@1 {
					reg = <1>;
					replicator_out1: endpoint {
						remote-endpoint = <&tpiu_in>;
					};
				};
				port@2 {
					reg = <0>;
					replicator_in: endpoint {
						slave-mode;
						remote-endpoint = <&etf_out>;
					};
				};
			};
		};

		etf@825000 {
			compatible = "arm,coresight-tmc", "arm,primecell";
			reg = <0x825000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

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

				port@0 {
					reg = <0>;
					etf_out: endpoint {
						slave-mode;
						remote-endpoint = <&funnel0_out>;
					};
				};
				port@1 {
					reg = <0>;
					etf_in: endpoint {
						remote-endpoint = <&replicator_in>;
					};
				};
			};
		};

		etr@826000 {
			compatible = "arm,coresight-tmc", "arm,primecell";
			reg = <0x826000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

			port {
				etr_in: endpoint {
					slave-mode;
					remote-endpoint = <&replicator_out0>;
				};
			};
		};

		funnel@841000 {	/* APSS funnel only 4 inputs are used */
			compatible = "arm,coresight-funnel", "arm,primecell";
			reg = <0x841000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

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

				port@0 {
					reg = <0>;
					funnel1_in0: endpoint {
						slave-mode;
						remote-endpoint = <&etm0_out>;
					};
				};
				port@1 {
					reg = <1>;
					funnel1_in1: endpoint {
						slave-mode;
						remote-endpoint = <&etm1_out>;
					};
				};
				port@2 {
					reg = <2>;
					funnel1_in2: endpoint {
						slave-mode;
						remote-endpoint = <&etm2_out>;
					};
				};
				port@3 {
					reg = <3>;
					funnel1_in3: endpoint {
						slave-mode;
						remote-endpoint = <&etm3_out>;
					};
				};
				port@4 {
					reg = <0>;
					funnel1_out: endpoint {
						remote-endpoint = <&funnel0_in4>;
					};
				};
			};
		};

		etm@85c000 {
			compatible = "arm,coresight-etm4x", "arm,primecell";
			reg = <0x85c000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

			cpu = <&CPU0>;

			port {
				etm0_out: endpoint {
				remote-endpoint = <&funnel1_in0>;
				};
			};
		};

		etm@85d000 {
			compatible = "arm,coresight-etm4x", "arm,primecell";
			reg = <0x85d000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

			cpu = <&CPU1>;

			port {
				etm1_out: endpoint {
					remote-endpoint = <&funnel1_in1>;
				};
			};
		};

		etm@85e000 {
			compatible = "arm,coresight-etm4x", "arm,primecell";
			reg = <0x85e000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

			cpu = <&CPU2>;

			port {
				etm2_out: endpoint {
					remote-endpoint = <&funnel1_in2>;
				};
			};
		};

		etm@85f000 {
			compatible = "arm,coresight-etm4x", "arm,primecell";
			reg = <0x85f000 0x1000>;

			clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
			clock-names = "apb_pclk", "atclk";

			cpu = <&CPU3>;

			port {
				etm3_out: endpoint {
					remote-endpoint = <&funnel1_in3>;
				};
			};
		};
	};

	smd {