All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dragan Simic <dsimic@manjaro.org>
To: wens@kernel.org
Cc: Alexey Charkov <alchark@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/4] arm64: dts: rockchip: enable temperature driven fan control on Rock 5B
Date: Thu, 01 Feb 2024 18:34:18 +0100	[thread overview]
Message-ID: <5e3e12d65e4919372e7fb02d56202393@manjaro.org> (raw)
In-Reply-To: <CAGb2v65--rgb2FqmG_0-w1-jUL0odqKXxiZJ-XPYA4uomfYmaQ@mail.gmail.com>

Hello Chen-Yu,

On 2024-02-01 15:26, Chen-Yu Tsai wrote:
> On Wed, Jan 31, 2024 at 2:22 AM Alexey Charkov <alchark@gmail.com> 
> 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@linaro.org>
>> Signed-off-by: Alexey Charkov <alchark@gmail.com>
>> ---
>>  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.

Actually, there is a reason.  Different boards can handle the critical
overheating differently, by letting the CRU or the PMIC handle it.  This
was also the case for the RK3399.

Please, have a look at the following DT properties, which are consumed
by drivers/thermal/rockchip_thermal.c:
   - "rockchip,hw-tshut-mode"
   - "rockchip,hw-tshut-polarity"

See also page 1,372 of the RK3588 TRM v1.0.

This has also reminded me to check how is the Rock 5B actually wired,
just to make sure.  We actually need to provide the two DT properties
listed above, at least to avoid emitting the warnings.

>>  &uart2 {
>>         pinctrl-0 = <&uart2m0_xfer>;
>>         status = "okay";
>> 
>> --
>> 2.43.0

WARNING: multiple messages have this Message-ID (diff)
From: Dragan Simic <dsimic@manjaro.org>
To: wens@kernel.org
Cc: Alexey Charkov <alchark@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/4] arm64: dts: rockchip: enable temperature driven fan control on Rock 5B
Date: Thu, 01 Feb 2024 18:34:18 +0100	[thread overview]
Message-ID: <5e3e12d65e4919372e7fb02d56202393@manjaro.org> (raw)
In-Reply-To: <CAGb2v65--rgb2FqmG_0-w1-jUL0odqKXxiZJ-XPYA4uomfYmaQ@mail.gmail.com>

Hello Chen-Yu,

On 2024-02-01 15:26, Chen-Yu Tsai wrote:
> On Wed, Jan 31, 2024 at 2:22 AM Alexey Charkov <alchark@gmail.com> 
> 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@linaro.org>
>> Signed-off-by: Alexey Charkov <alchark@gmail.com>
>> ---
>>  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.

Actually, there is a reason.  Different boards can handle the critical
overheating differently, by letting the CRU or the PMIC handle it.  This
was also the case for the RK3399.

Please, have a look at the following DT properties, which are consumed
by drivers/thermal/rockchip_thermal.c:
   - "rockchip,hw-tshut-mode"
   - "rockchip,hw-tshut-polarity"

See also page 1,372 of the RK3588 TRM v1.0.

This has also reminded me to check how is the Rock 5B actually wired,
just to make sure.  We actually need to provide the two DT properties
listed above, at least to avoid emitting the warnings.

>>  &uart2 {
>>         pinctrl-0 = <&uart2m0_xfer>;
>>         status = "okay";
>> 
>> --
>> 2.43.0

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

WARNING: multiple messages have this Message-ID (diff)
From: Dragan Simic <dsimic@manjaro.org>
To: wens@kernel.org
Cc: Alexey Charkov <alchark@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/4] arm64: dts: rockchip: enable temperature driven fan control on Rock 5B
Date: Thu, 01 Feb 2024 18:34:18 +0100	[thread overview]
Message-ID: <5e3e12d65e4919372e7fb02d56202393@manjaro.org> (raw)
In-Reply-To: <CAGb2v65--rgb2FqmG_0-w1-jUL0odqKXxiZJ-XPYA4uomfYmaQ@mail.gmail.com>

Hello Chen-Yu,

On 2024-02-01 15:26, Chen-Yu Tsai wrote:
> On Wed, Jan 31, 2024 at 2:22 AM Alexey Charkov <alchark@gmail.com> 
> 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@linaro.org>
>> Signed-off-by: Alexey Charkov <alchark@gmail.com>
>> ---
>>  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.

Actually, there is a reason.  Different boards can handle the critical
overheating differently, by letting the CRU or the PMIC handle it.  This
was also the case for the RK3399.

Please, have a look at the following DT properties, which are consumed
by drivers/thermal/rockchip_thermal.c:
   - "rockchip,hw-tshut-mode"
   - "rockchip,hw-tshut-polarity"

See also page 1,372 of the RK3588 TRM v1.0.

This has also reminded me to check how is the Rock 5B actually wired,
just to make sure.  We actually need to provide the two DT properties
listed above, at least to avoid emitting the warnings.

>>  &uart2 {
>>         pinctrl-0 = <&uart2m0_xfer>;
>>         status = "okay";
>> 
>> --
>> 2.43.0

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2024-02-01 17:34 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-30 18:21 [PATCH v2 0/4] RK3588 and Rock 5B dts additions: thermal, OPP and fan Alexey Charkov
2024-01-30 18:21 ` Alexey Charkov
2024-01-30 18:21 ` Alexey Charkov
2024-01-30 18:21 ` [PATCH v2 1/4] arm64: dts: rockchip: enable built-in thermal monitoring on rk3588 Alexey Charkov
2024-01-30 18:21   ` Alexey Charkov
2024-01-30 18:21   ` Alexey Charkov
2024-01-31  5:05   ` Dragan Simic
2024-01-31  5:05     ` Dragan Simic
2024-01-31  5:05     ` Dragan Simic
2024-01-31  9:56     ` Alexey Charkov
2024-01-31  9:56       ` Alexey Charkov
2024-01-31  9:56       ` Alexey Charkov
2024-01-31 10:08       ` Dragan Simic
2024-01-31 10:08         ` Dragan Simic
2024-01-31 10:08         ` Dragan Simic
2024-01-30 18:21 ` [PATCH v2 2/4] arm64: dts: rockchip: enable temperature driven fan control on Rock 5B Alexey Charkov
2024-01-30 18:21   ` Alexey Charkov
2024-01-30 18:21   ` Alexey Charkov
2024-01-31  5:08   ` Dragan Simic
2024-01-31  5:08     ` Dragan Simic
2024-01-31  5:08     ` Dragan Simic
2024-01-31  9:43     ` Alexey Charkov
2024-01-31  9:43       ` Alexey Charkov
2024-01-31  9:43       ` Alexey Charkov
2024-02-01 14:26   ` Chen-Yu Tsai
2024-02-01 14:26     ` Chen-Yu Tsai
2024-02-01 14:26     ` Chen-Yu Tsai
2024-02-01 17:34     ` Dragan Simic [this message]
2024-02-01 17:34       ` Dragan Simic
2024-02-01 17:34       ` Dragan Simic
2024-02-01 19:15       ` Alexey Charkov
2024-02-01 19:15         ` Alexey Charkov
2024-02-01 19:15         ` Alexey Charkov
2024-02-01 19:31         ` Dragan Simic
2024-02-01 19:31           ` Dragan Simic
2024-02-01 19:31           ` Dragan Simic
2024-02-01 19:43           ` Dragan Simic
2024-02-01 19:43             ` Dragan Simic
2024-02-01 19:43             ` Dragan Simic
2024-02-02 14:42             ` Alexey Charkov
2024-02-02 14:42               ` Alexey Charkov
2024-02-02 14:42               ` Alexey Charkov
2024-02-02 20:14               ` Dragan Simic
2024-02-02 20:14                 ` Dragan Simic
2024-02-02 20:14                 ` Dragan Simic
2024-01-30 18:21 ` [PATCH v2 3/4] arm64: dts: rockchip: Add OPP data for CPU cores on RK3588 Alexey Charkov
2024-01-30 18:21   ` Alexey Charkov
2024-01-30 18:21   ` Alexey Charkov
2024-01-31  9:12   ` Heiko Stübner
2024-01-31  9:12     ` Heiko Stübner
2024-01-31  9:12     ` Heiko Stübner
2024-01-31  9:34     ` Alexey Charkov
2024-01-31  9:34       ` Alexey Charkov
2024-01-31  9:34       ` Alexey Charkov
2024-01-30 18:21 ` [PATCH v2 4/4] arm64: dts: rockchip: Add further granularity in RK3588 CPU OPPs Alexey Charkov
2024-01-30 18:21   ` Alexey Charkov
2024-01-30 18:21   ` Alexey Charkov
2024-01-31  5:08   ` Dragan Simic
2024-01-31  5:08     ` Dragan Simic
2024-01-31  5:08     ` Dragan Simic
2024-02-08 12:19     ` Dragan Simic
2024-02-08 12:19       ` Dragan Simic
2024-02-08 12:19       ` Dragan Simic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5e3e12d65e4919372e7fb02d56202393@manjaro.org \
    --to=dsimic@manjaro.org \
    --cc=alchark@gmail.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=viresh.kumar@linaro.org \
    --cc=wens@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.