2
0
forked from Ivasoft/openwrt

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: 1e25423be8 ("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>
This commit is contained in:
Shane Synan
2021-08-19 14:22:48 -04:00
committed by Adrian Schmutzler
parent c23bc5032f
commit 9baca41064
5 changed files with 105 additions and 96 deletions

View File

@@ -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>;