Well, my guess was wrong. I put releng/14.4 sources on my Pi5, and built the modules (just a simple "make"). Then I loaded the bcm2712.ko module.
As soon as I had loaded it, the fan started spinning. I also loaded the rp5.ko module (this is the sysctl part, from looking at the sources).
dmesg output
Code:
Apr 12 19:32:09 devpi5 kernel: bcm2712: AVS thermal sensor mapped at 0x107d542000
Apr 12 19:32:09 devpi5 kernel: bcm2712: RP1 PWM1 controller mapped at 0x1f0009c000
Apr 12 19:32:09 devpi5 kernel: bcm2712: GPIO45 CTRL before=0x85 (FUNCSEL=5)
Apr 12 19:32:09 devpi5 kernel: bcm2712: GPIO45 CTRL after=0x80 (FUNCSEL=0, pwm1)
Apr 12 19:32:09 devpi5 kernel: bcm2712: Thermal sensor initialized
Apr 12 19:32:29 devpi5 kernel: rpi5: Raspberry Pi 5 board support loading
Apr 12 19:32:29 devpi5 kernel: rpi5: Cooling fan thermal management started
and of course, sysctl knobs
Code:
root@devpi5:~ # sysctl -a | grep therm
bcm2712: AVS thermal sensor mapped at 0x107d542000
rpi5: Cooling fan thermal management started
device aw_thermal
device mv_thermal
hw.bcm2712.thermal.cpu_temp: 56.1C
root@devpi5:~ # sysctl -a | grep temp
nvme0: temperature above threshold
nvme1: temperature above threshold
vm.pfault_oom_attempts: 3
net.inet6.ip6.use_tempaddr: 0
net.inet6.ip6.temppltime: 86400
net.inet6.ip6.tempvltime: 604800
net.inet6.ip6.prefer_tempaddr: 0
hw.rpi5.fan.cpu_temp: 55100
hw.rpi5.fan.temp3_hyst: 5000
hw.rpi5.fan.temp2_hyst: 5000
hw.rpi5.fan.temp1_hyst: 5000
hw.rpi5.fan.temp0_hyst: 5000
hw.rpi5.fan.temp3: 75000
hw.rpi5.fan.temp2: 67500
hw.rpi5.fan.temp1: 60000
hw.rpi5.fan.temp0: 50000
hw.bcm2712.thermal.cpu_temp: 55.1C
hw.usb.template: -1
kstat.zfs.misc.arcstats.arc_tempreserve: 0
and the temperature goes down
Code:
root@devpi5:~ # sysctl hw.bcm2712.thermal.cpu_temp
hw.bcm2712.thermal.cpu_temp: 50.6C