[PATCH] Fix mt7622.dtsi thermal cpu

Eric Woudstra ericwouds at gmail.com
Fri Jun 25 04:07:42 PDT 2021


I choose "hot* with CPU, because it was the best temperature. But it should really be passive only with the cooling device CPU but with a much higher temperature. For me 87 degrees is fine and tested. But for mainline we would better ask Mediatek for the correct maximum temperature.

⁣Get BlueMail for Android ​

On Jun 25, 2021, 1:03 PM, at 1:03 PM, Frank Wunderlich <frank-w at public-files.de> wrote:
>Hi
>
>> Gesendet: Freitag, 25. Juni 2021 um 11:57 Uhr
>> Von: "Daniel Lezcano" <daniel.lezcano at linaro.org>
>
>> You should not add the fan in the mt7622.dtsi itself but in the board
>> specific file where there is a fan output on it. mt7622.dtsi is
>supposed
>> to be the SoC itself AFAICT.
>>
>> For instance:
>>
>>
>https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi#n39
>>
>>
>https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git/tree/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi#n164
>
>> > @@ -170,14 +177,12 @@
>> >  			cooling-maps {
>> >  				map0 {
>> >  					trip = <&cpu_passive>;
>> > -					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>> > -							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
>> > +					cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
>> >  				};
>>
>> fan == active trip point
>>
>> This is referring to the passive trip point. So it should point to
>the
>> CPU as it is now. Note the order of mitigation is inverted regarding
>the
>> proposal description.
>
>but we need to disable the passive trip as cpu-trotteling starts
>there...the higher temperature trips are currently not reached
>
>summary
>
>moving fan and cpu_thermal-override to bananapi-r64.dts
>
>passive-trip: cooling-device = <&cpu0/1 0 0> as in erics Patch
>active trip: cooling-device = <&fan0 THERMAL_NO_LIMIT
>THERMAL_NO_LIMIT>;
>the other 2 unchanged
>
>but i suggest changing the temperature points in mt7622 dtsi as this is
>SoC specific
>
>so basicly:
>
>--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
>@@ -143,13 +143,13 @@ cpu_thermal: cpu-thermal {
>
>                        trips {
>                                cpu_passive: cpu-passive {
>-                                       temperature = <47000>;
>+                                       temperature = <70000>;
>                                        hysteresis = <2000>;
>                                        type = "passive";
>                                };
>
>                                cpu_active: cpu-active {
>-                                       temperature = <67000>;
>+                                       temperature = <80000>;
>                                        hysteresis = <2000>;
>                                        type = "active";
>                                };
>@@ -170,8 +170,8 @@ cpu-crit {
>                        cooling-maps {
>                                map0 {
>                                        trip = <&cpu_passive>;
>-                                       cooling-device = <&cpu0
>THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
>-                                                        <&cpu1
>THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
>+                                       cooling-device = <&cpu0 0 0>,
>+                                                        <&cpu1 0 0>;
>                                };
>
>                                map1 {
>@@ -428,6 +428,7 @@ uart3: serial at 11005000 {
>        pwm: pwm at 11006000 {
>                compatible = "mediatek,mt7622-pwm";
>                reg = <0 0x11006000 0 0x1000>;
>+               #pwm-cells = <3>;
>                interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
>                clocks = <&topckgen CLK_TOP_PWM_SEL>,
>                         <&pericfg CLK_PERI_PWM_PD>,
>
>--- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
>+++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts
>@@ -37,6 +37,13 @@ cpu at 1 {
>                };
>        };
>
>+       fan0: pwm-fan {
>+               compatible = "pwm-fan";
>+               #cooling-cells = <2>;
>+               pwms = <&pwm 2 10000 0>;
>+               cooling-levels = <0 102 170 230>;
>+       };
>+
>        gpio-keys {
>                compatible = "gpio-keys";
>
>@@ -582,6 +589,29 @@ &u3phy {
>        status = "okay";
> };
>
>+&cpu_thermal {
>+       cooling-maps {
>+               map1 {
>+                       trip = <&cpu_active>;
>+                       cooling-device = <&fan0 THERMAL_NO_LIMIT
>THERMAL_NO_LIMIT>;
>+               };
>+       };
>+};
>+
> &uart0 {
>        pinctrl-names = "default";
>        pinctrl-0 = <&uart0_pins>;




More information about the Linux-mediatek mailing list