summaryrefslogtreecommitdiff
path: root/target/linux/ar71xx/patches-4.4/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx/patches-4.4/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch')
-rw-r--r--target/linux/ar71xx/patches-4.4/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-4.4/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch b/target/linux/ar71xx/patches-4.4/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch
new file mode 100644
index 0000000..90149ef
--- /dev/null
+++ b/target/linux/ar71xx/patches-4.4/634-MIPS-ath79-ar724x-clock-calculation-fixes.patch
@@ -0,0 +1,22 @@
+--- a/arch/mips/ath79/clock.c
++++ b/arch/mips/ath79/clock.c
+@@ -26,7 +26,7 @@
+ #include "common.h"
+
+ #define AR71XX_BASE_FREQ 40000000
+-#define AR724X_BASE_FREQ 5000000
++#define AR724X_BASE_FREQ 40000000
+ #define AR913X_BASE_FREQ 5000000
+
+ static struct clk *clks[3];
+@@ -103,8 +103,8 @@ static void __init ar724x_clocks_init(vo
+ div = ((pll >> AR724X_PLL_FB_SHIFT) & AR724X_PLL_FB_MASK);
+ freq = div * ref_rate;
+
+- div = ((pll >> AR724X_PLL_REF_DIV_SHIFT) & AR724X_PLL_REF_DIV_MASK);
+- freq *= div;
++ div = ((pll >> AR724X_PLL_REF_DIV_SHIFT) & AR724X_PLL_REF_DIV_MASK) * 2;
++ freq /= div;
+
+ cpu_rate = freq;
+