[PATCH] arm64: dts: renesas: r8a779g3: Update thermal trip points on V4H Sparrow Hawk

Marek Vasut marek.vasut at mailbox.org
Thu Aug 14 16:36:37 PDT 2025


On 8/14/25 5:50 PM, Geert Uytterhoeven wrote:

Hello Geert,

> On Wed, 6 Aug 2025 at 17:23, Marek Vasut <marek.vasut at mailbox.org> wrote:
>> On 8/6/25 11:35 AM, Geert Uytterhoeven wrote:
>>>> +/* THS sensor in SoC near CA76 cores does more progressive cooling. */
>>>> +&sensor_thermal_ca76 {
>>>> +       critical-action = "shutdown";
>>>> +
>>>> +       cooling-maps {
>>>> +               /*
>>>> +                * The cooling-device minimum and maximum parameters inversely
>>>> +                * match opp-table-0 {} node entries in r8a779g0.dtsi, in other
>>>> +                * words, 0 refers to 1.8 GHz OPP and 4 refers to 500 MHz OPP.
>>>> +                * This is because they refer to cooling levels, where maximum
>>>> +                * cooling level happens at 500 MHz OPP, when the CPU core is
>>>> +                * running slowly and therefore generates least heat.
>>>
>>> That applies to cooling-device = <&a76_[0-3] ...>...
>>
>> Do you want me to add this line into the comment ?
> 
> I don't think that is really needed (see below)
> 
>>>> +                */
>>>> +               map0 {
>>>> +                       /* At 68C, inhibit 1.7 GHz and 1.8 GHz modes */
>>>> +                       trip = <&sensor3_passive_low>;
>>>> +                       cooling-device = <&a76_0 2 4>;
>>>> +                       contribution = <128>;
>>>> +               };
>>>> +
>>>> +               map1 {
>>>> +                       /* At 72C, inhibit 1.5 GHz mode */
>>>> +                       trip = <&sensor3_passive_mid>;
>>>> +                       cooling-device = <&a76_0 3 4>;
>>>> +                       contribution = <256>;
>>>> +               };
>>>> +
>>>> +               map2 {
>>>> +                       /* At 76C, start injecting idle states */
>>>> +                       trip = <&sensor3_passive_hi>;
>>>> +                       cooling-device = <&a76_0_thermal_idle 0 80>,
>>>> +                                        <&a76_1_thermal_idle 0 80>,
>>>> +                                        <&a76_2_thermal_idle 0 80>,
>>>> +                                        <&a76_3_thermal_idle 0 80>;
>>>
>>> ... but what do "0 80" refer to? I couldn't find in the thermal-idle
>>> bindings what exactly are the minimum and maximum cooling states here.
>>
>> The comments in drivers/thermal/cpuidle_cooling.c clarify that, it is
>> the idle injection rate in percent, in this case the cooling can inject
>> idle states up to 80% of time.
> 
> OK, so I will add "(0-80%)" to the idle states comment, and sort
> the nodes while queuing in renesas-devel for v6.18.
I sent a V3 to make this more official. I hope that helps.



More information about the linux-arm-kernel mailing list