summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bavin <pondlife@pondlife.me>2007-10-02 07:54:50 +0000
committerSteve Bavin <pondlife@pondlife.me>2007-10-02 07:54:50 +0000
commitc90c18ea67b4f1f01befe871dd82f8a6b623a4d8 (patch)
tree7861dfdf17465d99fb811ab66f7b591088644e99
parent15b7321fe1345a9efd296fe135f19e1da45f0e7c (diff)
downloadrockbox-c90c18ea67b4f1f01befe871dd82f8a6b623a4d8.zip
rockbox-c90c18ea67b4f1f01befe871dd82f8a6b623a4d8.tar.gz
rockbox-c90c18ea67b4f1f01befe871dd82f8a6b623a4d8.tar.bz2
rockbox-c90c18ea67b4f1f01befe871dd82f8a6b623a4d8.tar.xz
Thanks to LinusN, fix Coldfire bootloaders not booting - FS#7533
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14949 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/coldfire/iaudio/system-iaudio.c9
-rw-r--r--firmware/target/coldfire/iriver/system-iriver.c9
-rw-r--r--firmware/target/coldfire/system-coldfire.c4
-rw-r--r--firmware/target/coldfire/system-target.h4
4 files changed, 18 insertions, 8 deletions
diff --git a/firmware/target/coldfire/iaudio/system-iaudio.c b/firmware/target/coldfire/iaudio/system-iaudio.c
index d934577..4e32d36 100644
--- a/firmware/target/coldfire/iaudio/system-iaudio.c
+++ b/firmware/target/coldfire/iaudio/system-iaudio.c
@@ -24,8 +24,6 @@
#include "timer.h"
#include "pcf50606.h"
-#ifdef HAVE_ADJUSTABLE_CPU_FREQ
-
/* Settings for all possible clock frequencies (with properly working timers)
*
* xxx_REFRESH_TIMER below
@@ -55,8 +53,13 @@
#define RECALC_DELAYS(f) \
pcf50606_i2c_recalc_delay(f)
+#ifdef HAVE_ADJUSTABLE_CPU_FREQ
void set_cpu_frequency (long) __attribute__ ((section (".icode")));
void set_cpu_frequency(long frequency)
+#else
+void cf_set_cpu_frequency (long) __attribute__ ((section (".icode")));
+void cf_set_cpu_frequency(long frequency)
+#endif
{
switch(frequency)
{
@@ -115,5 +118,3 @@ void set_cpu_frequency(long frequency)
break;
}
}
-
-#endif /* HAVE_ADJUSTABLE_CPU_FREQ */
diff --git a/firmware/target/coldfire/iriver/system-iriver.c b/firmware/target/coldfire/iriver/system-iriver.c
index 184f76c..e5abe27 100644
--- a/firmware/target/coldfire/iriver/system-iriver.c
+++ b/firmware/target/coldfire/iriver/system-iriver.c
@@ -24,8 +24,6 @@
#include "timer.h"
#include "pcf50606.h"
-#ifdef HAVE_ADJUSTABLE_CPU_FREQ
-
/* Settings for all possible clock frequencies (with properly working timers)
* NOTE: Some 5249 chips don't like having PLLDIV set to 0. We must avoid that!
*
@@ -73,8 +71,13 @@
#define BAUDRATE_DIV_MAX (CPUFREQ_MAX/(BAUD_RATE*32*2))
#endif
+#ifdef HAVE_ADJUSTABLE_CPU_FREQ
void set_cpu_frequency (long) __attribute__ ((section (".icode")));
void set_cpu_frequency(long frequency)
+#else
+void cf_set_cpu_frequency (long) __attribute__ ((section (".icode")));
+void cf_set_cpu_frequency(long frequency)
+#endif
{
switch(frequency)
{
@@ -157,5 +160,3 @@ void set_cpu_frequency(long frequency)
break;
}
}
-
-#endif /* HAVE_ADJUSTABLE_CPU_FREQ */
diff --git a/firmware/target/coldfire/system-coldfire.c b/firmware/target/coldfire/system-coldfire.c
index f33a44c..8b20360 100644
--- a/firmware/target/coldfire/system-coldfire.c
+++ b/firmware/target/coldfire/system-coldfire.c
@@ -252,6 +252,10 @@ void system_init(void)
SPURVEC = 24;
MPARK = 0x81; /* PARK[1,0]=10 + BCR24BIT */
+
+#ifndef HAVE_ADJUSTABLE_CPU_FREQ
+ cf_set_cpu_frequency(CPUFREQ_DEFAULT);
+#endif
}
void system_reboot (void)
diff --git a/firmware/target/coldfire/system-target.h b/firmware/target/coldfire/system-target.h
index 6f1b2eb..8e3a2a3 100644
--- a/firmware/target/coldfire/system-target.h
+++ b/firmware/target/coldfire/system-target.h
@@ -165,6 +165,10 @@ void coldfire_set_pllcr_audio_bits(long bits);
/* Set DATAINCONTROL without disturbing FIFO reset state */
void coldfire_set_dataincontrol(unsigned long value);
+#ifndef HAVE_ADJUSTABLE_CPU_FREQ
+extern void cf_set_cpu_frequency(long frequency);
+#endif
+
/* 11.2896 MHz */
#define CPUFREQ_DEFAULT_MULT 1
#define CPUFREQ_DEFAULT (CPUFREQ_DEFAULT_MULT * CPU_FREQ)