summaryrefslogtreecommitdiff
path: root/firmware/target/arm/pp/system-pp5002.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/pp/system-pp5002.c')
-rw-r--r--firmware/target/arm/pp/system-pp5002.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/firmware/target/arm/pp/system-pp5002.c b/firmware/target/arm/pp/system-pp5002.c
index 3186d3739a..388f962fce 100644
--- a/firmware/target/arm/pp/system-pp5002.c
+++ b/firmware/target/arm/pp/system-pp5002.c
@@ -24,6 +24,11 @@
24#include "adc-target.h" 24#include "adc-target.h"
25#include "button-target.h" 25#include "button-target.h"
26 26
27#if defined(HAVE_ADJUSTABLE_CPU_FREQ) && (NUM_CORES > 1)
28#include "corelock.h"
29static struct corelock cpufreq_cl SHAREDBSS_ATTR;
30#endif
31
27extern void TIMER1(void); 32extern void TIMER1(void);
28extern void TIMER2(void); 33extern void TIMER2(void);
29 34
@@ -122,6 +127,18 @@ static void ipod_init_cache(void)
122} 127}
123 128
124#ifdef HAVE_ADJUSTABLE_CPU_FREQ 129#ifdef HAVE_ADJUSTABLE_CPU_FREQ
130#if NUM_CORES > 1
131void set_cpu_frequency__lock(void)
132{
133 corelock_lock(&cpufreq_cl);
134}
135
136void set_cpu_frequency__unlock(void)
137{
138 corelock_unlock(&cpufreq_cl);
139}
140#endif /* NUM_CORES > 1 */
141
125void set_cpu_frequency(long frequency) 142void set_cpu_frequency(long frequency)
126#else 143#else
127static void pp_set_cpu_frequency(long frequency) 144static void pp_set_cpu_frequency(long frequency)
@@ -193,7 +210,7 @@ void system_init(void)
193 210
194#ifdef HAVE_ADJUSTABLE_CPU_FREQ 211#ifdef HAVE_ADJUSTABLE_CPU_FREQ
195#if NUM_CORES > 1 212#if NUM_CORES > 1
196 cpu_boost_init(); 213 corelock_init(&cpufreq_cl);
197#endif 214#endif
198#else 215#else
199 pp_set_cpu_frequency(CPUFREQ_MAX); 216 pp_set_cpu_frequency(CPUFREQ_MAX);