mt7622: remove 300 MHz from dts
authorJohn Audia <therealgraysky@proton.me>
Wed, 6 Jul 2022 15:49:50 +0000 (11:49 -0400)
committerChristian Marangi <ansuelsmth@gmail.com>
Tue, 19 Jul 2022 12:35:18 +0000 (14:35 +0200)
Due to the bug described here[1], remove the 300 MHz clock to avoid a low
voltage condition that can cause a hang when rebooting the RT3200/E8450.

This solution is probably better than the script-based work-around[2].

1. https://forum.openwrt.org/t/belkin-rt3200-linksys-e8450-wifi-ax-discussion/94302/1490
2. https://github.com/openwrt/openwrt/pull/5025

Signed-off-by: John Audia <therealgraysky@proton.me>
Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
Tested-by: John Audia <therealgraysky@proton.me>
(cherry picked from commit d0d6b8e1833c587d0c50cac4f6324aa93b0bc8fc)
[ fix the conflict by apply the patch to kernel 5.10 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
target/linux/mediatek/patches-5.10/722-remove-300Hz-to-prevent-freeze.patch [new file with mode: 0644]

diff --git a/target/linux/mediatek/patches-5.10/722-remove-300Hz-to-prevent-freeze.patch b/target/linux/mediatek/patches-5.10/722-remove-300Hz-to-prevent-freeze.patch
new file mode 100644 (file)
index 0000000..5206949
--- /dev/null
@@ -0,0 +1,25 @@
+--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
++++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
+@@ -23,11 +23,17 @@
+       cpu_opp_table: opp-table {
+               compatible = "operating-points-v2";
+               opp-shared;
+-              opp-300000000 {
+-                      opp-hz = /bits/ 64 <300000000>;
+-                      opp-microvolt = <950000>;
+-              };
+-
++              /* Due to the bug described at the link below, remove the 300 MHz clock to avoid a low
++               * voltage condition that can cause a hang when rebooting the RT3200/E8450.
++               *
++               * https://forum.openwrt.org/t/belkin-rt3200-linksys-e8450-wifi-ax-discussion/94302/1490
++               *
++               * opp-300000000 {
++               *      opp-hz = /bits/ 64 <300000000>;
++               *      opp-microvolt = <950000>;
++               * };
++               *
++               */
+               opp-437500000 {
+                       opp-hz = /bits/ 64 <437500000>;
+                       opp-microvolt = <1000000>;