Problem
The Raspberry Pi 5 dedicated 4-pin PWM fan header does not work on Talos v1.12.6 (kernel 6.18.18-talos). The fan never spins, causing thermal issues.
Kernel log:
platform cooling_fan: deferred probe pending: pwm-fan: Could not get PWM
Root Cause
The arm64 kernel config is missing the RP1 PWM drivers needed for the Pi 5 southbridge fan controller:
# Not present in config-arm64:
CONFIG_PWM_RP1=y
CONFIG_PWM_PIO_RP1=y
The cooling_fan device is defined in the Pi 5 device tree and requires the RP1 PWM driver to acquire a PWM channel. Without it, the fan probe is permanently deferred.
Current /proc/config.gz on v1.12.6 shows only:
CONFIG_PWM_GPIO=y
CONFIG_PWM_RASPBERRYPI_POE=y
Prior Art
PR #1375 enabled CONFIG_SENSORS_GPIO_FAN and CONFIG_PWM_GPIO for GPIO-connected fans (RPi 4), but did not address the Pi 5's native fan header which depends on the RP1 PWM driver.
The community talos-rpi5 custom builder (https://github.com/talos-rpi5/talos-builder) has been shipping these kernel configs to work around this.
Suggested Fix
Add to kernel/build/config-arm64:
CONFIG_PWM_RP1=y
CONFIG_PWM_PIO_RP1=y
These are in-tree drivers (not out-of-tree patches) in recent kernel versions.
Environment
- Talos v1.12.6 (arm64), kernel 6.18.18-talos
- Raspberry Pi 5 with dedicated 4-pin PWM fan (52Pi Armor case)
- SBC overlay:
sbc-raspberrypi:v0.2.0, name: rpi_5
Problem
The Raspberry Pi 5 dedicated 4-pin PWM fan header does not work on Talos v1.12.6 (kernel 6.18.18-talos). The fan never spins, causing thermal issues.
Kernel log:
Root Cause
The arm64 kernel config is missing the RP1 PWM drivers needed for the Pi 5 southbridge fan controller:
The
cooling_fandevice is defined in the Pi 5 device tree and requires the RP1 PWM driver to acquire a PWM channel. Without it, the fan probe is permanently deferred.Current /proc/config.gz on v1.12.6 shows only:
Prior Art
PR #1375 enabled
CONFIG_SENSORS_GPIO_FANandCONFIG_PWM_GPIOfor GPIO-connected fans (RPi 4), but did not address the Pi 5's native fan header which depends on the RP1 PWM driver.The community talos-rpi5 custom builder (https://github.com/talos-rpi5/talos-builder) has been shipping these kernel configs to work around this.
Suggested Fix
Add to
kernel/build/config-arm64:These are in-tree drivers (not out-of-tree patches) in recent kernel versions.
Environment
sbc-raspberrypi:v0.2.0, name:rpi_5