[PATCH] dts: arm64: mediatek: mt8188: add more thermal trip points
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Wed Apr 23 03:31:26 PDT 2025
Il 13/03/25 19:30, Nicolas Pitre ha scritto:
> On Thu, 13 Mar 2025, AngeloGioacchino Del Regno wrote:
>
>> Il 13/03/25 16:43, Nicolas Pitre ha scritto:
>>> Provide the "switch on" thermal trip point to be used by the power
>>> allocator governor.
>>>
>>
>> As far as I know, the power allocation is not supposed to be
>> SoC-global, as that does play with sustainable power values...
>>
>> Sustainable power depends on multiple factors - besides the power that
>> is actually sustainable by intrinsic properties of the silicon, this
>> mostly depends on the PCB that it is soldered to.
>>
>> Translated, this depends on the heat capacity of the copper layer(s)
>> and of the eventual additional passive heatsink, which is a physical
>> property relative to a board and not to the SoC by itself.
>>
>> ....which means.... that those nodes shall go to board specific devicetrees
>> and
>> not to the SoC devicetree :-)
>>
>> Unless I'm wrong - but if I am, please explain why :-)
>
> I agree with everything you wrote above.
>
> But this patch isn't about power allocation. This is about temperature
> thresholds. And temperature tolerance is rather SOC specific, no?
>
>
Sorry for letting this slip through the cracks - that wasn't intentional.
Agreed that temperature tolerance is SoC specific, but that's taken care of with
the other trip points, so that's not a concern here.
On the other hand, it's guaranteed that the SoC can "keep crunching numbers" at
full power when the CPUs are at 68-70°C without entering any actual danger zone,
temperature-speaking.
Remember that a machine may be designed to keep it at even 70°C for a prolonged
amount of time - depending on the cooling solution.
If you're doing this for a specific board, I'm happy to accept the addition to
the specific board (file) that you're doing this for.
Cheers,
Angelo
>>> diff --git a/arch/arm64/boot/dts/mediatek/mt8188.dtsi
>>> b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
>>> index 338120930b..262eab8fd3 100644
>>> --- a/arch/arm64/boot/dts/mediatek/mt8188.dtsi
>>> +++ b/arch/arm64/boot/dts/mediatek/mt8188.dtsi
>>> @@ -472,6 +472,12 @@ cpu-little0-thermal {
>>> thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU0>;
>>>
>>> trips {
>>> + cpu_little0_switch_on: trip-switch-on {
>>> + temperature = <68000>;
>>> + hysteresis = <2000>;
>>> + type = "passive";
>>> + };
>>> +
>>> cpu_little0_alert0: trip-alert0 {
>>> temperature = <85000>;
>>> hysteresis = <2000>;
>>> @@ -510,6 +516,12 @@ cpu-little1-thermal {
>>> thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU1>;
>>>
>>> trips {
>>> + cpu_little1_switch_on: trip-switch-on {
>>> + temperature = <68000>;
>>> + hysteresis = <2000>;
>>> + type = "passive";
>>> + };
>>> +
>>> cpu_little1_alert0: trip-alert0 {
>>> temperature = <85000>;
>>> hysteresis = <2000>;
>>> @@ -548,6 +560,12 @@ cpu-little2-thermal {
>>> thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU2>;
>>>
>>> trips {
>>> + cpu_little2_switch_on: trip-switch-on {
>>> + temperature = <68000>;
>>> + hysteresis = <2000>;
>>> + type = "passive";
>>> + };
>>> +
>>> cpu_little2_alert0: trip-alert0 {
>>> temperature = <85000>;
>>> hysteresis = <2000>;
>>> @@ -586,6 +604,12 @@ cpu-little3-thermal {
>>> thermal-sensors = <&lvts_mcu MT8188_MCU_LITTLE_CPU3>;
>>>
>>> trips {
>>> + cpu_little3_switch_on: trip-switch-on {
>>> + temperature = <68000>;
>>> + hysteresis = <2000>;
>>> + type = "passive";
>>> + };
>>> +
>>> cpu_little3_alert0: trip-alert0 {
>>> temperature = <85000>;
>>> hysteresis = <2000>;
>>> @@ -624,6 +648,12 @@ cpu-big0-thermal {
>>> thermal-sensors = <&lvts_mcu MT8188_MCU_BIG_CPU0>;
>>>
>>> trips {
>>> + cpu_big0_switch_on: trip-switch-on {
>>> + temperature = <68000>;
>>> + hysteresis = <2000>;
>>> + type = "passive";
>>> + };
>>> +
>>> cpu_big0_alert0: trip-alert0 {
>>> temperature = <85000>;
>>> hysteresis = <2000>;
>>> @@ -658,6 +688,12 @@ cpu-big1-thermal {
>>> thermal-sensors = <&lvts_mcu MT8188_MCU_BIG_CPU1>;
>>>
>>> trips {
>>> + cpu_big1_switch_on: trip-switch-on {
>>> + temperature = <68000>;
>>> + hysteresis = <2000>;
>>> + type = "passive";
>>> + };
>>> +
>>> cpu_big1_alert0: trip-alert0 {
>>> temperature = <85000>;
>>> hysteresis = <2000>;
>>
>>
>>
More information about the Linux-mediatek
mailing list