The cooling subnode of a remoteproc represents a client of the Thermal
Mitigation Device QMI service running on it. Each subnode of the cooling
node represents a single control exposed by the service.
Add maintainer name also and update this binding for cdsp substem.
Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
---
.../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
.../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++
2 files changed, 105 insertions(+)
create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
index 63a82e7a8bf8..bbc82253f76b 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
@@ -77,6 +77,12 @@ properties:
and devices related to the ADSP.
unevaluatedProperties: false
+ cooling:
+ $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
+ description:
+ Cooling subnode which represents the cooling devices exposed by the Modem.
+ unevaluatedProperties: false
+
required:
- clocks
- clock-names
diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
new file mode 100644
index 000000000000..90b46712d241
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
@@ -0,0 +1,99 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2023 (c), Linaro Limited
+
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm QMI based thermal mitigation (TMD) cooling devices.
+
+maintainers:
+ - Caleb Connolly <caleb.connolly@linaro.org>
+ - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
+
+description:
+ Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions
+ across multiple remote subsystems. These devices operate based on junction temperature
+ sensors (TSENS) associated with thermal zones for each subsystem.
+
+ Each subnode corresponds to a control interface for a single instance of the TMD
+ service running on a remote subsystem.
+
+definitions:
+ tmd:
+ type: object
+ description: |
+ A single Thermal Mitigation Device exposed by a remote subsystem.
+ properties:
+ label:
+ maxItems: 1
+ "#cooling-cells":
+ $ref: /schemas/thermal/thermal-cooling-devices.yaml#/properties/#cooling-cells
+ phandle: true
+
+ required:
+ - label
+ - "#cooling-cells"
+
+ additionalProperties: false
+
+properties:
+ compatible:
+ enum:
+ - qcom,qmi-cooling-modem
+ - qcom,qmi-cooling-cdsp
+
+ vdd:
+ $ref: "#/definitions/tmd"
+ description:
+ Modem processor temperature TMD
+ properties:
+ label:
+ const: modem
+
+required:
+ - compatible
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: qcom,qmi-cooling-cdsp
+ then:
+ properties:
+ cdsp_sw:
+ $ref: "#/definitions/tmd"
+ description:
+ CDSP software TMD
+ properties:
+ label:
+ const: cdsp_sw
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ remoteproc-cdsp {
+ cooling {
+ compatible = "qcom,qmi-cooling-cdsp";
+
+ cdsp_sw0: cdsp_sw {
+ label = "cdsp_sw";
+ #cooling-cells = <2>;
+ };
+ };
+ };
+
+ remoteproc-cdsp1 {
+ cooling {
+ compatible = "qcom,qmi-cooling-cdsp1";
+
+ cdsp_sw1: cdsp_sw {
+ label = "cdsp_sw";
+ #cooling-cells = <2>;
+ };
+ };
+ };
+...
--
2.34.1
On 12/23/25 1:32 PM, Gaurav Kohli wrote:
> The cooling subnode of a remoteproc represents a client of the Thermal
> Mitigation Device QMI service running on it. Each subnode of the cooling
> node represents a single control exposed by the service.
>
> Add maintainer name also and update this binding for cdsp substem.
>
> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> ---
[...]
> + remoteproc-cdsp {
> + cooling {
> + compatible = "qcom,qmi-cooling-cdsp";
> +
> + cdsp_sw0: cdsp_sw {
I'm curious about the meaning of the name - does "sw" here stand
for "software"?
If so, does this essentially mean "a software toggle for throttling the
CDSP"?
Would all such occurrences essentially always have a "sw" suffix?
Konrad
On 12/31/2025 5:29 PM, Konrad Dybcio wrote:
> On 12/23/25 1:32 PM, Gaurav Kohli wrote:
>> The cooling subnode of a remoteproc represents a client of the Thermal
>> Mitigation Device QMI service running on it. Each subnode of the cooling
>> node represents a single control exposed by the service.
>>
>> Add maintainer name also and update this binding for cdsp substem.
>>
>> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
>> ---
> [...]
>
>> + remoteproc-cdsp {
>> + cooling {
>> + compatible = "qcom,qmi-cooling-cdsp";
>> +
>> + cdsp_sw0: cdsp_sw {
> I'm curious about the meaning of the name - does "sw" here stand
> for "software"?
This is same like cdsp DCVS capping from firmware instead of hlos.
>
> If so, does this essentially mean "a software toggle for throttling the
> CDSP"?
>
> Would all such occurrences essentially always have a "sw" suffix?
>
> Konrad
On 23/12/2025 13:32, Gaurav Kohli wrote: > The cooling subnode of a remoteproc represents a client of the Thermal > Mitigation Device QMI service running on it. Each subnode of the cooling > node represents a single control exposed by the service. > > Add maintainer name also and update this binding for cdsp substem. > > Co-developed-by: Casey Connolly <casey.connolly@linaro.org> > Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> > Signed-off-by: Casey Connolly <casey.connolly@linaro.org> Messed DCO chain. Best regards, Krzysztof
On 23/12/2025 13:32, Gaurav Kohli wrote: > The cooling subnode of a remoteproc represents a client of the Thermal > Mitigation Device QMI service running on it. Each subnode of the cooling > node represents a single control exposed by the service. > > Add maintainer name also and update this binding for cdsp substem. > > Co-developed-by: Casey Connolly <casey.connolly@linaro.org> > Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> > Signed-off-by: Casey Connolly <casey.connolly@linaro.org> > --- > .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++ > .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++ > 2 files changed, 105 insertions(+) > create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml > > diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml > index 63a82e7a8bf8..bbc82253f76b 100644 > --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml > +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml > @@ -77,6 +77,12 @@ properties: > and devices related to the ADSP. > unevaluatedProperties: false > > + cooling: > + $ref: /schemas/thermal/qcom,qmi-cooling.yaml# > + description: > + Cooling subnode which represents the cooling devices exposed by the Modem. > + unevaluatedProperties: false > + > required: > - clocks > - clock-names > diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml > new file mode 100644 > index 000000000000..90b46712d241 > --- /dev/null > +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml > @@ -0,0 +1,99 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright 2023 (c), Linaro Limited > + > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices. > + > +maintainers: > + - Caleb Connolly <caleb.connolly@linaro.org> > + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> > + > +description: > + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions > + across multiple remote subsystems. These devices operate based on junction temperature > + sensors (TSENS) associated with thermal zones for each subsystem. > + > + Each subnode corresponds to a control interface for a single instance of the TMD > + service running on a remote subsystem. > + > +definitions: defs, look at other code > + tmd: > + type: object > + description: | > + A single Thermal Mitigation Device exposed by a remote subsystem. Missing proper formatting. Please do not send us code written by LLM. > + properties: > + label: > + maxItems: 1 > + "#cooling-cells": > + $ref: /schemas/thermal/thermal-cooling-devices.yaml#/properties/#cooling-cells > + phandle: true NAK, LLM generated junk. It is not acceptable to send such code. Best regards, Krzysztof
On 12/24/2025 2:27 PM, Krzysztof Kozlowski wrote: > On 23/12/2025 13:32, Gaurav Kohli wrote: >> The cooling subnode of a remoteproc represents a client of the Thermal >> Mitigation Device QMI service running on it. Each subnode of the cooling >> node represents a single control exposed by the service. >> >> Add maintainer name also and update this binding for cdsp substem. >> >> Co-developed-by: Casey Connolly <casey.connolly@linaro.org> >> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> >> Signed-off-by: Casey Connolly <casey.connolly@linaro.org> >> --- >> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++ >> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++ >> 2 files changed, 105 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml >> >> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml >> index 63a82e7a8bf8..bbc82253f76b 100644 >> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml >> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml >> @@ -77,6 +77,12 @@ properties: >> and devices related to the ADSP. >> unevaluatedProperties: false >> >> + cooling: >> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml# >> + description: >> + Cooling subnode which represents the cooling devices exposed by the Modem. >> + unevaluatedProperties: false >> + >> required: >> - clocks >> - clock-names >> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml >> new file mode 100644 >> index 000000000000..90b46712d241 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml >> @@ -0,0 +1,99 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +# Copyright 2023 (c), Linaro Limited >> + >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices. >> + >> +maintainers: >> + - Caleb Connolly <caleb.connolly@linaro.org> >> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> >> + >> +description: >> + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions >> + across multiple remote subsystems. These devices operate based on junction temperature >> + sensors (TSENS) associated with thermal zones for each subsystem. >> + >> + Each subnode corresponds to a control interface for a single instance of the TMD >> + service running on a remote subsystem. >> + >> +definitions: > defs, look at other code > > >> + tmd: >> + type: object >> + description: | >> + A single Thermal Mitigation Device exposed by a remote subsystem. > Missing proper formatting. Please do not send us code written by LLM. This patch is based on older series https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/, did some manual changes to remove unusable code. let me fix the formatting. This is not generated code. > >> + properties: >> + label: >> + maxItems: 1 >> + "#cooling-cells": >> + $ref: /schemas/thermal/thermal-cooling-devices.yaml#/properties/#cooling-cells >> + phandle: true > NAK, LLM generated junk. It is not acceptable to send such code. > > > Best regards, > Krzysztof
On 24/12/2025 11:08, Gaurav Kohli wrote: > > On 12/24/2025 2:27 PM, Krzysztof Kozlowski wrote: >> On 23/12/2025 13:32, Gaurav Kohli wrote: >>> The cooling subnode of a remoteproc represents a client of the Thermal >>> Mitigation Device QMI service running on it. Each subnode of the cooling >>> node represents a single control exposed by the service. >>> >>> Add maintainer name also and update this binding for cdsp substem. >>> >>> Co-developed-by: Casey Connolly <casey.connolly@linaro.org> >>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> >>> Signed-off-by: Casey Connolly <casey.connolly@linaro.org> >>> --- >>> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++ >>> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++ >>> 2 files changed, 105 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml >>> index 63a82e7a8bf8..bbc82253f76b 100644 >>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml >>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml >>> @@ -77,6 +77,12 @@ properties: >>> and devices related to the ADSP. >>> unevaluatedProperties: false >>> >>> + cooling: >>> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml# >>> + description: >>> + Cooling subnode which represents the cooling devices exposed by the Modem. >>> + unevaluatedProperties: false >>> + >>> required: >>> - clocks >>> - clock-names >>> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml >>> new file mode 100644 >>> index 000000000000..90b46712d241 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml >>> @@ -0,0 +1,99 @@ >>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>> +# Copyright 2023 (c), Linaro Limited >>> + >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices. >>> + >>> +maintainers: >>> + - Caleb Connolly <caleb.connolly@linaro.org> >>> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> >>> + >>> +description: >>> + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions >>> + across multiple remote subsystems. These devices operate based on junction temperature >>> + sensors (TSENS) associated with thermal zones for each subsystem. >>> + >>> + Each subnode corresponds to a control interface for a single instance of the TMD >>> + service running on a remote subsystem. >>> + >>> +definitions: >> defs, look at other code >> >> >>> + tmd: >>> + type: object >>> + description: | >>> + A single Thermal Mitigation Device exposed by a remote subsystem. >> Missing proper formatting. Please do not send us code written by LLM. > > > This patch is based on older series > > https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/, did some manual changes to remove unusable code. How? This is v1, not v2. How did you address other comments? Where did you provide proper changelog? Why this is not correctly versioned/ > let me fix the formatting. This is not generated code. I do not believe, because this: >>> + phandle: true Does not exist. You cannot come with something like that, there is no such code. Only LLM when parsing DTB could invent something like this. Otherwise explain me please the process leading to coming to such change. Best regards, Krzysztof
On 12/24/2025 3:54 PM, Krzysztof Kozlowski wrote:
> On 24/12/2025 11:08, Gaurav Kohli wrote:
>> On 12/24/2025 2:27 PM, Krzysztof Kozlowski wrote:
>>> On 23/12/2025 13:32, Gaurav Kohli wrote:
>>>> The cooling subnode of a remoteproc represents a client of the Thermal
>>>> Mitigation Device QMI service running on it. Each subnode of the cooling
>>>> node represents a single control exposed by the service.
>>>>
>>>> Add maintainer name also and update this binding for cdsp substem.
>>>>
>>>> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
>>>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
>>>> ---
>>>> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
>>>> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++
>>>> 2 files changed, 105 insertions(+)
>>>> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>> index 63a82e7a8bf8..bbc82253f76b 100644
>>>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>> @@ -77,6 +77,12 @@ properties:
>>>> and devices related to the ADSP.
>>>> unevaluatedProperties: false
>>>>
>>>> + cooling:
>>>> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
>>>> + description:
>>>> + Cooling subnode which represents the cooling devices exposed by the Modem.
>>>> + unevaluatedProperties: false
>>>> +
>>>> required:
>>>> - clocks
>>>> - clock-names
>>>> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>> new file mode 100644
>>>> index 000000000000..90b46712d241
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>> @@ -0,0 +1,99 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>> +# Copyright 2023 (c), Linaro Limited
>>>> +
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices.
>>>> +
>>>> +maintainers:
>>>> + - Caleb Connolly <caleb.connolly@linaro.org>
>>>> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>> +
>>>> +description:
>>>> + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions
>>>> + across multiple remote subsystems. These devices operate based on junction temperature
>>>> + sensors (TSENS) associated with thermal zones for each subsystem.
>>>> +
>>>> + Each subnode corresponds to a control interface for a single instance of the TMD
>>>> + service running on a remote subsystem.
>>>> +
>>>> +definitions:
>>> defs, look at other code
>>>
>>>
>>>> + tmd:
>>>> + type: object
>>>> + description: |
>>>> + A single Thermal Mitigation Device exposed by a remote subsystem.
>>> Missing proper formatting. Please do not send us code written by LLM.
>>
>> This patch is based on older series
>>
>> https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/, did some manual changes to remove unusable code.
> How? This is v1, not v2. How did you address other comments? Where did
> you provide proper changelog? Why this is not correctly versioned/
>
>> let me fix the formatting. This is not generated code.
> I do not believe, because this:
>
>
>>>> + phandle: true
As i have mentioned in earlier reply, we are including below series:
https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/,)
as this is client for remote proc cooling.
I was seeing this error while using older yam files.
('cdsp_sw' was unexpected)
from schema qcom,qmi-cooling.yaml
So to avoid that, i have added phandle to avoid this error. will fix
this in proper way
by including another yaml file which will define the cdsp_sw,
Below is the dt node:
cooling {
+ compatible = "qcom,qmi-cooling-cdsp";
+ cdsp_sw: cdsp_sw {
+ label = "cdsp_sw";
+ #cooling-cells = <2>;
+ };
+ };
> Does not exist. You cannot come with something like that, there is no
> such code.
>
> Only LLM when parsing DTB could invent something like this. Otherwise
> explain me please the process leading to coming to such change.
>
> Best regards,
> Krzysztof
On Wed, Dec 31, 2025 at 12:12:04PM +0530, Gaurav Kohli wrote:
>
> On 12/24/2025 3:54 PM, Krzysztof Kozlowski wrote:
> > On 24/12/2025 11:08, Gaurav Kohli wrote:
> > > On 12/24/2025 2:27 PM, Krzysztof Kozlowski wrote:
> > > > On 23/12/2025 13:32, Gaurav Kohli wrote:
> > > > > The cooling subnode of a remoteproc represents a client of the Thermal
> > > > > Mitigation Device QMI service running on it. Each subnode of the cooling
> > > > > node represents a single control exposed by the service.
> > > > >
> > > > > Add maintainer name also and update this binding for cdsp substem.
> > > > >
> > > > > Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
> > > > > Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
> > > > > Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> > > > > ---
> > > > > .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
> > > > > .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++
> > > > > 2 files changed, 105 insertions(+)
> > > > > create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> > > > > index 63a82e7a8bf8..bbc82253f76b 100644
> > > > > --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> > > > > +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> > > > > @@ -77,6 +77,12 @@ properties:
> > > > > and devices related to the ADSP.
> > > > > unevaluatedProperties: false
> > > > > + cooling:
> > > > > + $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
> > > > > + description:
> > > > > + Cooling subnode which represents the cooling devices exposed by the Modem.
> > > > > + unevaluatedProperties: false
> > > > > +
> > > > > required:
> > > > > - clocks
> > > > > - clock-names
> > > > > diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
> > > > > new file mode 100644
> > > > > index 000000000000..90b46712d241
> > > > > --- /dev/null
> > > > > +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
> > > > > @@ -0,0 +1,99 @@
> > > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > > > +# Copyright 2023 (c), Linaro Limited
> > > > > +
> > > > > +%YAML 1.2
> > > > > +---
> > > > > +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
> > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > > +
> > > > > +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices.
> > > > > +
> > > > > +maintainers:
> > > > > + - Caleb Connolly <caleb.connolly@linaro.org>
> > > > > + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
> > > > > +
> > > > > +description:
> > > > > + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions
> > > > > + across multiple remote subsystems. These devices operate based on junction temperature
> > > > > + sensors (TSENS) associated with thermal zones for each subsystem.
> > > > > +
> > > > > + Each subnode corresponds to a control interface for a single instance of the TMD
> > > > > + service running on a remote subsystem.
> > > > > +
> > > > > +definitions:
> > > > defs, look at other code
> > > >
> > > >
> > > > > + tmd:
> > > > > + type: object
> > > > > + description: |
> > > > > + A single Thermal Mitigation Device exposed by a remote subsystem.
> > > > Missing proper formatting. Please do not send us code written by LLM.
> > >
> > > This patch is based on older series
> > >
> > > https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/, did some manual changes to remove unusable code.
> > How? This is v1, not v2. How did you address other comments? Where did
> > you provide proper changelog? Why this is not correctly versioned/
> >
> > > let me fix the formatting. This is not generated code.
> > I do not believe, because this:
> >
> >
> > > > > + phandle: true
>
>
> As i have mentioned in earlier reply, we are including below series:
>
> https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/,)
> as this is client for remote proc cooling.
> I was seeing this error while using older yam files.
>
> ('cdsp_sw' was unexpected)
>
> from schema qcom,qmi-cooling.yaml
>
> So to avoid that, i have added phandle to avoid this error. will fix this in
> proper way
> by including another yaml file which will define the cdsp_sw,
>
> Below is the dt node:
> cooling {
> + compatible = "qcom,qmi-cooling-cdsp";
> + cdsp_sw: cdsp_sw {
You can't have a node called cdsp_sw. Underscores are not allowed in
node names.
> + label = "cdsp_sw";
> + #cooling-cells = <2>;
> + };
> + };
>
>
> > Does not exist. You cannot come with something like that, there is no
> > such code.
> >
> > Only LLM when parsing DTB could invent something like this. Otherwise
> > explain me please the process leading to coming to such change.
> >
> > Best regards,
> > Krzysztof
--
With best wishes
Dmitry
On 12/31/2025 1:17 PM, Dmitry Baryshkov wrote:
> On Wed, Dec 31, 2025 at 12:12:04PM +0530, Gaurav Kohli wrote:
>> On 12/24/2025 3:54 PM, Krzysztof Kozlowski wrote:
>>> On 24/12/2025 11:08, Gaurav Kohli wrote:
>>>> On 12/24/2025 2:27 PM, Krzysztof Kozlowski wrote:
>>>>> On 23/12/2025 13:32, Gaurav Kohli wrote:
>>>>>> The cooling subnode of a remoteproc represents a client of the Thermal
>>>>>> Mitigation Device QMI service running on it. Each subnode of the cooling
>>>>>> node represents a single control exposed by the service.
>>>>>>
>>>>>> Add maintainer name also and update this binding for cdsp substem.
>>>>>>
>>>>>> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
>>>>>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>>>> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
>>>>>> ---
>>>>>> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
>>>>>> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++
>>>>>> 2 files changed, 105 insertions(+)
>>>>>> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>>>>
>>>>>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>>>> index 63a82e7a8bf8..bbc82253f76b 100644
>>>>>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>>>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>>>> @@ -77,6 +77,12 @@ properties:
>>>>>> and devices related to the ADSP.
>>>>>> unevaluatedProperties: false
>>>>>> + cooling:
>>>>>> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
>>>>>> + description:
>>>>>> + Cooling subnode which represents the cooling devices exposed by the Modem.
>>>>>> + unevaluatedProperties: false
>>>>>> +
>>>>>> required:
>>>>>> - clocks
>>>>>> - clock-names
>>>>>> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>>>> new file mode 100644
>>>>>> index 000000000000..90b46712d241
>>>>>> --- /dev/null
>>>>>> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>>>> @@ -0,0 +1,99 @@
>>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>>>> +# Copyright 2023 (c), Linaro Limited
>>>>>> +
>>>>>> +%YAML 1.2
>>>>>> +---
>>>>>> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>>> +
>>>>>> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices.
>>>>>> +
>>>>>> +maintainers:
>>>>>> + - Caleb Connolly <caleb.connolly@linaro.org>
>>>>>> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>>>> +
>>>>>> +description:
>>>>>> + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions
>>>>>> + across multiple remote subsystems. These devices operate based on junction temperature
>>>>>> + sensors (TSENS) associated with thermal zones for each subsystem.
>>>>>> +
>>>>>> + Each subnode corresponds to a control interface for a single instance of the TMD
>>>>>> + service running on a remote subsystem.
>>>>>> +
>>>>>> +definitions:
>>>>> defs, look at other code
>>>>>
>>>>>
>>>>>> + tmd:
>>>>>> + type: object
>>>>>> + description: |
>>>>>> + A single Thermal Mitigation Device exposed by a remote subsystem.
>>>>> Missing proper formatting. Please do not send us code written by LLM.
>>>> This patch is based on older series
>>>>
>>>> https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/, did some manual changes to remove unusable code.
>>> How? This is v1, not v2. How did you address other comments? Where did
>>> you provide proper changelog? Why this is not correctly versioned/
>>>
>>>> let me fix the formatting. This is not generated code.
>>> I do not believe, because this:
>>>
>>>
>>>>>> + phandle: true
>>
>> As i have mentioned in earlier reply, we are including below series:
>>
>> https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/,)
>> as this is client for remote proc cooling.
>> I was seeing this error while using older yam files.
>>
>> ('cdsp_sw' was unexpected)
>>
>> from schema qcom,qmi-cooling.yaml
>>
>> So to avoid that, i have added phandle to avoid this error. will fix this in
>> proper way
>> by including another yaml file which will define the cdsp_sw,
>>
>> Below is the dt node:
>> cooling {
>> + compatible = "qcom,qmi-cooling-cdsp";
>> + cdsp_sw: cdsp_sw {
> You can't have a node called cdsp_sw. Underscores are not allowed in
> node names.
Will change to cdsp-sw.
thanks
Gaurav
>> + label = "cdsp_sw";
>> + #cooling-cells = <2>;
>> + };
>> + };
>>
>>
>>> Does not exist. You cannot come with something like that, there is no
>>> such code.
>>>
>>> Only LLM when parsing DTB could invent something like this. Otherwise
>>> explain me please the process leading to coming to such change.
>>>
>>> Best regards,
>>> Krzysztof
On 31/12/2025 09:52, Gaurav Kohli wrote:
>
> On 12/31/2025 1:17 PM, Dmitry Baryshkov wrote:
>> On Wed, Dec 31, 2025 at 12:12:04PM +0530, Gaurav Kohli wrote:
>>> On 12/24/2025 3:54 PM, Krzysztof Kozlowski wrote:
>>>> On 24/12/2025 11:08, Gaurav Kohli wrote:
>>>>> On 12/24/2025 2:27 PM, Krzysztof Kozlowski wrote:
>>>>>> On 23/12/2025 13:32, Gaurav Kohli wrote:
>>>>>>> The cooling subnode of a remoteproc represents a client of the
>>>>>>> Thermal
>>>>>>> Mitigation Device QMI service running on it. Each subnode of the
>>>>>>> cooling
>>>>>>> node represents a single control exposed by the service.
>>>>>>>
>>>>>>> Add maintainer name also and update this binding for cdsp substem.
>>>>>>>
>>>>>>> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
>>>>>>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>>>>> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
>>>>>>> ---
>>>>>>> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
>>>>>>> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 ++++++++++
>>>>>>> +++++++++
>>>>>>> 2 files changed, 105 insertions(+)
>>>>>>> create mode 100644 Documentation/devicetree/bindings/thermal/
>>>>>>> qcom,qmi-cooling.yaml
>>>>>>>
>>>>>>> diff --git a/Documentation/devicetree/bindings/remoteproc/
>>>>>>> qcom,pas-common.yaml b/Documentation/devicetree/bindings/
>>>>>>> remoteproc/qcom,pas-common.yaml
>>>>>>> index 63a82e7a8bf8..bbc82253f76b 100644
>>>>>>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-
>>>>>>> common.yaml
>>>>>>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-
>>>>>>> common.yaml
>>>>>>> @@ -77,6 +77,12 @@ properties:
>>>>>>> and devices related to the ADSP.
>>>>>>> unevaluatedProperties: false
>>>>>>> + cooling:
>>>>>>> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
>>>>>>> + description:
>>>>>>> + Cooling subnode which represents the cooling devices
>>>>>>> exposed by the Modem.
>>>>>>> + unevaluatedProperties: false
>>>>>>> +
>>>>>>> required:
>>>>>>> - clocks
>>>>>>> - clock-names
>>>>>>> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-
>>>>>>> cooling.yaml b/Documentation/devicetree/bindings/thermal/
>>>>>>> qcom,qmi-cooling.yaml
>>>>>>> new file mode 100644
>>>>>>> index 000000000000..90b46712d241
>>>>>>> --- /dev/null
>>>>>>> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-
>>>>>>> cooling.yaml
>>>>>>> @@ -0,0 +1,99 @@
>>>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>>>>> +# Copyright 2023 (c), Linaro Limited
>>>>>>> +
>>>>>>> +%YAML 1.2
>>>>>>> +---
>>>>>>> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
>>>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>>>> +
>>>>>>> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices.
>>>>>>> +
>>>>>>> +maintainers:
>>>>>>> + - Caleb Connolly <caleb.connolly@linaro.org>
>>>>>>> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>>>>> +
>>>>>>> +description:
>>>>>>> + Qualcomm QMI-based TMD cooling devices are used to mitigate
>>>>>>> thermal conditions
>>>>>>> + across multiple remote subsystems. These devices operate based
>>>>>>> on junction temperature
>>>>>>> + sensors (TSENS) associated with thermal zones for each subsystem.
>>>>>>> +
>>>>>>> + Each subnode corresponds to a control interface for a single
>>>>>>> instance of the TMD
>>>>>>> + service running on a remote subsystem.
>>>>>>> +
>>>>>>> +definitions:
>>>>>> defs, look at other code
>>>>>>
>>>>>>
>>>>>>> + tmd:
>>>>>>> + type: object
>>>>>>> + description: |
>>>>>>> + A single Thermal Mitigation Device exposed by a remote
>>>>>>> subsystem.
>>>>>> Missing proper formatting. Please do not send us code written by LLM.
>>>>> This patch is based on older series
>>>>>
>>>>> https://lore.kernel.org/linux-devicetree/20230905-caleb-
>>>>> qmi_cooling-v1-0-5aa39d4164a7@linaro.org/, did some manual changes
>>>>> to remove unusable code.
>>>> How? This is v1, not v2. How did you address other comments? Where did
>>>> you provide proper changelog? Why this is not correctly versioned/
>>>>
>>>>> let me fix the formatting. This is not generated code.
>>>> I do not believe, because this:
>>>>
>>>>
>>>>>>> + phandle: true
>>>
>>> As i have mentioned in earlier reply, we are including below series:
>>>
>>> https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-
>>> v1-0-5aa39d4164a7@linaro.org/,)
>>> as this is client for remote proc cooling.
>>> I was seeing this error while using older yam files.
>>>
>>> ('cdsp_sw' was unexpected)
>>>
>>> from schema qcom,qmi-cooling.yaml
>>>
>>> So to avoid that, i have added phandle to avoid this error. will fix
>>> this in
>>> proper way
>>> by including another yaml file which will define the cdsp_sw,
>>>
>>> Below is the dt node:
>>> cooling {
>>> + compatible = "qcom,qmi-cooling-cdsp";
>>> + cdsp_sw: cdsp_sw {
>> You can't have a node called cdsp_sw. Underscores are not allowed in
>> node names.
>
>
> Will change to cdsp-sw.
Why do you need a subnode at all? Can there be multiple cooling
"devices" for a DSP? Also, if you insist on having a subnode, could you
please come up with a _generic_ enough name that would describe the
node? cdsp-sw definitely isn't generic.
>
> thanks
>
> Gaurav
>
>
>>> + label = "cdsp_sw";
>>> + #cooling-cells = <2>;
>>> + };
>>> + };
>>>
>>>
>>>> Does not exist. You cannot come with something like that, there is no
>>>> such code.
>>>>
>>>> Only LLM when parsing DTB could invent something like this. Otherwise
>>>> explain me please the process leading to coming to such change.
>>>>
>>>> Best regards,
>>>> Krzysztof
--
With best wishes
Dmitry
On 31/12/2025 07:42, Gaurav Kohli wrote:
>
> On 12/24/2025 3:54 PM, Krzysztof Kozlowski wrote:
>> On 24/12/2025 11:08, Gaurav Kohli wrote:
>>> On 12/24/2025 2:27 PM, Krzysztof Kozlowski wrote:
>>>> On 23/12/2025 13:32, Gaurav Kohli wrote:
>>>>> The cooling subnode of a remoteproc represents a client of the Thermal
>>>>> Mitigation Device QMI service running on it. Each subnode of the cooling
>>>>> node represents a single control exposed by the service.
>>>>>
>>>>> Add maintainer name also and update this binding for cdsp substem.
>>>>>
>>>>> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
>>>>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>>> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
>>>>> ---
>>>>> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
>>>>> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++
>>>>> 2 files changed, 105 insertions(+)
>>>>> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>>> index 63a82e7a8bf8..bbc82253f76b 100644
>>>>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>>>>> @@ -77,6 +77,12 @@ properties:
>>>>> and devices related to the ADSP.
>>>>> unevaluatedProperties: false
>>>>>
>>>>> + cooling:
>>>>> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
>>>>> + description:
>>>>> + Cooling subnode which represents the cooling devices exposed by the Modem.
>>>>> + unevaluatedProperties: false
>>>>> +
>>>>> required:
>>>>> - clocks
>>>>> - clock-names
>>>>> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>>> new file mode 100644
>>>>> index 000000000000..90b46712d241
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>>>> @@ -0,0 +1,99 @@
>>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>>> +# Copyright 2023 (c), Linaro Limited
>>>>> +
>>>>> +%YAML 1.2
>>>>> +---
>>>>> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>> +
>>>>> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices.
>>>>> +
>>>>> +maintainers:
>>>>> + - Caleb Connolly <caleb.connolly@linaro.org>
>>>>> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>>>>> +
>>>>> +description:
>>>>> + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions
>>>>> + across multiple remote subsystems. These devices operate based on junction temperature
>>>>> + sensors (TSENS) associated with thermal zones for each subsystem.
>>>>> +
>>>>> + Each subnode corresponds to a control interface for a single instance of the TMD
>>>>> + service running on a remote subsystem.
>>>>> +
>>>>> +definitions:
>>>> defs, look at other code
>>>>
>>>>
>>>>> + tmd:
>>>>> + type: object
>>>>> + description: |
>>>>> + A single Thermal Mitigation Device exposed by a remote subsystem.
>>>> Missing proper formatting. Please do not send us code written by LLM.
>>>
>>> This patch is based on older series
>>>
>>> https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/, did some manual changes to remove unusable code.
>> How? This is v1, not v2. How did you address other comments? Where did
>> you provide proper changelog? Why this is not correctly versioned/
>>
>>> let me fix the formatting. This is not generated code.
>> I do not believe, because this:
>>
>>
>>>>> + phandle: true
>
>
> As i have mentioned in earlier reply, we are including below series:
>
> https://lore.kernel.org/linux-devicetree/20230905-caleb-qmi_cooling-v1-0-5aa39d4164a7@linaro.org/,)
> as this is client for remote proc cooling.
> I was seeing this error while using older yam files.
>
> ('cdsp_sw' was unexpected)
cdsp_sw, not phandle.
>
> from schema qcom,qmi-cooling.yaml
>
> So to avoid that, i have added phandle to avoid this error. will fix
Why? AGAIN: SUCH CODE DOES NOT EXIST. Why do you introduce code
completely different than everything else?
Best regards,
Krzysztof
On Tue, Dec 23, 2025 at 06:02:22PM +0530, Gaurav Kohli wrote:
> The cooling subnode of a remoteproc represents a client of the Thermal
> Mitigation Device QMI service running on it. Each subnode of the cooling
> node represents a single control exposed by the service.
>
> Add maintainer name also and update this binding for cdsp substem.
>
> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> ---
> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++
> 2 files changed, 105 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>
> +
> +examples:
> + - |
> + remoteproc-cdsp {
> + cooling {
> + compatible = "qcom,qmi-cooling-cdsp";
> +
> + cdsp_sw0: cdsp_sw {
After going through the driver and through the DT. How many cooling
handlers can be present on one DSP? If it's always only one, why do we
need subnodes at all?
> + label = "cdsp_sw";
> + #cooling-cells = <2>;
> + };
> + };
> + };
> +
> + remoteproc-cdsp1 {
> + cooling {
> + compatible = "qcom,qmi-cooling-cdsp1";
> +
> + cdsp_sw1: cdsp_sw {
> + label = "cdsp_sw";
> + #cooling-cells = <2>;
> + };
> + };
> + };
> +...
> --
> 2.34.1
>
--
With best wishes
Dmitry
On Tue, Dec 23, 2025 at 06:02:22PM +0530, Gaurav Kohli wrote:
> The cooling subnode of a remoteproc represents a client of the Thermal
> Mitigation Device QMI service running on it. Each subnode of the cooling
> node represents a single control exposed by the service.
>
> Add maintainer name also and update this binding for cdsp substem.
>
> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> ---
> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++
> 2 files changed, 105 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> index 63a82e7a8bf8..bbc82253f76b 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> @@ -77,6 +77,12 @@ properties:
> and devices related to the ADSP.
> unevaluatedProperties: false
>
> + cooling:
> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
> + description:
> + Cooling subnode which represents the cooling devices exposed by the Modem.
> + unevaluatedProperties: false
> +
> required:
> - clocks
> - clock-names
> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
> new file mode 100644
> index 000000000000..90b46712d241
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
> @@ -0,0 +1,99 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +# Copyright 2023 (c), Linaro Limited
> +
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices.
> +
> +maintainers:
> + - Caleb Connolly <caleb.connolly@linaro.org>
This wasn't updated.
> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
> +
> +description:
> + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions
> + across multiple remote subsystems. These devices operate based on junction temperature
> + sensors (TSENS) associated with thermal zones for each subsystem.
> +
> + Each subnode corresponds to a control interface for a single instance of the TMD
> + service running on a remote subsystem.
> +
> +definitions:
> + tmd:
> + type: object
> + description: |
> + A single Thermal Mitigation Device exposed by a remote subsystem.
> + properties:
> + label:
> + maxItems: 1
> + "#cooling-cells":
> + $ref: /schemas/thermal/thermal-cooling-devices.yaml#/properties/#cooling-cells
> + phandle: true
> +
> + required:
> + - label
> + - "#cooling-cells"
> +
> + additionalProperties: false
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,qmi-cooling-modem
> + - qcom,qmi-cooling-cdsp
> +
> + vdd:
> + $ref: "#/definitions/tmd"
> + description:
> + Modem processor temperature TMD
> + properties:
> + label:
> + const: modem
Why it being called vdd?
Why do you define modem-specific node here, while the CDSP-specific is
defined under the if block?
> +
> +required:
> + - compatible
> +
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: qcom,qmi-cooling-cdsp
> + then:
> + properties:
> + cdsp_sw:
> + $ref: "#/definitions/tmd"
> + description:
> + CDSP software TMD
> + properties:
> + label:
> + const: cdsp_sw
Why do we need a label in addition to the node name?
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + remoteproc-cdsp {
> + cooling {
> + compatible = "qcom,qmi-cooling-cdsp";
> +
> + cdsp_sw0: cdsp_sw {
Is it allowed for device node names to have underscores?
> + label = "cdsp_sw";
> + #cooling-cells = <2>;
> + };
> + };
> + };
> +
> + remoteproc-cdsp1 {
> + cooling {
> + compatible = "qcom,qmi-cooling-cdsp1";
> +
> + cdsp_sw1: cdsp_sw {
> + label = "cdsp_sw";
> + #cooling-cells = <2>;
> + };
> + };
> + };
What's the point of having the second CDSP block? Could you demonstrate
modem instead?
> +...
> --
> 2.34.1
>
--
With best wishes
Dmitry
On 12/24/2025 1:00 AM, Dmitry Baryshkov wrote:
> On Tue, Dec 23, 2025 at 06:02:22PM +0530, Gaurav Kohli wrote:
>> The cooling subnode of a remoteproc represents a client of the Thermal
>> Mitigation Device QMI service running on it. Each subnode of the cooling
>> node represents a single control exposed by the service.
>>
>> Add maintainer name also and update this binding for cdsp substem.
>>
>> Co-developed-by: Casey Connolly <casey.connolly@linaro.org>
>> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
>> ---
>> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++
>> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++
>> 2 files changed, 105 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>> index 63a82e7a8bf8..bbc82253f76b 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
>> @@ -77,6 +77,12 @@ properties:
>> and devices related to the ADSP.
>> unevaluatedProperties: false
>>
>> + cooling:
>> + $ref: /schemas/thermal/qcom,qmi-cooling.yaml#
>> + description:
>> + Cooling subnode which represents the cooling devices exposed by the Modem.
>> + unevaluatedProperties: false
>> +
>> required:
>> - clocks
>> - clock-names
>> diff --git a/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>> new file mode 100644
>> index 000000000000..90b46712d241
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml
>> @@ -0,0 +1,99 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +# Copyright 2023 (c), Linaro Limited
>> +
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/thermal/qcom,qmi-cooling.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm QMI based thermal mitigation (TMD) cooling devices.
>> +
>> +maintainers:
>> + - Caleb Connolly <caleb.connolly@linaro.org>
> This wasn't updated.
will fix this.
>> + - Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
>> +
>> +description:
>> + Qualcomm QMI-based TMD cooling devices are used to mitigate thermal conditions
>> + across multiple remote subsystems. These devices operate based on junction temperature
>> + sensors (TSENS) associated with thermal zones for each subsystem.
>> +
>> + Each subnode corresponds to a control interface for a single instance of the TMD
>> + service running on a remote subsystem.
>> +
>> +definitions:
>> + tmd:
>> + type: object
>> + description: |
>> + A single Thermal Mitigation Device exposed by a remote subsystem.
>> + properties:
>> + label:
>> + maxItems: 1
>> + "#cooling-cells":
>> + $ref: /schemas/thermal/thermal-cooling-devices.yaml#/properties/#cooling-cells
>> + phandle: true
>> +
>> + required:
>> + - label
>> + - "#cooling-cells"
>> +
>> + additionalProperties: false
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - qcom,qmi-cooling-modem
>> + - qcom,qmi-cooling-cdsp
>> +
>> + vdd:
>> + $ref: "#/definitions/tmd"
>> + description:
>> + Modem processor temperature TMD
>> + properties:
>> + label:
>> + const: modem
> Why it being called vdd?
>
> Why do you define modem-specific node here, while the CDSP-specific is
> defined under the if block?
will remove modem in next post, earlier we were developing for all
subsystem.
right now wanted to post for cdsp subsystem first, will fix in next post.
>> +
>> +required:
>> + - compatible
>> +
>> +allOf:
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: qcom,qmi-cooling-cdsp
>> + then:
>> + properties:
>> + cdsp_sw:
>> + $ref: "#/definitions/tmd"
>> + description:
>> + CDSP software TMD
>> + properties:
>> + label:
>> + const: cdsp_sw
> Why do we need a label in addition to the node name?
was seeing label error for cdsp_sw without this, let me recheck and update.
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> + - |
>> + remoteproc-cdsp {
>> + cooling {
>> + compatible = "qcom,qmi-cooling-cdsp";
>> +
>> + cdsp_sw0: cdsp_sw {
> Is it allowed for device node names to have underscores?
will fix this, but not seeing any binding error with underscores.
>
>> + label = "cdsp_sw";
>> + #cooling-cells = <2>;
>> + };
>> + };
>> + };
>> +
>> + remoteproc-cdsp1 {
>> + cooling {
>> + compatible = "qcom,qmi-cooling-cdsp1";
>> +
>> + cdsp_sw1: cdsp_sw {
>> + label = "cdsp_sw";
>> + #cooling-cells = <2>;
>> + };
>> + };
>> + };
> What's the point of having the second CDSP block? Could you demonstrate
> modem instead?
Missed one cdsp1 block in this series, will add in next post. Leman's is
using two cdsp subsystem for that we need cdsp1.
>> +...
>> --
>> 2.34.1
>>
On Wed, Dec 24, 2025 at 01:54:04PM +0530, Gaurav Kohli wrote:
> On 12/24/2025 1:00 AM, Dmitry Baryshkov wrote:
> > On Tue, Dec 23, 2025 at 06:02:22PM +0530, Gaurav Kohli wrote:
> > > diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
[..]
> > > + vdd:
> > > + $ref: "#/definitions/tmd"
> > > + description:
> > > + Modem processor temperature TMD
> > > + properties:
> > > + label:
> > > + const: modem
> > Why it being called vdd?
> >
> > Why do you define modem-specific node here, while the CDSP-specific is
> > defined under the if block?
>
>
> will remove modem in next post, earlier we were developing for all
> subsystem.
> right now wanted to post for cdsp subsystem first, will fix in next post.
>
No, upstream the binding and driver for all known endpoints (and test to
the best of your ability), then enable the ones you have on your
platform.
[..]
> >
> > > + label = "cdsp_sw";
> > > + #cooling-cells = <2>;
> > > + };
> > > + };
> > > + };
> > > +
> > > + remoteproc-cdsp1 {
> > > + cooling {
> > > + compatible = "qcom,qmi-cooling-cdsp1";
> > > +
> > > + cdsp_sw1: cdsp_sw {
> > > + label = "cdsp_sw";
> > > + #cooling-cells = <2>;
> > > + };
> > > + };
> > > + };
> > What's the point of having the second CDSP block? Could you demonstrate
> > modem instead?
>
>
> Missed one cdsp1 block in this series, will add in next post. Leman's is
> using two cdsp subsystem for that we need cdsp1.
>
It's just an example, make it as informative as possible.
Regards,
Bjorn
>
> > > +...
> > > --
> > > 2.34.1
> > >
On Wed, Dec 24, 2025 at 01:54:04PM +0530, Gaurav Kohli wrote: > > On 12/24/2025 1:00 AM, Dmitry Baryshkov wrote: > > On Tue, Dec 23, 2025 at 06:02:22PM +0530, Gaurav Kohli wrote: > > > The cooling subnode of a remoteproc represents a client of the Thermal > > > Mitigation Device QMI service running on it. Each subnode of the cooling > > > node represents a single control exposed by the service. > > > > > > Add maintainer name also and update this binding for cdsp substem. > > > > > > Co-developed-by: Casey Connolly <casey.connolly@linaro.org> > > > Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> > > > Signed-off-by: Casey Connolly <casey.connolly@linaro.org> > > > --- > > > .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++ > > > .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++ > > > 2 files changed, 105 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml > > > > > > +properties: > > > + compatible: > > > + enum: > > > + - qcom,qmi-cooling-modem > > > + - qcom,qmi-cooling-cdsp > > > + > > > + vdd: > > > + $ref: "#/definitions/tmd" > > > + description: > > > + Modem processor temperature TMD > > > + properties: > > > + label: > > > + const: modem > > Why it being called vdd? > > > > Why do you define modem-specific node here, while the CDSP-specific is > > defined under the if block? > > will remove modem in next post, earlier we were developing for all > subsystem. > right now wanted to post for cdsp subsystem first, will fix in next post. Why? If there is no significant difference, merge support for all DSPs. It would allow us to better understand the requirements for all DSP kinds. -- With best wishes Dmitry
On Tue, 23 Dec 2025 18:02:22 +0530, Gaurav Kohli wrote: > The cooling subnode of a remoteproc represents a client of the Thermal > Mitigation Device QMI service running on it. Each subnode of the cooling > node represents a single control exposed by the service. > > Add maintainer name also and update this binding for cdsp substem. > > Co-developed-by: Casey Connolly <casey.connolly@linaro.org> > Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> > Signed-off-by: Casey Connolly <casey.connolly@linaro.org> > --- > .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++ > .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++ > 2 files changed, 105 insertions(+) > create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.example.dtb: /example-0/remoteproc-cdsp1/cooling: failed to match any schema with compatible: ['qcom,qmi-cooling-cdsp1'] doc reference errors (make refcheckdocs): See https://patchwork.kernel.org/project/devicetree/patch/20251223123227.1317244-4-gaurav.kohli@oss.qualcomm.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On 12/23/2025 7:29 PM, Rob Herring (Arm) wrote: > On Tue, 23 Dec 2025 18:02:22 +0530, Gaurav Kohli wrote: >> The cooling subnode of a remoteproc represents a client of the Thermal >> Mitigation Device QMI service running on it. Each subnode of the cooling >> node represents a single control exposed by the service. >> >> Add maintainer name also and update this binding for cdsp substem. >> >> Co-developed-by: Casey Connolly <casey.connolly@linaro.org> >> Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com> >> Signed-off-by: Casey Connolly <casey.connolly@linaro.org> >> --- >> .../bindings/remoteproc/qcom,pas-common.yaml | 6 ++ >> .../bindings/thermal/qcom,qmi-cooling.yaml | 99 +++++++++++++++++++ >> 2 files changed, 105 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.yaml >> > My bot found errors running 'make dt_binding_check' on your patch: > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > Documentation/devicetree/bindings/thermal/qcom,qmi-cooling.example.dtb: /example-0/remoteproc-cdsp1/cooling: failed to match any schema with compatible: ['qcom,qmi-cooling-cdsp1'] > > doc reference errors (make refcheckdocs): > > See https://patchwork.kernel.org/project/devicetree/patch/20251223123227.1317244-4-gaurav.kohli@oss.qualcomm.com > > The base for the series is generally the latest rc1. A different dependency > should be noted in *this* patch. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit after running the above command yourself. Note > that DT_SCHEMA_FILES can be set to your schema file to speed up checking > your schema. However, it must be unset to test all examples with your schema. thanks for review, missed to add one cdsp1 patch in this series, will update in next post.
© 2016 - 2026 Red Hat, Inc.