ARM: dts: bcm2712-rpi-5-b: Add fan speed dtparams
authorPhil Elwell <phil@raspberrypi.com>
Thu, 4 Jan 2024 12:09:10 +0000 (12:09 +0000)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:35:27 +0000 (11:35 +0000)
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@raspberrypi.com>
arch/arm/boot/dts/broadcom/bcm2712-rpi-5-b.dts
arch/arm/boot/dts/overlays/README

index edfe1fc421e31299e4390fbcf7665c1ba58c13ea..d960bc456b2f7c3a02f6c3580ecede18bfc3bb2c 100644 (file)
@@ -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";
        };
 };
index b1913c67a87ffaa32c7c1f4fb13b22b76be28d3a..94147d17fc36e2e35f6465dc4bcfe34c387a676b 100644 (file)
@@ -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")