Re: [PATCH v3 2/4] dt-bindings: thermal: Add the idle cooling device
From: Rob Herring
Date: Mon Apr 20 2020 - 17:14:53 EST
On Wed, 15 Apr 2020 00:08:31 +0200, Daniel Lezcano wrote:
> Some devices are not able to cool down by reducing their voltage /
> frequency because it could be not available or the system does not
> allow voltage scaling. In this configuration, it is not possible to
> use this strategy and the idle injection cooling device can be used
> instead.
>
> One idle cooling device is now present for the CPU as implemented by
> the combination of the idle injection framework belonging to the power
> capping framework and the thermal cooling device. The missing part is
> the DT binding providing a way to describe how the cooling device will
> work on the system.
>
> A first iteration was done by making the cooling device to point to
> the idle state. Unfortunately it does not make sense because it would
> need to duplicate the idle state description for each CPU in order to
> have a different phandle and make the thermal internal framework
> happy.
>
> It was proposed to add an cooling-cells to <3>, unfortunately the
> thermal framework is expecting a value of <2> as stated by the
> documentation and it is not possible from the cooling device generic
> code to loop this third value to the back end cooling device.
>
> Another proposal was to add a child 'thermal-idle' node as the SCMI
> does. This approach allows to have a self-contained configuration for
> the idle cooling device without colliding with the cpufreq cooling
> device which is based on the CPU node. In addition, it allows to have
> the cpufreq cooling device and the idle cooling device to co-exist
> together as shown in the example.
>
> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
> ---
> - V3:
> - Removed extra line with tab inside
> - V2:
> - Fixed comment type
> - Added dual license
> - Fixed description s/begins to/should/
> - Changed name s/duration/duration-us/
> - Changed name s/latency/exit-latency-us/
> - Removed types for latency / duration
> - Fixed s/idle-thermal/thermal-idle/
> ---
> .../bindings/thermal/thermal-idle.yaml | 145 ++++++++++++++++++
> 1 file changed, 145 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/thermal/thermal-idle.yaml
>
Reviewed-by: Rob Herring <robh@xxxxxxxxxx>