On Thu, May 28, 2020 at 8:32 PM Kurt Miller <k...@intricatesoftware.com> wrote: > > The cooling levels are tuned to the fan that comes with the rockpro64 NAS > case. A gpu_thermal zone was not added because having two active cooling > maps control one physical fan causes them to compete for the fan speed > which results in erratic fan behavior.
Is there any reason this shouldn't go to the linux kernel first and then be synced back to the standard rk3399-rockpro64.dtsi? > Signed-off-by: Kurt Miller <k...@intricatesoftware.com> > --- > > arch/arm/dts/rk3399-rockpro64-u-boot.dtsi | 43 +++++++++++++++++++++++ > 1 file changed, 43 insertions(+) > > diff --git a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi > b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi > index deaa3efd39..c0e0396758 100644 > --- a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi > +++ b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi > @@ -13,6 +13,49 @@ > chosen { > u-boot,spl-boot-order = "same-as-spl", &sdmmc, &sdhci; > }; > + > + fan: pwm-fan { > + cooling-levels = <0 40 80 255>; > + }; > +}; > + > +&cpu_thermal { > + trips { > + cpu_warm: cpu_warm { > + temperature = <50000>; > + hysteresis = <2000>; > + type = "active"; > + }; > + > + cpu_med: cpu_med { > + temperature = <60000>; > + hysteresis = <2000>; > + type = "active"; > + }; > + > + cpu_hot: cpu_hot { > + temperature = <65000>; > + hysteresis = <2000>; > + type = "active"; > + }; > + }; > + > + cooling-maps { > + map2 { > + trip = <&cpu_warm>; > + cooling-device = <&fan THERMAL_NO_LIMIT 1>; > + }; > + > + map3 { > + trip = <&cpu_med>; > + cooling-device = <&fan THERMAL_NO_LIMIT 2>; > + }; > + > + map4 { > + trip = <&cpu_hot>; > + cooling-device = <&fan 2 THERMAL_NO_LIMIT>; > + }; > + }; > }; > > &vdd_center { > -- > 2.26.2 >