Oh yes Posted Sunday at 08:53 PM Posted Sunday at 08:53 PM Hi all, I’m working with an RK3588-based board and running into a frequency scaling issue. All cores (cpu0–7) are stuck at 408 MHz, despite available OPPs going much higher (up to 2.35 GHz on the big cores). Attempts to raise frequencies via scaling_setspeed or userspace governor have no effect. The image I'm using is: https://www.armbian.com/nanopc-cm3588-nas/ (https://dl.armbian.com/cm3588-nas/Bookworm_vendor_minimal-omv) Device tree file is: fdtfile=rockchip/rk3588-friendlyelec-cm3588-nas.dtb # for cpu in /sys/devices/system/cpu/cpu[0-9]*; do echo "== $(basename $cpu) ==" cat $cpu/cpufreq/scaling_available_frequencies cat $cpu/cpufreq/cpuinfo_max_freq done == cpu0 == 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 1800000 == cpu1 == 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 1800000 == cpu2 == 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 1800000 == cpu3 == 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 1800000 == cpu4 == 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 2016000 2208000 2352000 2352000 == cpu5 == 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 2016000 2208000 2352000 2352000 == cpu6 == 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 2016000 2208000 2352000 2352000 == cpu7 == 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 2016000 2208000 2352000 2352000 root@cm3588-nas:/# Getting DVFS/EM kernel message about inefficient OPP: [ 14.038585] cpu cpu0: EM: OPP:816000 is inefficient [ 14.048575] cpu cpu4: EM: OPP:1008000 is inefficient [ 14.048584] cpu cpu4: EM: OPP:816000 is inefficient [ 14.060709] cpu cpu6: EM: OPP:1008000 is inefficient [ 14.060718] cpu cpu6: EM: OPP:816000 is inefficient PVT readings [ 14.002363] cpu cpu0: pvtm=1425 [ 14.002523] cpu cpu0: pvtm-volt-sel=1 [ 14.011254] cpu cpu4: pvtm=1645 [ 14.015591] cpu cpu4: pvtm-volt-sel=3 [ 14.025824] cpu cpu6: pvtm=1665 [ 14.030065] cpu cpu6: pvtm-volt-sel=3 Attempting to raise speed: # for cpu in /sys/devices/system/cpu/cpu[0-9]*; do echo 1800000 | sudo tee $cpu/cpufreq/scaling_setspeed; cat $cpu/cpufreq/scaling_cur_freq; done 1800000 408000 1800000 408000 1800000 408000 1800000 408000 1800000 408000 1800000 408000 1800000 408000 1800000 408000 Why might all cores be capped at 408 MHz despite available OPPs and voltage steps? 0 Quote
Potatoman69420 Posted 2 hours ago Posted 2 hours ago (edited) I am observing the same thing. This can be easily fixed by setting the max frequency manually; https://www.incertum.net/post/2024/armbian-cm3588/ I checked `cpufreq-info | grep "available frequency steps"` And made this to set the correct speed for all the cores on the RK3588 NAS KIT # Little cluster (A55 cores: cpu0–cpu3) for c in 0 1 2 3; do cpufreq-set -c $c -g schedutil -u 1.80GHz done # Big cluster (A76 cores: cpu4–cpu7) for c in 4 5 6 7; do cpufreq-set -c $c -g schedutil -u 2.40GHz done Now running `watch -n1 "cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq"` together with `for i in $(seq 1 $(nproc)); do yes > /dev/null & done` shows the frequencies going up correctly, and down too when I `killall yes` Edited 2 hours ago by Potatoman69420 added instruction 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.