From 2c085a1ff40521ab89d8f1894757aa83b59b4607 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 4 Jan 2024 12:09:10 +0000 Subject: [PATCH] ARM: dts: bcm2712-rpi-5-b: Add fan speed dtparams 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 --- arch/arm/boot/dts/bcm2712-rpi-5-b.dts | 13 +++++++++++++ arch/arm/boot/dts/overlays/README | 25 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+) --- a/arch/arm/boot/dts/bcm2712-rpi-5-b.dts +++ b/arch/arm/boot/dts/bcm2712-rpi-5-b.dts @@ -844,5 +844,18 @@ spi10_cs_pins: &spi10_cs_gpio1 {}; drm_fb2_rp1_dsi1 = <&aliases>, "drm-fb2=",&dsi1; drm_fb2_rp1_dpi = <&aliases>, "drm-fb2=",&dpi; drm_fb2_vc4 = <&aliases>, "drm-fb2=",&vc4; + + 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"; }; }; --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -233,6 +233,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")