Re: [PATCH v6 1/9] dt-bindings: remoteproc: qcom,pas: add #cooling-cells property

Daniel Lezcano <[email protected]> Thu, 30 Jul 2026 20:32:58 +0200
Newsgroups org.kernel.vger.linux-hardening,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm,org.kernel.vger.linux-remoteproc
Message-ID <[email protected]>
Hi Gaurav,


On 7/27/26 16:22, 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_id selects the TMD endpoint (for example PA, modem, or
> CDSP software mitigation), with constants defined in:
> include/dt-bindings/thermal/qcom,pas.h
> 
> Example usage in a thermal zone:
> 
>    cooling-maps {
>        map0 {
>            trip = <&cpu_alert>;
>            cooling-device = <&remoteproc_cdsp
>                             QCOM_TMD_CDSP_SW
>                             0 THERMAL_NO_LIMIT>;
>        };
>    };
> 
> Signed-off-by: Gaurav Kohli <[email protected]>
> ---
>   .../bindings/remoteproc/qcom,pas-common.yaml         |  9 +++++++++
>   MAINTAINERS                                          |  1 +
>   include/dt-bindings/thermal/qcom,pas.h               | 20 ++++++++++++++++++++
>   3 files changed, 30 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> index 11faf655f530..f75cab6b4ed9 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,pas-common.yaml
> @@ -77,6 +77,15 @@ properties:
>         channels and devices related to the ADSP.
>       unevaluatedProperties: false
>   
> +  '#cooling-cells':
> +    description: |
> +      Cooling device with three cells:
> +        Cell 0: Cooling device id as defined in
> +                include/dt-bindings/thermal/qcom,pas.h
> +        Cell 1: Minimum cooling state
> +        Cell 2: Maximum cooling state
> +    const: 3

I'm not sure it is necessary to re-explain what is the property format 
as it is already described in thermal-cooling-devices.yaml

Other than that:

Acked-by: Daniel Lezcano <[email protected]>

>     glink-edge:
>       $ref: /schemas/remoteproc/qcom,glink-edge.yaml#
>       description:
> diff --git a/MAINTAINERS b/MAINTAINERS
> index dcffe9fc54f6..3f1e2bbf7099 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3423,6 +3423,7 @@ F:	drivers/watchdog/gunyah_wdt.c
>   F:	include/dt-bindings/arm/qcom,ids.h
>   F:	include/dt-bindings/firmware/qcom,scm.h
>   F:	include/dt-bindings/soc/qcom*
> +F:	include/dt-bindings/thermal/qcom,pas.h
>   F:	include/linux/firmware/qcom
>   F:	include/linux/soc/qcom/
>   F:	include/soc/qcom/
> diff --git a/include/dt-bindings/thermal/qcom,pas.h b/include/dt-bindings/thermal/qcom,pas.h
> new file mode 100644
> index 000000000000..f603bddef9a8
> --- /dev/null
> +++ b/include/dt-bindings/thermal/qcom,pas.h
> @@ -0,0 +1,20 @@
> +/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
> +/*
> + * Qualcomm PAS remoteproc cooling device indices
> + *
> + * These indices are used in device tree cooling-maps to reference
> + * specific TMD devices provided by PAS-managed remote processors via QMI.
> + *
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +#ifndef _DT_BINDINGS_THERMAL_QCOM_PAS_H
> +#define _DT_BINDINGS_THERMAL_QCOM_PAS_H
> +
> +/* CDSP thermal mitigation device id */
> +#define QCOM_TMD_CDSP_SW	0
> +
> +/* Modem thermal mitigation device id */
> +#define QCOM_TMD_PA	0
> +#define QCOM_TMD_MODEM	1
> +
> +#endif /* _DT_BINDINGS_THERMAL_QCOM_PAS_H */
>