Skip to contentSkip to conversation

arm64: dts: qcom: sc7280: only enable IPA for boards with a modem

PATCH Applied Alex Elder 2 participants 2 messages Dec 24, 2022 – Dec 29, 2022

Subsystems (4)
lore
Share & tools
lore

Alex Elder

author
#0 lore raw

PATCH v3 1/1 arm64: dts: qcom: sc7280: only enable IPA for boards with a modem

IPA is only needed on a platform if it includes a modem, and not all SC7280 SoC variants do. The file "sc7280-herobrine-lte-sku.dtsi" is used to encapsulate definitions related to Chrome OS SC7280 devices where a modem is present, and that's the proper place for the IPA node to be enabled.

Currently IPA is enabled in "sc7280-idp.dtsi", which is included by DTS files for Qualcomm reference platforms (all of which include the modem). That also includes "sc7280-herobrine-lte-sku.dtsi", so enabling IPA there would make it unnecessary for "sc7280-idp.dtsi" to enable it.

The only other place IPA is enabled is "sc7280-qcard.dtsi". That file is included only by "sc7280-herobrine.dtsi", which is (eventually) included only by these top-level DTS files:
sc7280-herobrine-crd.dts sc7280-herobrine-herobrine-r1.dts sc7280-herobrine-evoker.dts sc7280-herobrine-evoker-lte.dts sc7280-herobrine-villager-r0.dts sc7280-herobrine-villager-r1.dts sc7280-herobrine-villager-r1-lte.dts
All of but two of these include "sc7280-herobrine-lte-sku.dtsi", and for those cases, enabling IPA there means there is no need for it to be enabled in "sc7280-qcard.dtsi".

The two remaining cases will no longer enable IPA as a result of this change:
sc7280-herobrine-evoker.dts sc7280-herobrine-villager-r1.dts
Both of these have "lte" counterparts, and are meant to represent board variants that do *not* have a modem.

This is exactly the desired configuration.

---

v3:  Rewrote the subject line as suggested by Matthias
v2:  Moved &ipa node update earlier, and status property to end
 arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi | 5 +++++
 arch/arm64/boot/dts/qcom/sc7280-idp.dtsi               | 5 -----
 arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi             | 5 -----
 3 files changed, 5 insertions(+), 10 deletions(-)
arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi +5 -0
index ad66e5e9db4ed..c5309b25d0860 100644
@@ -20,6 +20,11 @@ mba_mem: memory@9c700000 {
 	};
 };
 
+&ipa {
+	modem-init;
+	status = "okay";
+};
+
 &remoteproc_mpss {
 	compatible = "qcom,sc7280-mss-pil";
 	iommus = <&apps_smmu 0x124 0x0>, <&apps_smmu 0x488 0x7>;
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +0 -5
index f7efb9966afd1..0ddbe7f732bd9 100644
@@ -376,11 +376,6 @@ &gpi_dma1 {
 	status = "okay";
 };
 
-&ipa {
-	status = "okay";
-	modem-init;
-};
-
 &lpass_cpu {
 	status = "okay";
 
arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi +0 -5
index df49564ae6dc1..cd6ee84b36fd4 100644
@@ -336,11 +336,6 @@ vreg_bob: bob {
 
 /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
 
-&ipa {
-	status = "okay";
-	modem-init;
-};
-
 &lpass_va_macro {
 	vdd-micb-supply = <&vreg_bob>;
 };
Signature · 1 line
2.34.1
maintainer Applied
#1 lore raw
Quoted 6 lines · Alex Elder

IPA is only needed on a platform if it includes a modem, and not all SC7280 SoC variants do. The file "sc7280-herobrine-lte-sku.dtsi" is used to encapsulate definitions related to Chrome OS SC7280 devices where a modem is present, and that's the proper place for the IPA node to be enabled.

Quoted 7 lines

Currently IPA is enabled in "sc7280-idp.dtsi", which is included by DTS files for Qualcomm reference platforms (all of which include the modem). That also includes "sc7280-herobrine-lte-sku.dtsi", so enabling IPA there would make it unnecessary for "sc7280-idp.dtsi" to enable it.

[...]

Applied, thanks!

[1/1] arm64: dts: qcom: sc7280: only enable IPA for boards with a modem

      commit: 9472edb3e7ea08ada9d19a9cfc1bee7de6edee75

Best regards,

Signature · 1 line
Bjorn Andersson <[email protected]>