Re: [PATCH v2 2/4] arm64: dts: rockchip: enable temperature driven fan control on Rock 5B

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 31, 2024 at 2:22 AM Alexey Charkov <alchark@xxxxxxxxx> wrote:
>
> This enables thermal monitoring on Radxa Rock 5B and links the PWM
> fan 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
>
> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
> Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx>
> ---
>  arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 34 ++++++++++++++++++++++++-
>  1 file changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
> index a0e303c3a1dc..b485edeef876 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
> @@ -52,7 +52,7 @@ led_rgb_b {
>
>         fan: pwm-fan {
>                 compatible = "pwm-fan";
> -               cooling-levels = <0 95 145 195 255>;
> +               cooling-levels = <0 120 150 180 210 240 255>;
>                 fan-supply = <&vcc5v0_sys>;
>                 pwms = <&pwm1 0 50000 0>;
>                 #cooling-cells = <2>;
> @@ -173,6 +173,34 @@ &cpu_l3 {
>         cpu-supply = <&vdd_cpu_lit_s0>;
>  };
>
> +&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 {
> +               map0 {
> +                       trip = <&package_fan0>;
> +                       cooling-device = <&fan THERMAL_NO_LIMIT 1>;
> +               };
> +               map1 {
> +                       trip = <&package_fan1>;
> +                       cooling-device = <&fan 1 THERMAL_NO_LIMIT>;
> +               };
> +       };
> +};
> +
>  &i2c0 {
>         pinctrl-names = "default";
>         pinctrl-0 = <&i2c0m2_xfer>;
> @@ -731,6 +759,10 @@ regulator-state-mem {
>         };
>  };
>
> +&tsadc {
> +       status = "okay";
> +};
> +

Is there any reason this can't be enabled by default in the .dtsi file?
The thermal sensor doesn't depend on anything external, so there should
be no reason to push this down to the board level.

ChenYu

>  &uart2 {
>         pinctrl-0 = <&uart2m0_xfer>;
>         status = "okay";
>
> --
> 2.43.0
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux