[v2] arm64: dts: qcom: sc7280: enable IPA in sc7280-herobrine-lte-sku.dtsi

Message ID 20221215224552.1232449-1-elder@linaro.org
State New
Headers
Series [v2] arm64: dts: qcom: sc7280: enable IPA in sc7280-herobrine-lte-sku.dtsi |

Commit Message

Alex Elder Dec. 15, 2022, 10:45 p.m. UTC
  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.

Signed-off-by: Alex Elder <elder@linaro.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Tested-by: Sibi Sankar <quic_sibis@quicinc.com>
---
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(-)
  

Comments

Matthias Kaehlcke Dec. 16, 2022, 1:01 a.m. UTC | #1
On Thu, Dec 15, 2022 at 04:45:52PM -0600, Alex Elder wrote:

> Subject: arm64: dts: qcom: sc7280: enable IPA in sc7280-herobrine-lte-sku.dtsi

nit: that sounds as if IPA wasn't enabled previously. It would be
clearer to say something like: "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.
> 
> Signed-off-by: Alex Elder <elder@linaro.org>
> Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
> Tested-by: Sibi Sankar <quic_sibis@quicinc.com>

Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
  
Doug Anderson Dec. 22, 2022, 10:39 p.m. UTC | #2
Hi,

On Thu, Dec 15, 2022 at 5:01 PM Matthias Kaehlcke <mka@chromium.org> wrote:
>
> On Thu, Dec 15, 2022 at 04:45:52PM -0600, Alex Elder wrote:
>
> > Subject: arm64: dts: qcom: sc7280: enable IPA in sc7280-herobrine-lte-sku.dtsi
>
> nit: that sounds as if IPA wasn't enabled previously. It would be
> clearer to say something like: "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.
> >
> > Signed-off-by: Alex Elder <elder@linaro.org>
> > Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
> > Tested-by: Sibi Sankar <quic_sibis@quicinc.com>
>
> Reviewed-by: Matthias Kaehlcke <mka@chromium.org>

I'd agree that the subject like proposed by Matthias sounds better. In any case:

Reviewed-by: Douglas Anderson <dianders@chromium.org>
  
Alex Elder Dec. 23, 2022, 11:16 p.m. UTC | #3
On 12/22/22 4:39 PM, Doug Anderson wrote:
> Hi,
> 
> On Thu, Dec 15, 2022 at 5:01 PM Matthias Kaehlcke <mka@chromium.org> wrote:
>>
>> On Thu, Dec 15, 2022 at 04:45:52PM -0600, Alex Elder wrote:
>>
>>> Subject: arm64: dts: qcom: sc7280: enable IPA in sc7280-herobrine-lte-sku.dtsi

I'll post an update with your suggested subject line.

Thanks!

					-Alex

>>
>> nit: that sounds as if IPA wasn't enabled previously. It would be
>> clearer to say something like: "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.
>>>
>>> Signed-off-by: Alex Elder <elder@linaro.org>
>>> Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
>>> Tested-by: Sibi Sankar <quic_sibis@quicinc.com>
>>
>> Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
> 
> I'd agree that the subject like proposed by Matthias sounds better. In any case:
> 
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
  

Patch

diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
index ad66e5e9db4ed..c5309b25d0860 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
@@ -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>;
diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
index f7efb9966afd1..0ddbe7f732bd9 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
@@ -376,11 +376,6 @@  &gpi_dma1 {
 	status = "okay";
 };
 
-&ipa {
-	status = "okay";
-	modem-init;
-};
-
 &lpass_cpu {
 	status = "okay";
 
diff --git a/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi b/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi
index df49564ae6dc1..cd6ee84b36fd4 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi
@@ -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>;
 };