简介
i.MX8MP 预设的情况下只有两种的 CPU 频率可以调整,可以在 Linux 下检查$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
1200000 1600000
新增 CPU 频率 800 MHz
如果想新增 CPU 频率选项,其中需要参考 MPU 本身的电压设定,i.MX8MP 相关的资料可以参考 i.MX 8M Plus Applications Processor Datasheet for Industrial Products
频率的部分 (opp-hz) 可以参考,本篇博文是提供最低的 800 MHz
电压的部分 (opp-microvolt) 可以参考,这边设为 0.85 V,以 nominal mode 运作
以下是在装置树的 opp-table 内新增 800 MHz 参数的范例,完成后重新编译并更换预设的装置树即可
// arch/arm64/boot/dts/freescale/imx8mp.dtsi
a53_opp_table: opp-table {
compatible = "operating-points-v2";
opp-shared;
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <850000>;
opp-supported-hw = <0xa0>, <0x7>;
clock-latency-ns = <150000>;
opp-suspend;
};
...
};
重新检查可调整频率
进到系统后,再次检查可调整频率会发现已新增了 800 MHz 的选项
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
800000 1200000 1600000
调整 CPU 频率
接着将当前 CPU 频率调整为 800 MHz
$ echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
$ echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
检查当前 CPU 频率
$ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
800000
确认当前 CPU 频率已改为 800 MHz 之后,新增 MPU 支援的 CPU 频率就完成了
ATU Support
如果你有任何需求,请联络 WPI 的 TW ATU 团队
评论