[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7e946103-06cc-4e44-be00-fd0ab9a8f55c@oss.qualcomm.com>
Date: Wed, 24 Dec 2025 13:54:04 +0530
From: Gaurav Kohli <gaurav.kohli@....qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Cc: andersson@...nel.org, mathieu.poirier@...aro.org, robh@...nel.org,
krzk+dt@...nel.org, conor+dt@...nel.org, rafael@...nel.org,
daniel.lezcano@...aro.org, rui.zhang@...el.com, lukasz.luba@....com,
konradybcio@...nel.org, amitk@...nel.org, mani@...nel.org,
casey.connolly@...aro.org, linux-arm-msm@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org
Subject: Re: [PATCH v1 3/8] dt-bindings: thermal: Add qcom,qmi-cooling yaml
bindings
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@...aro.org>
>> Signed-off-by: Gaurav Kohli <gaurav.kohli@....qualcomm.com>
>> Signed-off-by: Casey Connolly <casey.connolly@...aro.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@...aro.org>
> This wasn't updated.
will fix this.
>> + - Gaurav Kohli <gaurav.kohli@....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
>>
Powered by blists - more mailing lists