On Fri, Jul 03, 2026 at 10:33:09AM +0530, Gaurav Kohli wrote:
> Unlike the CPU, the CDSP/Modem does not throttle its speed automatically
> when it reaches high temperatures in kodiak.
>
> Set up CDSP cooling by throttling the cdsp when it reaches 100°C and
> for modem when it reaches to 95°C.
>
> Since the remoteproc_mpss node doesn't exist on non modem boards, the
> cooling-maps that reference it cause DT compilation errors. To fix that
> remove inherited mdmss cooling-map nodes.
>
> Signed-off-by: Gaurav Kohli <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/kodiak.dtsi | 134
> ++++++++++++++++++++-
> .../boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 17 +++
> arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts | 17 +++
> .../dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts | 17 +++
> .../boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts | 17 +++
> .../boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi | 17 +++
> .../boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi | 16 +++
> 7 files changed, 231 insertions(+), 4 deletions(-)
>
> @@ -7716,6 +7722,8 @@ map0 {
> };
>
> nspss0-thermal {
> + polling-delay-passive = <200>;
Why? This applies to all added polling delays.
> +
> thermal-sensors = <&tsens1 3>;
>
> trips {
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
> b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
> index bb5a42b038f1..400d128132fc 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
> @@ -24,6 +24,23 @@
> /delete-node/ &adsp_mem;
> /delete-node/ &cdsp_mem;
> /delete-node/ &ipa_fw_mem;
> +
> +&mdmss0_thermal {
> + /delete-node/ cooling-maps;
Don't kill what is unnecessary to be killed. Remove only MPSS maps.
> +};
> +
> +&mdmss1_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss2_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss3_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> /delete-node/ &mpss_mem;
> /delete-node/ &remoteproc_mpss;
> /delete-node/ &remoteproc_wpss;
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> index 37a3b51323ce..187bc2899191 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2.dts
> @@ -25,6 +25,23 @@
> /delete-node/ &rmtfs_mem;
> /delete-node/ &adsp_mem;
> /delete-node/ &cdsp_mem;
> +
> +&mdmss0_thermal {
> + /delete-node/ cooling-maps;
But MPSS is there. Why are you removing it?
> +};
> +
> +&mdmss1_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss2_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss3_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> /delete-node/ &video_mem;
> /delete-node/ &wlan_ce_mem;
> /delete-node/ &wpss_mem;
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
> b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
> index a5ad796cb65d..1e190ed18ae5 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-minipc-g1iot.dts
> @@ -22,6 +22,23 @@
> /delete-node/ &cdsp_mem;
> /delete-node/ &ipa_fw_mem;
> /delete-node/ &mpss_mem;
> +
> +&mdmss0_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss1_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss2_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss3_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> /delete-node/ &remoteproc_mpss;
> /delete-node/ &remoteproc_wpss;
> /delete-node/ &rmtfs_mem;
> diff --git a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> index f47efca42d48..8e8dd4efd8c0 100644
> --- a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> @@ -23,6 +23,23 @@
> /delete-node/ &adsp_mem;
> /delete-node/ &cdsp_mem;
> /delete-node/ &ipa_fw_mem;
> +
> +&mdmss0_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss1_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss2_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss3_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> /delete-node/ &mpss_mem;
> /delete-node/ &remoteproc_mpss;
> /delete-node/ &remoteproc_wpss;
> 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 b721a8546800..1e9d7e7b5fa2 100644
> --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-lte-sku.dtsi
> @@ -26,8 +26,25 @@ &ipa {
> status = "okay";
> };
>
> +&mdmss0_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss1_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss2_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss3_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> &remoteproc_mpss {
> compatible = "qcom,sc7280-mss-pil";
> + /delete-property/ #cooling-cells;
> reg = <0 0x04080000 0 0x10000>, <0 0x04180000 0 0x48>;
> reg-names = "qdsp6", "rmb";
>
> diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi
> b/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi
> index 3ebc915f0dc2..6642076f62c4 100644
> --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-wifi-sku.dtsi
> @@ -7,6 +7,22 @@
>
> /* WIFI SKUs save 256M by not having modem/mba/rmtfs memory regions defined.
> */
>
> +&mdmss0_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss1_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss2_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> +&mdmss3_thermal {
> + /delete-node/ cooling-maps;
> +};
> +
> /delete-node/ &mpss_mem;
> /delete-node/ &remoteproc_mpss;
> /delete-node/ &rmtfs_mem;
>
> --
> 2.34.1
>
--
With best wishes
Dmitry