Linux系统功耗管理全解析
1. CPUFreq驱动及OPP定义
在了解CPUFreq驱动的运行时细节位置后,我们来看看如何在编译时定义运行点(Operating Points, OPPs)。以BeagleBone Black为例,其OPPs编码在设备树中,如下是 am33xx.dtsi
的部分内容:
cpu0_opp_table: opp-table {
compatible = "operating-points-v2-ti-cpu";
syscon = <&scm_conf>;
[…]
opp50-300000000 {
opp-hz = /bits/ 64 <300000000>;
opp-microvolt = <950000 931000 969000>;
opp-supported-hw = <0x06 0x0010>;
opp-suspend;
};
[…]
opp100-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <1100000 1078000 1122000>;
opp-supported-hw = <0x06 0x0040>;
};
[…]
opp120-720000000 {
opp-hz =