diff options
author | Shane Synan <digitalcircuit36939@gmail.com> | 2021-08-19 14:22:48 -0400 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2021-08-21 23:54:31 +0200 |
commit | 9baca410644b3f0fe94e2d5b6558c9c4bf61e712 (patch) | |
tree | 74e5334746343fd6f113a15022f463143882ba2e /target/linux/ipq806x/files/arch | |
parent | c23bc5032f7deb3615d4e8bddf37934f8252ab3e (diff) | |
download | upstream-9baca410644b3f0fe94e2d5b6558c9c4bf61e712.tar.gz upstream-9baca410644b3f0fe94e2d5b6558c9c4bf61e712.tar.bz2 upstream-9baca410644b3f0fe94e2d5b6558c9c4bf61e712.zip |
ipq806x: fix min<>target opp-microvolt DTS mixup
Rearrange all voltage triplets for "opp_table0" to match the
specifications. "opp-microvolt" and "opp-microvolt-<name>" triplets
are in order of <target min max>, and NOT <min target max>.
Previously, the CPU would *always* spend its time at the "minimum"
voltage, ignoring the actual intended target. This is a regression
from previous behavior.
On an NBG6817 with a Qualcomm CPU of PVS bin #2...
(see &opp_table0 -> opp-1725000000 -> opp-microvolt-speed0-pvs2-v0)
* Before:
/usr/bin/tail -n +1 /sys/kernel/debug/opp/cpu0/opp\:1725000000/supply-0/u_volt_*
==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_max <==
1260000
==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_min <==
1200000
==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_target <==
1140000
* After:
/usr/bin/tail -n +1 /sys/kernel/debug/opp/cpu0/opp\:1725000000/supply-0/u_volt_*
==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_max <==
1260000
==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_min <==
1140000
==> /sys/kernel/debug/opp/cpu0/opp:1725000000/supply-0/u_volt_target <==
1200000
To check voltages and frequencies at run time, use...
/bin/cat /sys/kernel/debug/regulator/regulator_summary &&
/bin/cat /sys/kernel/debug/clk/clk_summary | grep "hfpll"
See
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/opp/opp.txt?h=v5.4.142#n91
Fixes: 1e25423be8ac ("ipq806x: refresh dtsi patches")
Signed-off-by: Shane Synan <digitalcircuit36939@gmail.com>
Reviewed-by: Ansuel Smith <ansuelsmth@gmail.com>
[commit message style cleanup, another kernel refresh]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/ipq806x/files/arch')
-rw-r--r-- | target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062.dtsi | 35 | ||||
-rw-r--r-- | target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi | 87 |
2 files changed, 64 insertions, 58 deletions
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062.dtsi index 4b007130aa..f1681f4c02 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062.dtsi +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8062.dtsi @@ -45,32 +45,35 @@ /delete-node/opp-1200000000; /delete-node/opp-1400000000; + /* + * Voltage thresholds are <target min max> + */ opp-384000000 { - opp-microvolt-speed0-pvs0-v0 = <902500 950000 997500>; - opp-microvolt-speed0-pvs1-v0 = <855000 900000 945000>; - opp-microvolt-speed0-pvs2-v0 = <807500 850000 892500>; - opp-microvolt-speed0-pvs3-v0 = <760000 800000 840000>; + opp-microvolt-speed0-pvs0-v0 = <950000 902500 997500>; + opp-microvolt-speed0-pvs1-v0 = <900000 855000 945000>; + opp-microvolt-speed0-pvs2-v0 = <850000 807500 892500>; + opp-microvolt-speed0-pvs3-v0 = <800000 760000 840000>; }; opp-600000000 { - opp-microvolt-speed0-pvs0-v0 = <950000 1000000 1050000>; - opp-microvolt-speed0-pvs1-v0 = <945000 950000 955000>; - opp-microvolt-speed0-pvs2-v0 = <895000 900000 905000>; - opp-microvolt-speed0-pvs3-v0 = <845000 850000 855000>; + opp-microvolt-speed0-pvs0-v0 = <1000000 950000 1050000>; + opp-microvolt-speed0-pvs1-v0 = <950000 945000 955000>; + opp-microvolt-speed0-pvs2-v0 = <900000 895000 905000>; + opp-microvolt-speed0-pvs3-v0 = <850000 845000 855000>; }; opp-800000000 { - opp-microvolt-speed0-pvs0-v0 = <997500 1050000 1102500>; - opp-microvolt-speed0-pvs1-v0 = < 995000 1000000 1005000>; - opp-microvolt-speed0-pvs2-v0 = < 945000 950000 955000>; - opp-microvolt-speed0-pvs3-v0 = < 895000 900000 905000>; + opp-microvolt-speed0-pvs0-v0 = <1050000 997500 1102500>; + opp-microvolt-speed0-pvs1-v0 = <1000000 995000 1005000>; + opp-microvolt-speed0-pvs2-v0 = <950000 945000 955000>; + opp-microvolt-speed0-pvs3-v0 = <900000 895000 905000>; }; opp-1000000000 { - opp-microvolt-speed0-pvs0-v0 = <1045000 1100000 1155000>; - opp-microvolt-speed0-pvs1-v0 = <997500 1050000 1102500>; - opp-microvolt-speed0-pvs2-v0 = < 995000 1000000 1005000>; - opp-microvolt-speed0-pvs3-v0 = < 945000 950000 955000>; + opp-microvolt-speed0-pvs0-v0 = <1100000 1045000 1155000>; + opp-microvolt-speed0-pvs1-v0 = <1050000 997500 1102500>; + opp-microvolt-speed0-pvs2-v0 = <1000000 995000 1005000>; + opp-microvolt-speed0-pvs3-v0 = <950000 945000 955000>; }; }; diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi index a0312686a0..c70a5cbaed 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065.dtsi @@ -97,66 +97,69 @@ /delete-node/opp-1200000000; + /* + * Voltage thresholds are <target min max> + */ opp-384000000 { - opp-microvolt-speed0-pvs0-v0 = <926250 975000 1023750>; - opp-microvolt-speed0-pvs1-v0 = <902500 950000 997500>; - opp-microvolt-speed0-pvs2-v0 = <878750 925000 971250>; - opp-microvolt-speed0-pvs3-v0 = <855000 900000 945000>; - opp-microvolt-speed0-pvs4-v0 = <831250 875000 918750>; - opp-microvolt-speed0-pvs5-v0 = <783750 825000 866250>; - opp-microvolt-speed0-pvs6-v0 = <736250 775000 813750>; + opp-microvolt-speed0-pvs0-v0 = <975000 926250 1023750>; + opp-microvolt-speed0-pvs1-v0 = <950000 902500 997500>; + opp-microvolt-speed0-pvs2-v0 = <925000 878750 971250>; + opp-microvolt-speed0-pvs3-v0 = <900000 855000 945000>; + opp-microvolt-speed0-pvs4-v0 = <875000 831250 918750>; + opp-microvolt-speed0-pvs5-v0 = <825000 783750 866250>; + opp-microvolt-speed0-pvs6-v0 = <775000 736250 813750>; }; opp-600000000 { - opp-microvolt-speed0-pvs0-v0 = <950000 1000000 1050000>; - opp-microvolt-speed0-pvs1-v0 = <926250 975000 1023750>; - opp-microvolt-speed0-pvs2-v0 = <902500 950000 997500>; - opp-microvolt-speed0-pvs3-v0 = <878750 925000 971250>; - opp-microvolt-speed0-pvs4-v0 = <855000 900000 945000>; - opp-microvolt-speed0-pvs5-v0 = <807500 850000 892500>; - opp-microvolt-speed0-pvs6-v0 = <760000 800000 840000>; + opp-microvolt-speed0-pvs0-v0 = <1000000 950000 1050000>; + opp-microvolt-speed0-pvs1-v0 = <975000 926250 1023750>; + opp-microvolt-speed0-pvs2-v0 = <950000 902500 997500>; + opp-microvolt-speed0-pvs3-v0 = <925000 878750 971250>; + opp-microvolt-speed0-pvs4-v0 = <900000 855000 945000>; + opp-microvolt-speed0-pvs5-v0 = <850000 807500 892500>; + opp-microvolt-speed0-pvs6-v0 = <800000 760000 840000>; }; opp-800000000 { - opp-microvolt-speed0-pvs0-v0 = <997500 1050000 1102500>; - opp-microvolt-speed0-pvs1-v0 = <973750 1025000 1076250>; - opp-microvolt-speed0-pvs2-v0 = <950000 1000000 1050000>; - opp-microvolt-speed0-pvs3-v0 = <926250 975000 1023750>; - opp-microvolt-speed0-pvs4-v0 = <902500 950000 997500>; - opp-microvolt-speed0-pvs5-v0 = <855000 900000 945000>; - opp-microvolt-speed0-pvs6-v0 = <807500 850000 892500>; + opp-microvolt-speed0-pvs0-v0 = <1050000 997500 1102500>; + opp-microvolt-speed0-pvs1-v0 = <1025000 973750 1076250>; + opp-microvolt-speed0-pvs2-v0 = <1000000 950000 1050000>; + opp-microvolt-speed0-pvs3-v0 = <975000 926250 1023750>; + opp-microvolt-speed0-pvs4-v0 = <950000 902500 997500>; + opp-microvolt-speed0-pvs5-v0 = <900000 855000 945000>; + opp-microvolt-speed0-pvs6-v0 = <850000 807500 892500>; }; opp-1000000000 { - opp-microvolt-speed0-pvs0-v0 = <1045000 1100000 1155000>; - opp-microvolt-speed0-pvs1-v0 = <1021250 1075000 1128750>; - opp-microvolt-speed0-pvs2-v0 = <997500 1050000 1102500>; - opp-microvolt-speed0-pvs3-v0 = <973750 1025000 1076250>; - opp-microvolt-speed0-pvs4-v0 = <950000 1000000 1050000>; - opp-microvolt-speed0-pvs5-v0 = <902500 950000 997500>; - opp-microvolt-speed0-pvs6-v0 = <855000 900000 945000>; + opp-microvolt-speed0-pvs0-v0 = <1100000 1045000 1155000>; + opp-microvolt-speed0-pvs1-v0 = <1075000 1021250 1128750>; + opp-microvolt-speed0-pvs2-v0 = <1050000 997500 1102500>; + opp-microvolt-speed0-pvs3-v0 = <1025000 973750 1076250>; + opp-microvolt-speed0-pvs4-v0 = <1000000 950000 1050000>; + opp-microvolt-speed0-pvs5-v0 = <950000 902500 997500>; + opp-microvolt-speed0-pvs6-v0 = <900000 855000 945000>; }; opp-1400000000 { - opp-microvolt-speed0-pvs0-v0 = <1116250 1175000 1233750>; - opp-microvolt-speed0-pvs1-v0 = <1092500 1150000 1207500>; - opp-microvolt-speed0-pvs2-v0 = <1068750 1125000 1181250>; - opp-microvolt-speed0-pvs3-v0 = <1045000 1100000 1155000>; - opp-microvolt-speed0-pvs4-v0 = <1021250 1075000 1128750>; - opp-microvolt-speed0-pvs5-v0 = <973750 1025000 1076250>; - opp-microvolt-speed0-pvs6-v0 = <926250 975000 1023750>; + opp-microvolt-speed0-pvs0-v0 = <1175000 1116250 1233750>; + opp-microvolt-speed0-pvs1-v0 = <1150000 1092500 1207500>; + opp-microvolt-speed0-pvs2-v0 = <1125000 1068750 1181250>; + opp-microvolt-speed0-pvs3-v0 = <1100000 1045000 1155000>; + opp-microvolt-speed0-pvs4-v0 = <1075000 1021250 1128750>; + opp-microvolt-speed0-pvs5-v0 = <1025000 973750 1076250>; + opp-microvolt-speed0-pvs6-v0 = <975000 926250 1023750>; opp-level = <1>; }; opp-1725000000 { opp-hz = /bits/ 64 <1725000000>; - opp-microvolt-speed0-pvs0-v0 = <1199375 1262500 1325625>; - opp-microvolt-speed0-pvs1-v0 = <1163750 1225000 1286250>; - opp-microvolt-speed0-pvs2-v0 = <1140000 1200000 1260000>; - opp-microvolt-speed0-pvs3-v0 = <1116250 1175000 1233750>; - opp-microvolt-speed0-pvs4-v0 = <1092500 1150000 1207500>; - opp-microvolt-speed0-pvs5-v0 = <1045000 1100000 1155000>; - opp-microvolt-speed0-pvs6-v0 = <997500 1050000 1102500>; + opp-microvolt-speed0-pvs0-v0 = <1262500 1199375 1325625>; + opp-microvolt-speed0-pvs1-v0 = <1225000 1163750 1286250>; + opp-microvolt-speed0-pvs2-v0 = <1200000 1140000 1260000>; + opp-microvolt-speed0-pvs3-v0 = <1175000 1116250 1233750>; + opp-microvolt-speed0-pvs4-v0 = <1150000 1092500 1207500>; + opp-microvolt-speed0-pvs5-v0 = <1100000 1045000 1155000>; + opp-microvolt-speed0-pvs6-v0 = <1050000 997500 1102500>; opp-supported-hw = <0x1>; clock-latency-ns = <100000>; opp-level = <2>; |