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. > + 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. > + > + 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. Entire example feels pointless - how is schema even applied/matched against it? Best regards, Krzysztof

