[SRU][M:raspi][PATCH] ARM: dts: bcm2712-rpi-5-b: Add fan speed dtparams
Juerg Haefliger
juerg.haefliger at canonical.com
Tue Mar 12 09:52:36 UTC 2024
From: Phil Elwell <phil at raspberrypi.com>
BugLink: https://bugs.launchpad.net/bugs/2054921
Add dtparams for adjusting the Pi 5 cooling fan speeds and temperature
thresholds.
See: https://github.com/raspberrypi/linux/issues/5820
Signed-off-by: Phil Elwell <phil at raspberrypi.com>
(backported from commit 83d4e02e4b66625578dc9421e2c69834af392947 rpi-6.6.y)
[juergh: Adjusted context.]
Signed-off-by: Juerg Haefliger <juerg.haefliger at canonical.com>
---
.../arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts | 13 ++++++++++
arch/arm/boot/dts/overlays/README | 25 +++++++++++++++++++
2 files changed, 38 insertions(+)
diff --git a/arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts
index 085ff354730e..14eeb769727c 100644
--- a/arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts
@@ -820,5 +820,18 @@ __overrides__ {
act_led_trigger = <&act_led>, "linux,default-trigger";
pwr_led_activelow = <&pwr_led>, "gpios:8";
pwr_led_trigger = <&pwr_led>, "linux,default-trigger";
+
+ fan_temp0 = <&cpu_tepid>,"temperature:0";
+ fan_temp1 = <&cpu_warm>,"temperature:0";
+ fan_temp2 = <&cpu_hot>,"temperature:0";
+ fan_temp3 = <&cpu_vhot>,"temperature:0";
+ fan_temp0_hyst = <&cpu_tepid>,"hysteresis:0";
+ fan_temp1_hyst = <&cpu_warm>,"hysteresis:0";
+ fan_temp2_hyst = <&cpu_hot>,"hysteresis:0";
+ fan_temp3_hyst = <&cpu_vhot>,"hysteresis:0";
+ fan_temp0_speed = <&fan>, "cooling-levels:4";
+ fan_temp1_speed = <&fan>, "cooling-levels:8";
+ fan_temp2_speed = <&fan>, "cooling-levels:12";
+ fan_temp3_speed = <&fan>, "cooling-levels:16";
};
};
diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
index 7f5fda92d623..fb8f8c60e9ba 100644
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -209,6 +209,31 @@ Params:
to negotiate. Legal values are 10, 100 and
1000 (default 1000). Pi3B+ only.
+ fan_temp0 Temperature threshold (in millicelcius) for
+ 1st cooling level (default 50000). Pi5 only.
+ fan_temp0_hyst Temperature hysteresis (in millicelcius) for
+ 1st cooling level (default 5000). Pi5 only.
+ fan_temp0_speed Fan PWM setting for 1st cooling level (0-255,
+ default 75). Pi5 only.
+ fan_temp1 Temperature threshold (in millicelcius) for
+ 2nd cooling level (default 60000). Pi5 only.
+ fan_temp1_hyst Temperature hysteresis (in millicelcius) for
+ 2nd cooling level (default 5000). Pi5 only.
+ fan_temp1_speed Fan PWM setting for 2nd cooling level (0-255,
+ default 125). Pi5 only.
+ fan_temp2 Temperature threshold (in millicelcius) for
+ 3rd cooling level (default 67500). Pi5 only.
+ fan_temp2_hyst Temperature hysteresis (in millicelcius) for
+ 3rd cooling level (default 5000). Pi5 only.
+ fan_temp2_speed Fan PWM setting for 3rd cooling level (0-255,
+ default 175). Pi5 only.
+ fan_temp3 Temperature threshold (in millicelcius) for
+ 4th cooling level (default 75000). Pi5 only.
+ fan_temp3_hyst Temperature hysteresis (in millicelcius) for
+ 4th cooling level (default 5000). Pi5 only.
+ fan_temp3_speed Fan PWM setting for 4th cooling level (0-255,
+ default 250). Pi5 only.
+
hdmi Set to "off" to disable the HDMI interface
(default "on")
--
2.40.1
More information about the kernel-team
mailing list