Skip to contentSkip to conversation

arm64: dts: sdm845: add/update IPA information

PATCH New Alex Elder 1 participant 3 messages Mar 13, 2020

Subsystems (3)
lore
Share & tools
lore

Alex Elder

author
#0 lore raw

cover arm64: dts: sdm845: add/update IPA information

Bjorn, these patches implement the DTS changes required for the Qualcomm IPA driver to support the SDM845 SoC. The first adds the basic IPA information, which would be needed for kernel versions prior to v5.7. The second updates the interconnect providers as required because of this commit:
b303f9f0050b arm64: dts: sdm845: Redefine interconnect provider DT nodes

David Miller has reverted the first of these from net-next.
https://lore.kernel.org/netdev/[email protected]/

As agreed, please apply these to the Qualcomm tree if you find them acceptable after review. They are based on the qcom/arm64-for-5.7 branch.

Thanks.

-Alex

Alex Elder (2):
arm64: dts: sdm845: add IPA information
arm64: dts: sdm845: update IPA interconnect providers

 arch/arm64/boot/dts/qcom/sdm845.dtsi | 52 ++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
Signature · 1 line
2.20.1
author
#1 lore raw

PATCH 1/2 arm64: dts: sdm845: add IPA information

Add IPA-related nodes and definitions to "sdm845.dtsi".

---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 51 ++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
arch/arm64/boot/dts/qcom/sdm845.dtsi +51 -0
index c7ddf215c57e..0ebe12e4c07f 100644
@@ -675,6 +675,17 @@
 			interrupt-controller;
 			#interrupt-cells = <2>;
 		};
+
+		ipa_smp2p_out: ipa-ap-to-modem {
+			qcom,entry-name = "ipa";
+			#qcom,smem-state-cells = <1>;
+		};
+
+		ipa_smp2p_in: ipa-modem-to-ap {
+			qcom,entry-name = "ipa";
+			interrupt-controller;
+			#interrupt-cells = <2>;
+		};
 	};
 
 	smp2p-slpi {
@@ -1696,6 +1707,46 @@
 			};
 		};
 
+		ipa@1e40000 {
+			compatible = "qcom,sdm845-ipa";
+
+			modem-init;
+			modem-remoteproc = <&mss_pil>;
+
+			reg = <0 0x1e40000 0 0x7000>,
+			      <0 0x1e47000 0 0x2000>,
+			      <0 0x1e04000 0 0x2c000>;
+			reg-names = "ipa-reg",
+				    "ipa-shared",
+				    "gsi";
+
+			interrupts-extended =
+					<&intc 0 311 IRQ_TYPE_EDGE_RISING>,
+					<&intc 0 432 IRQ_TYPE_LEVEL_HIGH>,
+					<&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+					<&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names = "ipa",
+					  "gsi",
+					  "ipa-clock-query",
+					  "ipa-setup-ready";
+
+			clocks = <&rpmhcc RPMH_IPA_CLK>;
+			clock-names = "core";
+
+			interconnects =
+				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_EBI1>,
+				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_IMEM>,
+				<&rsc_hlos MASTER_APPSS_PROC &rsc_hlos SLAVE_IPA_CFG>;
+			interconnect-names = "memory",
+					     "imem",
+					     "config";
+
+			qcom,smem-states = <&ipa_smp2p_out 0>,
+					   <&ipa_smp2p_out 1>;
+			qcom,smem-state-names = "ipa-clock-enabled-valid",
+						"ipa-clock-enabled";
+		};
+
 		tcsr_mutex_regs: syscon@1f40000 {
 			compatible = "syscon";
 			reg = <0 0x01f40000 0 0x40000>;
Signature · 1 line
2.20.1
author
#2 lore raw

PATCH 2/2 arm64: dts: sdm845: update IPA interconnect providers

In reply to Alex Elder

This commit:
b303f9f0050b arm64: dts: sdm845: Redefine interconnect provider DT nodes
removed/redefined the interconnect provider node(s) used for IPA.

Update the IPA interconnect specifications accordingly.

---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
arch/arm64/boot/dts/qcom/sdm845.dtsi +4 -3
index 0ebe12e4c07f..e0fd1f0c9b07 100644
@@ -1734,9 +1734,10 @@
 			clock-names = "core";
 
 			interconnects =
-				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_EBI1>,
-				<&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_IMEM>,
-				<&rsc_hlos MASTER_APPSS_PROC &rsc_hlos SLAVE_IPA_CFG>;
+				<&aggre2_noc MASTER_IPA &mem_noc SLAVE_EBI1>,
+				<&aggre2_noc MASTER_IPA &system_noc SLAVE_IMEM>,
+				<&gladiator_noc MASTER_APPSS_PROC
+					&config_noc SLAVE_IPA_CFG>;
 			interconnect-names = "memory",
 					     "imem",
 					     "config";
Signature · 1 line
2.20.1