Message ID | 1662754496-31143-1-git-send-email-quic_sibis@quicinc.com |
---|---|
State | New |
Headers | show |
Series | arm64: dts: qcom: Add Google Herobrine WIFI SKU dts fragment | expand |
Hi, On Fri, Sep 9, 2022 at 1:15 PM Sibi Sankar <quic_sibis@quicinc.com> wrote: > > The Google Herobrine WIFI SKU can save 256M by not having modem/mba/rmtfs > memory regions defined. Add the dts fragment and mark all the board files > appropriately. > > Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com> > --- > > Depends on: > Add LTE SKUs for Villager: https://patchwork.kernel.org/project/linux-arm-msm/cover/20220830182923.3720287-1-dianders@chromium.org/ > > Instead of just having remoteproc_mpss node disabled, we go ahead and > delete it on wifi only SKUs. This is done to avoid the dtbs_check > failures that we would end of getting if we delete the memory-region > property present in the node (since it's a required property). I'll > send a follow up patch with IPA node enabled only on LTE SKUs as soon > as I verify that it doesn't have any affects on suspend/resume. s/affects/effects > diff --git a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts > index 344338ad8a01..480cb88f2154 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts > +++ b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts > @@ -9,6 +9,7 @@ > > #include "sc7280-idp.dtsi" > #include "sc7280-idp-ec-h1.dtsi" > +#include "sc7280-herobrine-lte-sku.dtsi" This is unrelated to the WiFi only separation, isn't it? This looks like it's fixing a bug in commit d42fae738f3a ("arm64: dts: qcom: Add LTE SKUs for sc7280-villager family") which removed a fragment from "sc7280-chrome-common.dtsi" but then didn't add it back to all the previous users. Not sure how I missed that. In any case, feels like this should be a separate commit with a Fixes. ...also: instead of adding this include to crd-r3 and idp2, though, why not just add it to "idp.dtsi"? Right now all things that include "idp.dtsi" are LTE SKUs, right? > / { > model = "Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)"; > diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-r0.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-r0.dts > index ccbe50b6249a..6a2ffaac33bc 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-r0.dts > +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-r0.dts > @@ -8,6 +8,7 @@ > /dts-v1/; > > #include "sc7280-herobrine.dtsi" > +#include "sc7280-herobrine-wifi-sku.dtsi" I think this is wrong and evoker is a LTE SKU. I'll send out a patch shortly. > diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dts > index f1017809e5da..ee3bca264f67 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dts > +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dts > @@ -5,7 +5,10 @@ > * Copyright 2022 Google LLC. > */ > > -#include "sc7280-herobrine-villager-r1.dts" > +/dts-v1/; > + > +#include "sc7280-herobrine-villager.dtsi" > +#include "sc7280-herobrine-audio-wcd9385.dtsi" I don't think this is enough. villager-r1.dts also has some other things that you'll end up missing. I think you need to move the existing "villager-r1.dts" to be a dtsi file and then include it from both the new "villager-r1.dts" and "villager-r1-lte.dts"
diff --git a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi index 25f31c81b2b7..16fb20369c01 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi @@ -39,20 +39,10 @@ no-map; }; - mpss_mem: memory@8b800000 { - reg = <0x0 0x8b800000 0x0 0xf600000>; - no-map; - }; - wpss_mem: memory@9ae00000 { reg = <0x0 0x9ae00000 0x0 0x1900000>; no-map; }; - - mba_mem: memory@9c700000 { - reg = <0x0 0x9c700000 0x0 0x200000>; - no-map; - }; }; }; @@ -88,11 +78,6 @@ firmware-name = "ath11k/WCN6750/hw1.0/wpss.mdt"; }; -/* Increase the size from 2.5MB to 8MB */ -&rmtfs_mem { - reg = <0x0 0x9c900000 0x0 0x800000>; -}; - &wifi { status = "okay"; diff --git a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts index 344338ad8a01..480cb88f2154 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts +++ b/arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts @@ -9,6 +9,7 @@ #include "sc7280-idp.dtsi" #include "sc7280-idp-ec-h1.dtsi" +#include "sc7280-herobrine-lte-sku.dtsi" / { model = "Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)"; diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-r0.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-r0.dts index ccbe50b6249a..6a2ffaac33bc 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-r0.dts +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker-r0.dts @@ -8,6 +8,7 @@ /dts-v1/; #include "sc7280-herobrine.dtsi" +#include "sc7280-herobrine-wifi-sku.dtsi" / { model = "Google Evoker"; 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 a92eeccd2b2a..ad66e5e9db4e 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi @@ -6,6 +6,20 @@ */ /* Modem setup is different on Chrome setups than typical Qualcomm setup */ +/ { + reserved-memory { + mpss_mem: memory@8b800000 { + reg = <0x0 0x8b800000 0x0 0xf600000>; + no-map; + }; + + mba_mem: memory@9c700000 { + reg = <0x0 0x9c700000 0x0 0x200000>; + no-map; + }; + }; +}; + &remoteproc_mpss { compatible = "qcom,sc7280-mss-pil"; iommus = <&apps_smmu 0x124 0x0>, <&apps_smmu 0x488 0x7>; @@ -15,3 +29,8 @@ "qcom/sc7280-herobrine/modem/qdsp6sw.mbn"; status = "okay"; }; + +/* Increase the size from 2.5MB to 8MB */ +&rmtfs_mem { + reg = <0x0 0x9c900000 0x0 0x800000>; +}; diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dts index f1017809e5da..ee3bca264f67 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dts +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1-lte.dts @@ -5,7 +5,10 @@ * Copyright 2022 Google LLC. */ -#include "sc7280-herobrine-villager-r1.dts" +/dts-v1/; + +#include "sc7280-herobrine-villager.dtsi" +#include "sc7280-herobrine-audio-wcd9385.dtsi" #include "sc7280-herobrine-lte-sku.dtsi" / { diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1.dts index d7aa42ece576..023546cc7971 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1.dts +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager-r1.dts @@ -9,6 +9,7 @@ #include "sc7280-herobrine-villager.dtsi" #include "sc7280-herobrine-audio-wcd9385.dtsi" +#include "sc7280-herobrine-wifi-sku.dtsi" / { model = "Google Villager (rev1+)"; diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi new file mode 100644 index 000000000000..2febd6126d4c --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Google Herobrine dts fragment for WIFI SKUs + * + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + */ + +/* WIFI SKUs save 256M by not having modem/mba/rmtfs memory regions defined. */ + +/delete-node/ &remoteproc_mpss; +/delete-node/ &rmtfs_mem; diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp2.dts b/arch/arm64/boot/dts/qcom/sc7280-idp2.dts index d4f7cab17078..8c215d414675 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-idp2.dts +++ b/arch/arm64/boot/dts/qcom/sc7280-idp2.dts @@ -9,6 +9,7 @@ #include "sc7280-idp.dtsi" #include "sc7280-idp-ec-h1.dtsi" +#include "sc7280-herobrine-lte-sku.dtsi" / { model = "Qualcomm Technologies, Inc. sc7280 IDP SKU2 platform";
The Google Herobrine WIFI SKU can save 256M by not having modem/mba/rmtfs memory regions defined. Add the dts fragment and mark all the board files appropriately. Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com> --- Depends on: Add LTE SKUs for Villager: https://patchwork.kernel.org/project/linux-arm-msm/cover/20220830182923.3720287-1-dianders@chromium.org/ Instead of just having remoteproc_mpss node disabled, we go ahead and delete it on wifi only SKUs. This is done to avoid the dtbs_check failures that we would end of getting if we delete the memory-region property present in the node (since it's a required property). I'll send a follow up patch with IPA node enabled only on LTE SKUs as soon as I verify that it doesn't have any affects on suspend/resume. arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi | 15 --------------- arch/arm64/boot/dts/qcom/sc7280-crd-r3.dts | 1 + .../boot/dts/qcom/sc7280-herobrine-evoker-r0.dts | 1 + .../arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi | 19 +++++++++++++++++++ .../dts/qcom/sc7280-herobrine-villager-r1-lte.dts | 5 ++++- .../boot/dts/qcom/sc7280-herobrine-villager-r1.dts | 1 + .../boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi | 11 +++++++++++ arch/arm64/boot/dts/qcom/sc7280-idp2.dts | 1 + 8 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi