Rockchip RK3588 kernel dts解析之CPU/GPU/NPU/DDR频率
文章目录
RK3588的CPU/GPU/NPU/DDR的频率
rk3588_s:/ $ cat /d/opp/opp_summary
device rate(Hz) target(uV) min(uV) max(uV)
-------------------------------------------------------------------
platform-fdab0000.npu
300000000 675000 675000 850000
675000 675000 850000
400000000 675000 675000 850000
675000 675000 850000
500000000 675000 675000 850000
675000 675000 850000
600000000 675000 675000 850000
675000 675000 850000
700000000 675000 675000 850000
675000 675000 850000
800000000 700000 700000 850000
700000 700000 850000
900000000 750000 750000 850000
750000 750000 850000
1000000000 800000 800000 850000
800000 800000 850000
platform-dmc
528000000 675000 675000 675000
1068000000 725000 725000 725000
1560000000 800000 800000 800000
2112000000 850000 850000 850000
platform-fb000000.gpu
300000000 675000 675000 850000
675000 675000 850000
400000000 675000 675000 850000
675000 675000 850000
500000000 675000 675000 850000
675000 675000 850000
600000000 675000 675000 850000
675000 675000 850000
700000000 675000 675000 850000
675000 675000 850000
800000000 700000 700000 850000
700000 700000 850000
900000000 750000 750000 850000
750000 750000 850000
1000000000 800000 800000 850000
800000 800000 850000
cpu6
408000000 675000 675000 1000000
675000 675000 1000000
600000000 675000 675000 1000000
675000 675000 1000000
816000000 675000 675000 1000000
675000 675000 1000000
1008000000 675000 675000 1000000
675000 675000 1000000
1200000000 675000 675000 1000000
675000 675000 1000000
1416000000 675000 675000 1000000
675000 675000 1000000
1608000000 700000 700000 1000000
700000 700000 1000000
1800000000 762500 762500 1000000
762500 762500 1000000
2016000000 837500 837500 1000000
837500 837500 1000000
2208000000 912500 912500 1000000
912500 912500 1000000
2400000000 962500 962500 1000000
962500 962500 1000000
cpu4
408000000 675000 675000 1000000
675000 675000 1000000
600000000 675000 675000 1000000
675000 675000 1000000
816000000 675000 675000 1000000
675000 675000 1000000
1008000000 675000 675000 1000000
675000 675000 1000000
1200000000 675000 675000 1000000
675000 675000 1000000
1416000000 675000 675000 1000000
675000 675000 1000000
1608000000 700000 700000 1000000
700000 700000 1000000
1800000000 762500 762500 1000000
762500 762500 1000000
2016000000 837500 837500 1000000
837500 837500 1000000
2208000000 912500 912500 1000000
912500 912500 1000000
2400000000 962500 962500 1000000
962500 962500 1000000
cpu0
408000000 675000 675000 950000
675000 675000 950000
600000000 675000 675000 950000
675000 675000 950000
816000000 675000 675000 950000
675000 675000 950000
1008000000 675000 675000 950000
675000 675000 950000
1200000000 675000 675000 950000
675000 675000 950000
1416000000 712500 712500 950000
712500 712500 950000
1608000000 787500 787500 950000
787500 787500 950000
1800000000 875000 875000 950000
875000 875000 950000
dts中频率的配置
代码位置:
arch/arm64/boot/dts/rockchip/rk3588s.dtsi
CPU小核(CPU0-CPU3)的频率电压表配置
cluster0_opp_table: cluster0-opp-table {
compatible = "operating-points-v2";
opp-shared;
nvmem-cells = <&cpul_leakage>;
nvmem-cell-names = "leakage";
rockchip,pvtm-voltage-sel = <
0 1410 0
1411 1434 1
1435 1458 2
1459 1482 3
1483 1506 4
1507 1530 5
1531 9999 6
>;
rockchip,pvtm-pvtpll;
rockchip,pvtm-offset = <0x64>;
rockchip,pvtm-sample-time = <1100>;
rockchip,pvtm-freq = <1416000>;
rockchip,pvtm-volt = <750000>;
rockchip,pvtm-ref-temp = <25>;
rockchip,pvtm-temp-prop = <244 244>;
rockchip,pvtm-thermal-zone = "soc-thermal";
rockchip,grf = <&litcore_grf>;
rockchip,reboot-freq = <1416000>;
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <0>;
rockchip,low-temp-min-volt = <725000>;
opp-408000000 {
opp-hz = /bits/ 64 <408000000>;
opp-microvolt = <675000 675000 950000>,
<675000 675000 950000>;
clock-latency-ns = <40000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <675000 675000 950000>,
<675000 675000 950000>;
clock-latency-ns = <40000>;
};
opp-816000000 {
opp-hz = /bits/ 64 <816000000>;
opp-microvolt = <675000 675000 950000>,
<675000 675000 950000>;
clock-latency-ns = <40000>;
};
opp-1008000000 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <675000 675000 950000>,
<675000 675000 950000>;
clock-latency-ns = <40000>;
};
opp-1200000000 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <700000 700000 950000>,
<700000 700000 950000>;
opp-microvolt-L1 = <687500 687500 950000>,
<687500 687500 950000>;
opp-microvolt-L2 = <687500 687500 950000>,
<687500 687500 950000>;
opp-microvolt-L3 = <687500 687500 950000>,
<687500 687500 950000>;
opp-microvolt-L4 = <675000 675000 950000>,
<675000 675000 950000>;
opp-microvolt-L5 = <675000 675000 950000>,
<675000 675000 950000>;
opp-microvolt-L6 = <675000 675000 950000>,
<675000 675000 950000>;
clock-latency-ns = <40000>;
};
opp-1416000000 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <762500 762500 950000>,
<762500 762500 950000>;
opp-microvolt-L1 = <750000 750000 950000>,
<750000 750000 950000>;
opp-microvolt-L2 = <737500 737500 950000>,
<737500 737500 950000>;
opp-microvolt-L3 = <725000 725000 950000>,
<725000 725000 950000>;
opp-microvolt-L4 = <725000 725000 950000>,
<725000 725000 950000>;
opp-microvolt-L5 = <712500 712500 950000>,
<712500 712500 950000>;
opp-microvolt-L6 = <712500 712500 950000>,
<712500 712500 950000>;
clock-latency-ns = <40000>;
opp-suspend;
};
opp-1608000000 {
opp-hz = /bits/ 64 <1608000000>;
opp-microvolt = <850000 850000 950000>,
<850000 850000 950000>;
opp-microvolt-L1 = <837500 837500 950000>,
<837500 837500 950000>;
opp-microvolt-L2 = <825000 825000 950000>,
<825000 825000 950000>;
opp-microvolt-L3 = <812500 812500 950000>,
<812500 812500 950000>;
opp-microvolt-L4 = <800000 800000 950000>,
<800000 800000 950000>;
opp-microvolt-L5 = <800000 800000 950000>,
<800000 800000 950000>;
opp-microvolt-L6 = <787500 787500 950000>,
<787500 787500 950000>;
clock-latency-ns = <40000>;
};
opp-1800000000 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <950000 950000 950000>,
<950000 950000 950000>;
opp-microvolt-L1 = <937500 937500 950000>,
<937500 937500 950000>;
opp-microvolt-L2 = <925000 925000 950000>,
<925000 925000 950000>;
opp-microvolt-L3 = <912500 912500 950000>,
<912500 912500 950000>;
opp-microvolt-L4 = <900000 900000 950000>,
<900000 900000 950000>;
opp-microvolt-L5 = <887500 887500 950000>,
<887500 887500 950000>;
opp-microvolt-L6 = <875000 875000 950000>,
<875000 875000 950000>;
clock-latency-ns = <40000>;
};
};
CPU大核(CPU4-CPU5)的频率电压表配置
cluster1_opp_table: cluster1-opp-table {
compatible = "operating-points-v2";
opp-shared;
nvmem-cells = <&cpub0_leakage>;
nvmem-cell-names = "leakage";
rockchip,pvtm-voltage-sel = <
0 1640 0
1641 1675 1
1676 1710 2
1711 1743 3
1744 1776 4
1777 9999 5
>;
rockchip,pvtm-pvtpll;
rockchip,pvtm-offset = <0x18>;
rockchip,pvtm-sample-time = <1100>;
rockchip,pvtm-freq = <1608000>;
rockchip,pvtm-volt = <750000>;
rockchip,pvtm-ref-temp = <25>;
rockchip,pvtm-temp-prop = <270 270>;
rockchip,pvtm-thermal-zone = "soc-thermal";
rockchip,grf = <&bigcore0_grf>;
volt-mem-read-margin = <
855000 1
765000 2
675000 3
495000 4
>;
low-volt-mem-read-margin = <4>;
intermediate-threshold-freq = <1008000>; /* KHz */
rockchip,idle-threshold-freq = <2400000>; /* KHz */
rockchip,reboot-freq = <1800000>; /* KHz */
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <0>;
rockchip,low-temp-min-volt = <725000>;
opp-408000000 {
opp-hz = /bits/ 64 <408000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
opp-suspend;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-816000000 {
opp-hz = /bits/ 64 <816000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-1008000000 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-1200000000 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-1416000000 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <700000 700000 1000000>,
<700000 700000 1000000>;
opp-microvolt-L1 = <687500 687500 1000000>,
<687500 687500 1000000>;
opp-microvolt-L2 = <675000 675000 1000000>,
<675000 675000 1000000>;
opp-microvolt-L3 = <675000 675000 1000000>,
<675000 675000 1000000>;
opp-microvolt-L4 = <675000 675000 1000000>,
<675000 675000 1000000>;
opp-microvolt-L5 = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-1608000000 {
opp-hz = /bits/ 64 <1608000000>;
opp-microvolt = <750000 750000 1000000>,
<750000 750000 1000000>;
opp-microvolt-L1 = <737500 737500 1000000>,
<737500 737500 1000000>;
opp-microvolt-L2 = <725000 725000 1000000>,
<725000 725000 1000000>;
opp-microvolt-L3 = <712500 712500 1000000>,
<712500 712500 1000000>;
opp-microvolt-L4 = <700000 700000 1000000>,
<700000 700000 1000000>;
opp-microvolt-L5 = <700000 700000 1000000>,
<700000 700000 1000000>;
clock-latency-ns = <40000>;
};
opp-1800000000 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <825000 825000 1000000>,
<825000 825000 1000000>;
opp-microvolt-L1 = <812500 812500 1000000>,
<812500 812500 1000000>;
opp-microvolt-L2 = <800000 800000 1000000>,
<800000 800000 1000000>;
opp-microvolt-L3 = <787500 787500 1000000>,
<787500 787500 1000000>;
opp-microvolt-L4 = <775000 775000 1000000>,
<775000 775000 1000000>;
opp-microvolt-L5 = <762500 762500 1000000>,
<762500 762500 1000000>;
clock-latency-ns = <40000>;
};
opp-2016000000 {
opp-hz = /bits/ 64 <2016000000>;
opp-microvolt = <900000 900000 1000000>,
<900000 900000 1000000>;
opp-microvolt-L1 = <887500 887500 1000000>,
<887500 887500 1000000>;
opp-microvolt-L2 = <875000 875000 1000000>,
<875000 875000 1000000>;
opp-microvolt-L3 = <862500 862500 1000000>,
<862500 862500 1000000>;
opp-microvolt-L4 = <850000 850000 1000000>,
<850000 850000 1000000>;
opp-microvolt-L5 = <837500 837500 1000000>,
<837500 837500 1000000>;
clock-latency-ns = <40000>;
};
opp-2208000000 {
opp-hz = /bits/ 64 <2208000000>;
opp-microvolt = <975000 975000 1000000>,
<975000 975000 1000000>;
opp-microvolt-L2 = <962500 962500 1000000>,
<962500 962500 1000000>;
opp-microvolt-L3 = <950000 950000 1000000>,
<950000 950000 1000000>;
opp-microvolt-L4 = <925000 925000 1000000>,
<925000 925000 1000000>;
opp-microvolt-L5 = <912500 912500 1000000>,
<912500 912500 1000000>;
clock-latency-ns = <40000>;
};
opp-2400000000 {
opp-hz = /bits/ 64 <2400000000>;
opp-microvolt = <1000000 1000000 1000000>,
<1000000 1000000 1000000>;
opp-microvolt-L3 = <987500 987500 1000000>,
<987500 987500 1000000>;
opp-microvolt-L4 = <975000 975000 1000000>,
<975000 975000 1000000>;
opp-microvolt-L5 = <962500 962500 1000000>,
<962500 962500 1000000>;
clock-latency-ns = <40000>;
};
};
CPU大核(CPU6-CPU7)的频率电压表配置
cluster2_opp_table: cluster2-opp-table {
compatible = "operating-points-v2";
opp-shared;
nvmem-cells = <&cpub1_leakage>;
nvmem-cell-names = "leakage";
rockchip,pvtm-voltage-sel = <
0 1640 0
1641 1675 1
1676 1710 2
1711 1743 3
1744 1776 4
1777 9999 5
>;
rockchip,pvtm-pvtpll;
rockchip,pvtm-offset = <0x18>;
rockchip,pvtm-sample-time = <1100>;
rockchip,pvtm-freq = <1608000>;
rockchip,pvtm-volt = <750000>;
rockchip,pvtm-ref-temp = <25>;
rockchip,pvtm-temp-prop = <270 270>;
rockchip,pvtm-thermal-zone = "soc-thermal";
rockchip,grf = <&bigcore1_grf>;
volt-mem-read-margin = <
855000 1
765000 2
675000 3
495000 4
>;
low-volt-mem-read-margin = <4>;
intermediate-threshold-freq = <1008000>; /* KHz */
rockchip,idle-threshold-freq = <2400000>; /* KHz */
rockchip,reboot-freq = <1800000>; /* KHz */
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <0>;
rockchip,low-temp-min-volt = <725000>;
opp-408000000 {
opp-hz = /bits/ 64 <408000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
opp-suspend;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-816000000 {
opp-hz = /bits/ 64 <816000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-1008000000 {
opp-hz = /bits/ 64 <1008000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-1200000000 {
opp-hz = /bits/ 64 <1200000000>;
opp-microvolt = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-1416000000 {
opp-hz = /bits/ 64 <1416000000>;
opp-microvolt = <700000 700000 1000000>,
<700000 700000 1000000>;
opp-microvolt-L1 = <687500 687500 1000000>,
<687500 687500 1000000>;
opp-microvolt-L2 = <675000 675000 1000000>,
<675000 675000 1000000>;
opp-microvolt-L3 = <675000 675000 1000000>,
<675000 675000 1000000>;
opp-microvolt-L4 = <675000 675000 1000000>,
<675000 675000 1000000>;
opp-microvolt-L5 = <675000 675000 1000000>,
<675000 675000 1000000>;
clock-latency-ns = <40000>;
};
opp-1608000000 {
opp-hz = /bits/ 64 <1608000000>;
opp-microvolt = <750000 750000 1000000>,
<750000 750000 1000000>;
opp-microvolt-L1 = <737500 737500 1000000>,
<737500 737500 1000000>;
opp-microvolt-L2 = <725000 725000 1000000>,
<725000 725000 1000000>;
opp-microvolt-L3 = <712500 712500 1000000>,
<712500 712500 1000000>;
opp-microvolt-L4 = <700000 700000 1000000>,
<700000 700000 1000000>;
opp-microvolt-L5 = <700000 700000 1000000>,
<700000 700000 1000000>;
clock-latency-ns = <40000>;
};
opp-1800000000 {
opp-hz = /bits/ 64 <1800000000>;
opp-microvolt = <825000 825000 1000000>,
<825000 825000 1000000>;
opp-microvolt-L1 = <812500 812500 1000000>,
<812500 812500 1000000>;
opp-microvolt-L2 = <800000 800000 1000000>,
<800000 800000 1000000>;
opp-microvolt-L3 = <787500 787500 1000000>,
<787500 787500 1000000>;
opp-microvolt-L4 = <775000 775000 1000000>,
<775000 775000 1000000>;
opp-microvolt-L5 = <762500 762500 1000000>,
<762500 762500 1000000>;
clock-latency-ns = <40000>;
};
opp-2016000000 {
opp-hz = /bits/ 64 <2016000000>;
opp-microvolt = <900000 900000 1000000>,
<900000 900000 1000000>;
opp-microvolt-L1 = <887500 887500 1000000>,
<887500 887500 1000000>;
opp-microvolt-L2 = <875000 875000 1000000>,
<875000 875000 1000000>;
opp-microvolt-L3 = <862500 862500 1000000>,
<862500 862500 1000000>;
opp-microvolt-L4 = <850000 850000 1000000>,
<850000 850000 1000000>;
opp-microvolt-L5 = <837500 837500 1000000>,
<837500 837500 1000000>;
clock-latency-ns = <40000>;
};
opp-2208000000 {
opp-hz = /bits/ 64 <2208000000>;
opp-microvolt = <975000 975000 1000000>,
<975000 975000 1000000>;
opp-microvolt-L2 = <962500 962500 1000000>,
<962500 962500 1000000>;
opp-microvolt-L3 = <950000 950000 1000000>,
<950000 950000 1000000>;
opp-microvolt-L4 = <925000 925000 1000000>,
<925000 925000 1000000>;
opp-microvolt-L5 = <912500 912500 1000000>,
<912500 912500 1000000>;
clock-latency-ns = <40000>;
};
opp-2400000000 {
opp-hz = /bits/ 64 <2400000000>;
opp-microvolt = <1000000 1000000 1000000>,
<1000000 1000000 1000000>;
opp-microvolt-L3 = <987500 987500 1000000>,
<987500 987500 1000000>;
opp-microvolt-L4 = <975000 975000 1000000>,
<975000 975000 1000000>;
opp-microvolt-L5 = <962500 962500 1000000>,
<962500 962500 1000000>;
clock-latency-ns = <40000>;
};
};
GPU的频率电压表配置
gpu_opp_table: gpu-opp-table {
compatible = "operating-points-v2";
nvmem-cells = <&gpu_leakage>;
nvmem-cell-names = "leakage";
rockchip,pvtm-voltage-sel = <
0 815 0
816 835 1
836 860 2
861 885 3
886 9999 4
>;
rockchip,pvtm-pvtpll;
rockchip,pvtm-offset = <0x1c>;
rockchip,pvtm-sample-time = <1100>;
rockchip,pvtm-freq = <800000>;
rockchip,pvtm-volt = <750000>;
rockchip,pvtm-ref-temp = <25>;
rockchip,pvtm-temp-prop = <(-135) (-135)>;
rockchip,pvtm-thermal-zone = "gpu-thermal";
clocks = <&cru CLK_GPU>;
clock-names = "clk";
rockchip,grf = <&gpu_grf>;
volt-mem-read-margin = <
855000 1
765000 2
675000 3
495000 4
>;
low-volt-mem-read-margin = <4>;
intermediate-threshold-freq = <400000>; /* KHz */
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <0>;
rockchip,low-temp-min-volt = <725000>;
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
opp-microvolt = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-500000000 {
opp-hz = /bits/ 64 <500000000>;
opp-microvolt = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-700000000 {
opp-hz = /bits/ 64 <700000000>;
opp-microvolt = <700000 700000 850000>,
<700000 700000 850000>;
opp-microvolt-L1 = <687500 687500 850000>,
<687500 687500 850000>;
opp-microvolt-L2 = <675000 675000 850000>,
<675000 675000 850000>;
opp-microvolt-L3 = <675000 675000 850000>,
<675000 675000 850000>;
opp-microvolt-L4 = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <750000 750000 850000>,
<750000 750000 850000>;
opp-microvolt-L1 = <737500 737500 850000>,
<737500 737500 850000>;
opp-microvolt-L2 = <725000 725000 850000>,
<725000 725000 850000>;
opp-microvolt-L3 = <712500 712500 850000>,
<712500 712500 850000>;
opp-microvolt-L4 = <700000 700000 850000>,
<700000 700000 850000>;
};
opp-900000000 {
opp-hz = /bits/ 64 <900000000>;
opp-microvolt = <800000 800000 850000>,
<800000 800000 850000>;
opp-microvolt-L1 = <787500 787500 850000>,
<787500 787500 850000>;
opp-microvolt-L2 = <775000 775000 850000>,
<775000 775000 850000>;
opp-microvolt-L3 = <762500 762500 850000>,
<762500 762500 850000>;
opp-microvolt-L4 = <750000 750000 850000>,
<750000 750000 850000>;
};
opp-1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <850000 850000 850000>,
<850000 850000 850000>;
opp-microvolt-L1 = <837500 837500 850000>,
<837500 837500 850000>;
opp-microvolt-L2 = <825000 825000 850000>,
<825000 825000 850000>;
opp-microvolt-L3 = <812500 812500 850000>,
<812500 812500 850000>;
opp-microvolt-L4 = <800000 800000 850000>,
<800000 800000 850000>;
};
};
NPU的频率电压表配置
npu_opp_table: npu-opp-table {
compatible = "operating-points-v2";
nvmem-cells = <&npu_leakage>;
nvmem-cell-names = "leakage";
rockchip,pvtm-voltage-sel = <
0 815 0
816 835 1
836 860 2
861 885 3
886 9999 4
>;
rockchip,pvtm-pvtpll;
rockchip,pvtm-offset = <0x50>;
rockchip,pvtm-sample-time = <1100>;
rockchip,pvtm-freq = <800000>;
rockchip,pvtm-volt = <750000>;
rockchip,pvtm-ref-temp = <25>;
rockchip,pvtm-temp-prop = <(-113) (-113)>;
rockchip,pvtm-thermal-zone = "npu-thermal";
clocks = <&cru PCLK_NPU_GRF>;
clock-names = "pclk";
rockchip,grf = <&npu_grf>;
volt-mem-read-margin = <
855000 1
765000 2
675000 3
495000 4
>;
low-volt-read-margin = <4>;
intermediate-threshold-freq = <500000>; /* KHz*/
rockchip,init-freq = <1000000>; /* KHz */
rockchip,temp-hysteresis = <5000>;
rockchip,low-temp = <0>;
rockchip,low-temp-min-volt = <725000>;
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
opp-microvolt = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-500000000 {
opp-hz = /bits/ 64 <500000000>;
opp-microvolt = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-600000000 {
opp-hz = /bits/ 64 <600000000>;
opp-microvolt = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-700000000 {
opp-hz = /bits/ 64 <700000000>;
opp-microvolt = <700000 700000 850000>,
<700000 700000 850000>;
opp-microvolt-L2 = <687500 687500 850000>,
<687500 687500 850000>;
opp-microvolt-L3 = <675000 675000 850000>,
<675000 675000 850000>;
opp-microvolt-L4 = <675000 675000 850000>,
<675000 675000 850000>;
};
opp-800000000 {
opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <750000 750000 850000>,
<750000 750000 850000>;
opp-microvolt-L1 = <737500 737500 850000>,
<737500 737500 850000>;
opp-microvolt-L2 = <725000 725000 850000>,
<725000 725000 850000>;
opp-microvolt-L3 = <712500 712500 850000>,
<712500 712500 850000>;
opp-microvolt-L4 = <700000 700000 850000>,
<700000 700000 850000>;
};
opp-900000000 {
opp-hz = /bits/ 64 <900000000>;
opp-microvolt = <800000 800000 850000>,
<800000 800000 850000>;
opp-microvolt-L1 = <787500 787500 850000>,
<787500 787500 850000>;
opp-microvolt-L2 = <775000 775000 850000>,
<775000 775000 850000>;
opp-microvolt-L3 = <762500 762500 850000>,
<762500 762500 850000>;
opp-microvolt-L4 = <750000 750000 850000>,
<750000 750000 850000>;
};
opp-1000000000 {
opp-hz = /bits/ 64 <1000000000>;
opp-microvolt = <850000 850000 850000>,
<850000 850000 850000>;
opp-microvolt-L1 = <837500 837500 850000>,
<837500 837500 850000>;
opp-microvolt-L2 = <825000 825000 850000>,
<825000 825000 850000>;
opp-microvolt-L3 = <812500 812500 850000>,
<812500 812500 850000>;
opp-microvolt-L4 = <800000 800000 850000>,
<800000 800000 850000>;
};
};
说明
- 频率电压表不能修改电压,每个频点对应的电压都是固定的
- 只能删除某个频点,去掉频点的方法:
比如要删除cpu大核CPU4-CPU5的2.4G的频点,则在产品的dts上面加上如下修改:
&cluster1_opp_table{
/delete-node/ opp-2400000000;
};
删除GPU的1G的频点:
&gpu_opp_table{
/delete-node/ opp-1000000000;
};
其他频点类似。
- DDR频点的修改比较特殊,不能在dts里面修改,需要在loader的ddr bin文件中修改,可以参考另外一片博文有专门介绍
Rockchip RK3588 使用ddrbin_tool 修改DDR频率