Message ID | 20240921183810.225322-1-flokli@flokli.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: dts: rockchip: enable automatic fan control on Orange Pi 5+ | expand |
Hello Florian, Thanks for the patch. Please, see a comment below. On 2024-09-21 20:38, Florian Klink wrote: > This links the PWM fan on Orange Pi 5+ as an active cooling device > managed automatically by the thermal subsystem, with a target SoC > temperature of 65C and a minimum-spin interval from 55C to 65C to > ensure airflow when the system gets warm. > > This is pretty much the same as '4a152231b050 ("arm64: dts: rockchip: > enable automatic fan control on Rock 5B")', except for the Orange Pi > 5+ board. > > Signed-off-by: Florian Klink <flokli@flokli.de> > --- > .../dts/rockchip/rk3588-orangepi-5-plus.dts | 30 +++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts > b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts > index e74871491ef5..8569e862b6ee 100644 > --- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts > +++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts > @@ -351,6 +351,36 @@ &i2s2m0_sdi > status = "okay"; > }; > > +&package_thermal { > + polling-delay = <1000>; > + > + trips { > + package_fan0: package-fan0 { > + temperature = <55000>; > + hysteresis = <2000>; > + type = "active"; > + }; > + > + package_fan1: package-fan1 { > + temperature = <65000>; > + hysteresis = <2000>; > + type = "active"; > + }; > + }; > + > + cooling-maps { > + map1 { > + trip = <&package_fan0>; > + cooling-device = <&fan THERMAL_NO_LIMIT 1>; > + }; > + > + map2 { > + trip = <&package_fan1>; > + cooling-device = <&fan 2 THERMAL_NO_LIMIT>; > + }; These two cooling maps should be named map0 and map1 instead, i.e. their numbering shoud start from zero, because there are no package cooling maps in the parent dtsi file(s). Having them named map1 and map2 in rk3588-rock-5b.dts was a small mistake that slipped by somehow, and I've already submitted a small patch [1] that fixes that mistake. [1] https://lore.kernel.org/linux-rockchip/335ecd5841ab55f333e17bb391d0e1264fac257b.1726954592.git.dsimic@manjaro.org/T/#u > + }; > +}; > + > /* phy1 - M.KEY socket */ > &pcie2x1l0 { > reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
Thanks, addressed that in the v2. On Sat, Sep 21, 2024 at 11:42:43PM GMT, Dragan Simic wrote: >Hello Florian, > >Thanks for the patch. Please, see a comment below. > >On 2024-09-21 20:38, Florian Klink wrote: >>This links the PWM fan on Orange Pi 5+ as an active cooling device >>managed automatically by the thermal subsystem, with a target SoC >>temperature of 65C and a minimum-spin interval from 55C to 65C to >>ensure airflow when the system gets warm. >> >>This is pretty much the same as '4a152231b050 ("arm64: dts: rockchip: >>enable automatic fan control on Rock 5B")', except for the Orange Pi >>5+ board. >> >>Signed-off-by: Florian Klink <flokli@flokli.de> >>--- >> .../dts/rockchip/rk3588-orangepi-5-plus.dts | 30 +++++++++++++++++++ >> 1 file changed, 30 insertions(+) >> >>diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts >>b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts >>index e74871491ef5..8569e862b6ee 100644 >>--- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts >>+++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts >>@@ -351,6 +351,36 @@ &i2s2m0_sdi >> status = "okay"; >> }; >> >>+&package_thermal { >>+ polling-delay = <1000>; >>+ >>+ trips { >>+ package_fan0: package-fan0 { >>+ temperature = <55000>; >>+ hysteresis = <2000>; >>+ type = "active"; >>+ }; >>+ >>+ package_fan1: package-fan1 { >>+ temperature = <65000>; >>+ hysteresis = <2000>; >>+ type = "active"; >>+ }; >>+ }; >>+ >>+ cooling-maps { >>+ map1 { >>+ trip = <&package_fan0>; >>+ cooling-device = <&fan THERMAL_NO_LIMIT 1>; >>+ }; >>+ >>+ map2 { >>+ trip = <&package_fan1>; >>+ cooling-device = <&fan 2 THERMAL_NO_LIMIT>; >>+ }; > >These two cooling maps should be named map0 and map1 instead, i.e. >their numbering shoud start from zero, because there are no package >cooling maps in the parent dtsi file(s). > >Having them named map1 and map2 in rk3588-rock-5b.dts was a small >mistake that slipped by somehow, and I've already submitted a small >patch [1] that fixes that mistake. > >[1] https://lore.kernel.org/linux-rockchip/335ecd5841ab55f333e17bb391d0e1264fac257b.1726954592.git.dsimic@manjaro.org/T/#u > >>+ }; >>+}; >>+ >> /* phy1 - M.KEY socket */ >> &pcie2x1l0 { >> reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts index e74871491ef5..8569e862b6ee 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dts @@ -351,6 +351,36 @@ &i2s2m0_sdi status = "okay"; }; +&package_thermal { + polling-delay = <1000>; + + trips { + package_fan0: package-fan0 { + temperature = <55000>; + hysteresis = <2000>; + type = "active"; + }; + + package_fan1: package-fan1 { + temperature = <65000>; + hysteresis = <2000>; + type = "active"; + }; + }; + + cooling-maps { + map1 { + trip = <&package_fan0>; + cooling-device = <&fan THERMAL_NO_LIMIT 1>; + }; + + map2 { + trip = <&package_fan1>; + cooling-device = <&fan 2 THERMAL_NO_LIMIT>; + }; + }; +}; + /* phy1 - M.KEY socket */ &pcie2x1l0 { reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
This links the PWM fan on Orange Pi 5+ as an active cooling device managed automatically by the thermal subsystem, with a target SoC temperature of 65C and a minimum-spin interval from 55C to 65C to ensure airflow when the system gets warm. This is pretty much the same as '4a152231b050 ("arm64: dts: rockchip: enable automatic fan control on Rock 5B")', except for the Orange Pi 5+ board. Signed-off-by: Florian Klink <flokli@flokli.de> --- .../dts/rockchip/rk3588-orangepi-5-plus.dts | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+)