本文基于 RockPi 4A 单板 Linux4.4 内核介绍 OPP Table 。
内核中将频率、电压的相关配置放在 DTSI 文件中,这些配置信息组成的节点被称为 OPP Table(Operating Performance Points) 。
定义文件: arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi ,内容如下:
上面节点中的相关属性含义如下:
1、 opp-shared :表示 opp-table1 是小核的各 CPU 共用。
2、 rockchip,temp-hysteresis :迟滞参数,防止频繁进入高温或低温,单位:毫摄氏度。
3、 rockchip,low-temp :低温阈值。小于该值时,进入低温,大于‘该值+迟滞参数’时,恢复常温。
4、 rockchip,low-temp-min-volt :低温下最低电压,单位:微伏。
5、 nvmem-cells :从 eFUSE 中读取相关信息值(小核漏电流)。
6、 rockchip,pvtm-voltage-sel :min-pvtm(单位KHz)、max-pvtm(单位KHz)和 voltage-selector (用于匹配 opp 节点中 opp-microvolt-L* 属性的序列号)。例:pvtm值为:0 ~ 143500 使用 opp-microvolt-L0 ,143501 ~ 148500使用 opp-microvolt-L1
7、 rockchip,pvtm-freq :时钟频率(KHz),在获取 pvtm 的频率前,先设置 CPU 频率。
8、 rockchip,pvtm-volt :电压(微伏),在获取 pvtm 的频率前,先设置 CPU 电压。
9、 rockchip,pvtm-ch : PVTM 通道,格式<通道号 sel的序号>
10、 rockchip,pvtm-sample-time : PVTM 采样时间,单位:毫秒。
11、 rockchip,pvtm-number : PVTM 采样个数。
12、 rockchip,pvtm-error :允许采样数据之间的误差。
13、 rockchip,pvtm-ref-temp :参考温度。
14、 rockchip,pvtm-temp-prop : PVTM 随温度变化的比例系数,格式<小于参考温度的比例系数 大于参考温度的比例系数>。
15、 rockchip,thermal-zone :获取温度的 thermal-zone 。
16、 opp-microvolt-L* :电压(微伏),格式<target min max>
17、 clock-latency-ns :完成变频需要的时间,单位:纳秒。
在 RK3399 中,除了配置上述小核的 opp table 外,还设置了大核( cluster1_opp )、 gpu(gpu_opp_table) 等的相关值。查看命令如下:
注:
CPU PVTM(Process Voltage Temperature Monitor) 是一个位于 CPU 附近,能反应出不同芯片之间性能差异的模块,受工艺,电压和温度 的影响。
参考:
Documentation/devicetree/bindings/cpufreq/cpufreq-rockchip.txt
Documentation/devicetree/bindings/cpufreq/cpufreq-rockchip.txt
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)