1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c
index e3e4199..f6d65e8 100644
--- a/firmware/target/arm/as3525/system-as3525.c
+++ b/firmware/target/arm/as3525/system-as3525.c
@@ -450,7 +450,7 @@ void set_cpu_frequency(long frequency)
     }
 }
 #else   /* as3525v2  */
-void set_cpu_frequency(long frequency)
+void _set_cpu_frequency(long frequency)
 {
     int oldstatus = disable_irq_save();
     int delay;
@@ -488,6 +488,13 @@ void set_cpu_frequency(long frequency)

     restore_irq(oldstatus);
 }
+
+void set_cpu_frequency(long frequency)
+{
+    void (* func)(long) = (uintptr_t)_set_cpu_frequency + 0x10000000;
+    func(frequency);
+}
+
 #endif

 #endif /* HAVE_ADJUSTABLE_CPU_FREQ */