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

Commit 03889a19 authored by Satyajit Desai's avatar Satyajit Desai
Browse files

ARM: dts: msm: add TPDM devices for SDM845



Add device tree node entries for the various TPDMs in the system.
Also, add the supporting funnels to the device tree.

Change-Id: Ia14648ad26b546040e57f476efa8f1818f264ddb
Signed-off-by: default avatarSatyajit Desai <sadesai@codeaurora.org>
parent 8eac375c
Loading
Loading
Loading
Loading
+511 −7
Original line number Diff line number Diff line
@@ -476,6 +476,16 @@
			};

			port@2 {
				reg = <2>;
				funnel_in2_in_funnel_modem: endpoint {
					slave-mode;
					remote-endpoint =
					  <&funnel_modem_out_funnel_in2>;
				};

			};

			port@3 {
				reg = <5>;
				funnel_in2_in_funnel_apss_merg: endpoint {
					slave-mode;
@@ -495,12 +505,17 @@
		coresight-name = "coresight-tpda";

		qcom,tpda-atid = <65>;
		qcom,bc-elem-size = <13 32>;
		qcom,tc-elem-size = <7 32>,
		qcom,bc-elem-size = <10 32>,
				    <13 32>;
		qcom,tc-elem-size = <13 32>;
		qcom,dsb-elem-size = <0 32>,
				     <2 32>,
				     <3 32>,
				     <10 32>,
				     <11 32>,
				     <13 32>;
		qcom,dsb-elem-size = <13 32>;
		qcom,cmb-elem-size = <7 32>,
				     <8 32>,
		qcom,cmb-elem-size = <3 64>,
				     <7 64>,
				     <13 64>;

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
@@ -520,6 +535,33 @@
			};

			port@1 {
				reg = <0>;
				tpda_in_tpdm_center: endpoint {
					slave-mode;
					remote-endpoint =
						<&tpdm_center_out_tpda>;
				};
			};

			port@2 {
				reg = <2>;
				tpda_in_funnel_dl_mm: endpoint {
					slave-mode;
					remote-endpoint =
						<&funnel_dl_mm_out_tpda>;
				};
			};

			port@3 {
				reg = <3>;
				tpda_in_funnel_ddr_0: endpoint {
					slave-mode;
					remote-endpoint =
						<&funnel_ddr_0_out_tpda>;
				};
			};

			port@4 {
				reg = <7>;
				tpda_in_tpdm_vsense: endpoint {
					slave-mode;
@@ -528,7 +570,25 @@
				};
			};

			port@2 {
			port@5 {
				reg = <10>;
				tpda_in_tpdm_qm: endpoint {
					slave-mode;
					remote-endpoint =
						<&tpdm_qm_out_tpda>;
				};
			};

			port@6 {
				reg = <11>;
				tpda_in_tpdm_north: endpoint {
					slave-mode;
					remote-endpoint =
						<&tpdm_north_out_tpda>;
				};
			};

			port@7 {
				reg = <13>;
				tpda_in_tpdm_pimem: endpoint {
					slave-mode;
@@ -539,6 +599,423 @@
		};
	};

	funnel_modem: funnel@6832000 {
		compatible = "arm,primecell";
		arm,primecell-periphid = <0x0003b908>;

		reg = <0x6832000 0x1000>;
		reg-names = "funnel-base";

		coresight-name = "coresight-funnel-modem";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "apb_pclk", "core_a_clk";

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

			port@0 {
				reg = <0>;
				funnel_modem_out_funnel_in2: endpoint {
					remote-endpoint =
					    <&funnel_in2_in_funnel_modem>;
				};
			};

			port@1 {
				reg = <0>;
				funnel_modem_in_tpda_modem: endpoint {
					slave-mode;
					remote-endpoint =
						<&tpda_modem_out_funnel_modem>;
				};
			};
		};
	};

	tpda_modem: tpda@6831000 {
		compatible = "qcom,coresight-tpda";
		reg = <0x6831000 0x1000>;
		reg-names = "tpda-base";

		coresight-name = "coresight-tpda-modem";

		qcom,tpda-atid = <67>;
		qcom,dsb-elem-size = <0 32>;
		qcom,cmb-elem-size = <0 64>;

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

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

			port@1 {
				reg = <0>;
				tpda_modem_in_tpdm_modem: endpoint {
					slave-mode;
					remote-endpoint =
						<&tpdm_modem_out_tpda_modem>;
				};
			};
		};
	};

	tpdm_modem: tpdm@6830000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x6830000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-modem";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_modem_out_tpda_modem: endpoint {
				remote-endpoint = <&tpda_modem_in_tpdm_modem>;
			};
		};
	};

	tpdm_center: tpdm@6c28000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x6c28000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-center";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_center_out_tpda: endpoint {
				remote-endpoint = <&tpda_in_tpdm_center>;
			};
		};
	};

	tpdm_north: tpdm@6a24000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x6a24000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-north";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_north_out_tpda: endpoint {
				remote-endpoint = <&tpda_in_tpdm_north>;
			};
		};
	};

	tpdm_qm: tpdm@69d0000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x69d0000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-qm";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_qm_out_tpda: endpoint {
				remote-endpoint = <&tpda_in_tpdm_qm>;
			};
		};
	};

	tpda_apss: tpda@7862000 {
		compatible = "qcom,coresight-tpda";
		reg = <0x7862000 0x1000>;
		reg-names = "tpda-base";

		coresight-name = "coresight-tpda-apss";

		qcom,tpda-atid = <66>;
		qcom,dsb-elem-size = <0 32>;

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

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

			port@1 {
				reg = <0>;
				tpda_apss_in_tpdm_apss: endpoint {
					slave-mode;
					remote-endpoint =
						<&tpdm_apss_out_tpda_apss>;
				};
			};
		};
	};

	tpdm_apss: tpdm@7860000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x7860000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-apss";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_apss_out_tpda_apss: endpoint {
				remote-endpoint = <&tpda_apss_in_tpdm_apss>;
			};
		};
	};

	tpda_llm_silver: tpda@78c0000 {
		compatible = "qcom,coresight-tpda";
		reg = <0x78c0000 0x1000>;
		reg-names = "tpda-base";

		coresight-name = "coresight-tpda-llm-silver";

		qcom,tpda-atid = <72>;
		qcom,cmb-elem-size = <0 64>;

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

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

			port@1 {
				reg = <0>;
				tpda_llm_silver_in_tpdm_llm_silver: endpoint {
					slave-mode;
					remote-endpoint =
					<&tpdm_llm_silver_out_tpda_llm_silver>;
				};
			};
		};
	};

	tpdm_llm_silver: tpdm@78a0000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x78a0000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-llm-silver";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_llm_silver_out_tpda_llm_silver: endpoint {
				remote-endpoint =
					<&tpda_llm_silver_in_tpdm_llm_silver>;
			};
		};
	};

	tpda_llm_gold: tpda@78d0000 {
		compatible = "qcom,coresight-tpda";
		reg = <0x78d0000 0x1000>;
		reg-names = "tpda-base";

		coresight-name = "coresight-tpda-llm-gold";

		qcom,tpda-atid = <73>;
		qcom,cmb-elem-size = <0 64>;

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

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

			port@1 {
				reg = <0>;
				tpda_llm_gold_in_tpdm_llm_gold: endpoint {
					slave-mode;
					remote-endpoint =
					  <&tpdm_llm_gold_out_tpda_llm_gold>;
				};
			};
		};
	};

	tpdm_llm_gold: tpdm@78b0000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x78b0000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-llm-gold";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_llm_gold_out_tpda_llm_gold: endpoint {
				remote-endpoint =
					<&tpda_llm_gold_in_tpdm_llm_gold>;
			};
		};
	};

	funnel_dl_mm: funnel@6c0b000 {
		compatible = "arm,primecell";
		arm,primecell-periphid = <0x0003b908>;

		reg = <0x6c0b000 0x1000>;
		reg-names = "funnel-base";

		coresight-name = "coresight-funnel-dl-mm";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "apb_pclk", "core_a_clk";

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

			port@0 {
				reg = <0>;
				funnel_dl_mm_out_tpda: endpoint {
					remote-endpoint =
					    <&tpda_in_funnel_dl_mm>;
				};
			};

			port@1 {
				reg = <1>;
				funnel_dl_mm_in_tpdm_mm: endpoint {
					slave-mode;
					remote-endpoint =
					    <&tpdm_mm_out_funnel_dl_mm>;
				};
			};
		};
	};

	tpdm_mm: tpdm@6c08000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x6c08000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-mm";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_mm_out_funnel_dl_mm: endpoint {
				remote-endpoint = <&funnel_dl_mm_in_tpdm_mm>;
			};
		};
	};

	funnel_ddr_0: funnel@69e2000 {
		compatible = "arm,primecell";
		arm,primecell-periphid = <0x0003b908>;

		reg = <0x69e2000 0x1000>;
		reg-names = "funnel-base";

		coresight-name = "coresight-funnel-ddr-0";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "apb_pclk", "core_a_clk";

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

			port@0 {
				reg = <0>;
				funnel_ddr_0_out_tpda: endpoint {
					remote-endpoint =
					    <&tpda_in_funnel_ddr_0>;
				};
			};

			port@1 {
				reg = <0>;
				funnel_ddr_0_in_tpdm_ddr: endpoint {
					slave-mode;
					remote-endpoint =
					    <&tpdm_ddr_out_funnel_ddr_0>;
				};
			};
		};
	};

	tpdm_ddr: tpdm@69e0000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x69e0000 0x1000>;
		reg-names = "tpdm-base";

		coresight-name = "coresight-tpdm-ddr";

		clocks = <&clock_gcc RPMH_QDSS_CLK>,
			 <&clock_gcc RPMH_QDSS_A_CLK>;
		clock-names = "core_clk", "core_a_clk";

		port {
			tpdm_ddr_out_funnel_ddr_0: endpoint {
				remote-endpoint = <&funnel_ddr_0_in_tpdm_ddr>;
			};
		};
	};

	tpdm_pimem: tpdm@6850000 {
		compatible = "qcom,coresight-tpdm";
		reg = <0x6850000 0x1000>;
@@ -1101,13 +1578,40 @@
			};

			port@2 {
				reg = <1>;
				reg = <2>;
				funnel_apss_merg_in_tpda_olc: endpoint {
					slave-mode;
					remote-endpoint =
					    <&tpda_olc_out_funnel_apss_merg>;
				};
			};

			port@3 {
				reg = <4>;
				funnel_apss_merg_in_tpda_apss: endpoint {
					slave-mode;
					remote-endpoint =
					    <&tpda_apss_out_funnel_apss_merg>;
				};
			};

			port@4 {
				reg = <5>;
				funnel_apss_merg_in_tpda_llm_silver: endpoint {
					slave-mode;
					remote-endpoint =
					<&tpda_llm_silver_out_funnel_apss_merg>;
				};
			};

			port@5 {
				reg = <6>;
				funnel_apss_merg_in_tpda_llm_gold: endpoint {
					slave-mode;
					remote-endpoint =
					  <&tpda_llm_gold_out_funnel_apss_merg>;
				};
			};
		};
	};