Messages in this thread Patches in this message | | | From | Frank Wunderlich <> | Subject | Aw: Re: Re: [PATCH] Fix mt7622.dtsi thermal cpu | Date | Fri, 25 Jun 2021 13:03:16 +0200 |
| |
Hi
> Gesendet: Freitag, 25. Juni 2021 um 11:57 Uhr > Von: "Daniel Lezcano" <daniel.lezcano@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@11005000 { pwm: pwm@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@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>;
| |