[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fu7rhvpo7t2fjx4l7nvzd2cec7loyjeqyvwgochghyyax4nqof@6bat54r3qgov>
Date: Tue, 23 Dec 2025 21:30:46 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: Gaurav Kohli <gaurav.kohli@....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 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.
> + - 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?
> +
> +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
Powered by blists - more mailing lists