一.CPU定频

/sys/devices/system/cpu/cpufreq/policy0:(对应4个A55:CPU0-3)
affected_cpus     cpuinfo_max_freq  cpuinfo_transition_latency  scaling_available_frequencies  scaling_cur_freq  scaling_governor  scaling_min_freq  stats
cpuinfo_cur_freq  cpuinfo_min_freq  related_cpus                scaling_available_governors    scaling_driver    scaling_max_freq  scaling_setspeed

/sys/devices/system/cpu/cpufreq/policy4:(对应2个A76:CPU4-5)
affected_cpus     cpuinfo_max_freq  cpuinfo_transition_latency  scaling_available_frequencies  scaling_cur_freq  scaling_governor  scaling_min_freq  stats
cpuinfo_cur_freq  cpuinfo_min_freq  related_cpus                scaling_available_governors    scaling_driver    scaling_max_freq  scaling_setspeed

/sys/devices/system/cpu/cpufreq/policy6:(对应2个A76:CPU6-7)
affected_cpus     cpuinfo_max_freq  cpuinfo_transition_latency  scaling_available_frequencies  scaling_cur_freq  scaling_governor  scaling_min_freq  stats
cpuinfo_cur_freq  cpuinfo_min_freq  related_cpus                scaling_available_governors    scaling_driver    scaling_max_freq  scaling_setspeed
rk3588_s:/ # 

2. 获取当前CPU支持的频点

cat /sys/devices/system/cpu/cpufreq/policy6/scaling_available_frequencies
408000 600000 816000 1008000 1200000 1416000 1608000 1800000 2016000 2208000 2304000

3. 获取cpu运行的模式

cat /sys/devices/system/cpu/cpufreq/policy6/scaling_available_governors
conservative ondemand userspace powersave performance schedutil
默认是自动变频模式:schedutil(恢复的话设置为该模式即可)。

4. 设置手动定频模式:userspace

echo userspace > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor

5. 设置频率为2016000

echo 2016000 > /sys/devices/system/cpu/cpufreq/policy6/scaling_setspeed

确认是否设置成功

cat /sys/devices/system/cpu/cpufreq/policy6/cpuinfo_cur_freq
2016000

二.GPU定频

1. GPU的节点路径

ls /sys/class/devfreq/fb000000.gpu/
available_frequencies cur_freq governor max_freq name power target_freq trans_stat
available_governors device load min_freq polling_interval subsystem timer uevent

2. 获取GPU支持的频点

cat /sys/class/devfreq/fb000000.gpu/available_frequencies
1000000000 900000000 800000000 700000000 600000000 500000000 400000000 300000000

3. 获取GPU运行的模式

cat /sys/class/devfreq/fb000000.gpu/available_governors
userspace powersave performance simple_ondemand

默认是自动变频模式:simple_ondemand(恢复的话设置为该模式即可)。

4. 设置手动定频模式:userspace

echo userspace > /sys/class/devfreq/fb000000.gpu/governor

5. 设置频率为1000000000

echo 1000000000 > /sys/class/devfreq/fb000000.gpu/userspace/set_freq
cat /sys/class/devfreq/fb000000.gpu/cur_freq

6. 查看GPU的负载

cat /sys/class/devfreq/fb000000.gpu/load
0@1000000000Hz

三.NPU定频

1. NPU的节点路径

ls /sys/class/devfreq/fdab0000.npu/
available_frequencies device max_freq polling_interval target_freq uevent
available_governors governor min_freq power timer userspace
cur_freq load name subsystem trans_stat

2. 获取NPU支持的频点

cat /sys/class/devfreq/fdab0000.npu/available_frequencies
300000000 400000000 500000000 600000000 700000000 800000000 900000000 1000000000

3. 获取NPU运行的模式

cat /sys/class/devfreq/fdab0000.npu/available_governors
userspace powersave performance simple_ondemand

默认是自动变频模式:simple_ondemand(恢复的话设置为该模式即可)。

4. 设置手动定频模式:userspace

echo userspace > /sys/class/devfreq/fdab0000.npu/governor

5. 设置频率为1000000000

echo 1000000000 > /sys/class/devfreq/fdab0000.npu/userspace/set_freq
cat /sys/class/devfreq/fdab0000.npu/cur_freq

6. 查看NPU的负载

cat /sys/kernel/debug/rknpu/load
NPU load: Core0: 0%, Core1: 0%, Core2: 0%


开源硬件平台

还没有评论,抢个沙发!