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 <[email protected]>
---
.../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.
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 {};
+ };
};
...
--
2.34.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 {};
> + };
> };
> ...
--
<http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog