On 7/3/2026 1:19 PM, Krzysztof Kozlowski wrote:
On Fri, Jul 03, 2026 at 10:33:05AM +0530, Gaurav Kohli wrote:
Document the optional #cooling-cells property for Qualcomm PAS
remoteproc nodes so they can be used as thermal cooling devices via
the QMI Thermal Mitigation Device (TMD) interface.

Qualcomm remote processors expose TMD endpoints that support thermal
throttling through firmware. The cooling-device specifier uses 3 cells:

   <&phandle device_id min_state max_state>

where device_index selects the TMD endpoint (for example PA, modem,
or CDSP software mitigation), with constants defined in:
- dt-bindings/firmware/qcom,qmi-tmd.h

Full path.


Signed-off-by: Gaurav Kohli <[email protected]>
---
  .../bindings/remoteproc/qcom,pas-common.yaml       | 39 ++++++++++++++++++++++
  1 file changed, 39 insertions(+)

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml 
b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
index 4607b459131b..ef11371058c4 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
@@ -79,6 +79,14 @@ properties:
        channels and devices related to the ADSP.
      unevaluatedProperties: false
+ '#cooling-cells':
+    description: |
+      Cooling device with three cells:
+        Cell 0: Cooling device id

And here you provide full path with device IDs.

thanks for review, will update this.


+        Cell 1: Minimum cooling state
+        Cell 2: Maximum cooling state
+    const: 3
+
    glink-edge:
      $ref: /schemas/remoteproc/qcom,glink-edge.yaml#
      description:
@@ -95,3 +103,34 @@ required:
    - qcom,smem-state-names
additionalProperties: true
+
+examples:
+  - |
+    #include <dt-bindings/thermal/thermal.h>
+    #include <dt-bindings/firmware/qcom,qmi-tmd.h>
+
+    remoteproc: remoteproc {
+      #cooling-cells = <3>;
+    };

Drop, empty node.


Ack, will remove this.

+
+    thermal-zones {
+      subsystem-thermal {
+        thermal-sensors = <&tsens 0>;
+
+        trips {
+          alert: alert {
+            temperature = <95000>;
+            hysteresis = <2000>;
+            type = "passive";
+          };
+        };
+
+        cooling-maps {
+          map0 {
+            trip = <&alert>;
+            cooling-device = <&remoteproc QCOM_CDSP_TMD_CDSP_SW
+                             THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+          };
+        };
+      };
+    };

thermal-zones are not relevant to remoteproc.


Ack, wanted to show by example, can i use commit message for that.

Entire example feels pointless - how is schema even applied/matched
against it?

Best regards,
Krzysztof



Reply via email to