diff mbox series

[1/2] dt-bindings: thermal: Update the bindings to support multiple sensors

Message ID 20220218084604.1669091-2-abailon@baylibre.com
State New
Headers show
Series thermal: Add support of multiple sensors | expand

Commit Message

Alexandre Bailon Feb. 18, 2022, 8:46 a.m. UTC
This adds two optionals properties and update the thermal-sensors
property description to support multiple sensors with a thermal zone.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
---
 .../bindings/thermal/thermal-zones.yaml       | 30 +++++++++++++++++--
 1 file changed, 27 insertions(+), 3 deletions(-)

Comments

Daniel Lezcano Feb. 24, 2022, 10 a.m. UTC | #1
Hi Alexandre,

thanks for your series

On 18/02/2022 09:46, Alexandre Bailon wrote:
> This adds two optionals properties and update the thermal-sensors
> property description to support multiple sensors with a thermal zone.


I think it would make sense to first send a patch fixing the missing 
attribute from txt -> yaml translation with the Fixes tag which was:

"A list of thermal sensor phandles and sensor specifier
   Type: list of		used while monitoring the thermal zone"

And add in the description if there are more than one sensor, then the 
max value will be returned. Then provide the code to get the max value.

The second series of changes would be the other aggregations and the 
implementation.


> ---
>   .../bindings/thermal/thermal-zones.yaml       | 30 +++++++++++++++++--
>   1 file changed, 27 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> index 2d34f3ccb2572..9f944c2364589 100644
> --- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> +++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
> @@ -77,10 +77,24 @@ patternProperties:
>   
>         thermal-sensors:
>           $ref: /schemas/types.yaml#/definitions/phandle-array
> -        maxItems: 1
>           description:
> -          The thermal sensor phandle and sensor specifier used to monitor this
> -          thermal zone.
> +          An array of thermal sensor phandle and sensor specifier used to
> +          monitor this thermal zone.
> +          If the array contains more than one sensor then the returned value
> +          is the maximum unless aggregation-min or aggregation-avg properties
> +          are set.
> +
> +      aggregation-min:
> +        type: boolean
> +        description:
> +          Return the minimum temperature when the thermal monitor multiple
> +          sensors.
> +
> +      aggregation-avg:
> +        type: boolean
> +        description:
> +          Return the average temperature when the thermal monitor multiple
> +          sensors.

Maybe 'aggregation' could be a string?

	aggregation = "max";
	aggregation = "min";
	aggregation = "avg";

It should be in the optional section and probably a conditional if 
thermal-sensors has more than one item

>         coefficients:
>           $ref: /schemas/types.yaml#/definitions/uint32-array
> @@ -338,5 +352,15 @@ examples:
>                               };
>                       };
>               };
> +
> +            /* ... */
> +
> +            soc-max-thermal {
> +                    polling-delay-passive = <250>;
> +                    polling-delay = <1000>;
> +                    thermal-sensors = <&tsens0 5>, <&tsens0 11>;
> +                    trips {};
> +                    cooling-maps {};
> +            };
>       };
>   ...
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
index 2d34f3ccb2572..9f944c2364589 100644
--- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
+++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml
@@ -77,10 +77,24 @@  patternProperties:
 
       thermal-sensors:
         $ref: /schemas/types.yaml#/definitions/phandle-array
-        maxItems: 1
         description:
-          The thermal sensor phandle and sensor specifier used to monitor this
-          thermal zone.
+          An array of thermal sensor phandle and sensor specifier used to
+          monitor this thermal zone.
+          If the array contains more than one sensor then the returned value
+          is the maximum unless aggregation-min or aggregation-avg properties
+          are set.
+
+      aggregation-min:
+        type: boolean
+        description:
+          Return the minimum temperature when the thermal monitor multiple
+          sensors.
+
+      aggregation-avg:
+        type: boolean
+        description:
+          Return the average temperature when the thermal monitor multiple
+          sensors.
 
       coefficients:
         $ref: /schemas/types.yaml#/definitions/uint32-array
@@ -338,5 +352,15 @@  examples:
                             };
                     };
             };
+
+            /* ... */
+
+            soc-max-thermal {
+                    polling-delay-passive = <250>;
+                    polling-delay = <1000>;
+                    thermal-sensors = <&tsens0 5>, <&tsens0 11>;
+                    trips {};
+                    cooling-maps {};
+            };
     };
 ...