[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