簡介
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?團隊
參考來源