summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2005-07-18 12:40:29 +0000
committerChristian Gmeiner <christian.gmeiner@gmail.com>2005-07-18 12:40:29 +0000
commitc6ff1f5eb541f9557e7fbc1449df9c024fd59a03 (patch)
treeae38d203a3fcc15b1d897afe31c5a4f9099ac247 /firmware
parentf5df9cd81c685b01b5e72e4a05471d97ffa7d260 (diff)
downloadrockbox-c6ff1f5eb541f9557e7fbc1449df9c024fd59a03.tar.gz
rockbox-c6ff1f5eb541f9557e7fbc1449df9c024fd59a03.zip
Added CPU_COLDFIRE define - one step closer to iAudio-port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/SOURCES2
-rw-r--r--firmware/app.lds6
-rw-r--r--firmware/boot.lds2
-rw-r--r--firmware/common/memcpy_a.S2
-rw-r--r--firmware/common/memset_a.S2
-rw-r--r--firmware/export/config.h5
-rw-r--r--firmware/export/system.h4
-rw-r--r--firmware/kernel.c2
-rw-r--r--firmware/panic.c2
-rw-r--r--firmware/rom.lds2
-rw-r--r--firmware/system.c4
-rw-r--r--firmware/thread.c10
12 files changed, 24 insertions, 19 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index 199c4cb80e..2fca3ffab5 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -37,7 +37,7 @@ common/timefuncs.c
#if CONFIG_CPU == SH7034
common/memcpy_a.S
common/memset_a.S
-#elif CONFIG_CPU == MCF5249
+#elif defined(CPU_COLDFIRE)
common/memcpy.c
common/memset_a.S
#else
diff --git a/firmware/app.lds b/firmware/app.lds
index 135e521ef4..ef7cb19d33 100644
--- a/firmware/app.lds
+++ b/firmware/app.lds
@@ -1,7 +1,7 @@
#include "config.h"
ENTRY(start)
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
OUTPUT_FORMAT(elf32-m68k)
#elif CONFIG_CPU == TCC730
OUTPUT_FORMAT(elf32-calmrisc16)
@@ -187,7 +187,7 @@ SECTIONS
_iramend = .;
} > IRAM
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
.stack :
{
*(.stack)
@@ -207,7 +207,7 @@ SECTIONS
} > DRAM
#endif
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
.bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram):
#else
.bss :
diff --git a/firmware/boot.lds b/firmware/boot.lds
index bdab6c9c97..4ce0eb974c 100644
--- a/firmware/boot.lds
+++ b/firmware/boot.lds
@@ -1,7 +1,7 @@
#include "config.h"
ENTRY(start)
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
OUTPUT_FORMAT(elf32-m68k)
#else
OUTPUT_FORMAT(elf32-sh)
diff --git a/firmware/common/memcpy_a.S b/firmware/common/memcpy_a.S
index e129b99442..3fd3f3f753 100644
--- a/firmware/common/memcpy_a.S
+++ b/firmware/common/memcpy_a.S
@@ -170,7 +170,7 @@ _memcpy:
mov r7,r0 /* return dest start address */
.end:
.size _memcpy,.end-_memcpy
-#elif CONFIG_CPU == MCF5249
+#elif defined(CPU_COLDFIRE)
.align 2
.global memcpy
.type memcpy,@function
diff --git a/firmware/common/memset_a.S b/firmware/common/memset_a.S
index c3499c60c3..ba1e470a48 100644
--- a/firmware/common/memset_a.S
+++ b/firmware/common/memset_a.S
@@ -106,7 +106,7 @@ _memset:
.end:
.size _memset,.end-_memset
-#elif CONFIG_CPU == MCF5249
+#elif defined(CPU_COLDFIRE)
.global memset
.type memset,@function
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 1654072a3a..6b77f0dfc1 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -118,6 +118,11 @@
/* no known platform */
#endif
+/* define for all cpus from coldfire family */
+#if (CONFIG_CPU == MCF5249) || (CONFIG_CPU == MCF5250)
+#define CPU_COLDFIRE
+#endif
+
#ifndef CODEC_SIZE
#define CODEC_SIZE 0
#endif
diff --git a/firmware/export/system.h b/firmware/export/system.h
index f379b325d3..39663f1087 100644
--- a/firmware/export/system.h
+++ b/firmware/export/system.h
@@ -103,7 +103,7 @@ enum {
: /* %0 */ I_CONSTRAINT((char)(mask)), \
/* %1 */ "z"(address-GBR))
-#elif CONFIG_CPU == MCF5249
+#elif defined(CPU_COLDFIRE)
#define or_l(mask, address) \
asm \
("or.l %0,(%1)" \
@@ -182,7 +182,7 @@ static inline unsigned long SWAB32(unsigned long value)
#define invalidate_icache()
-#elif CONFIG_CPU == MCF5249
+#elif defined(CPU_COLDFIRE)
#define HIGHEST_IRQ_LEVEL (7<<8)
static inline int set_irq_level(int level)
{
diff --git a/firmware/kernel.c b/firmware/kernel.c
index 5fec25d9b8..44927cd1c3 100644
--- a/firmware/kernel.c
+++ b/firmware/kernel.c
@@ -205,7 +205,7 @@ void IMIA0(void)
TSR0 &= ~0x01;
}
-#elif CONFIG_CPU == MCF5249
+#elif defined(CPU_COLDFIRE)
void tick_start(unsigned int interval_in_ms)
{
unsigned int count;
diff --git a/firmware/panic.c b/firmware/panic.c
index 37a185f990..fb024693e1 100644
--- a/firmware/panic.c
+++ b/firmware/panic.c
@@ -43,7 +43,7 @@ void panicf( const char *fmt, ...)
/* Disable interrupts */
#if CONFIG_CPU == SH7034
asm volatile ("ldc\t%0,sr" : : "r"(15<<4));
-#elif CONFIG_CPU == MCF5249
+#elif defined(CPU_COLDFIRE)
asm volatile ("move.w #0x2700,%sr");
#endif
#endif
diff --git a/firmware/rom.lds b/firmware/rom.lds
index a4328b0ff5..632a69ed9e 100644
--- a/firmware/rom.lds
+++ b/firmware/rom.lds
@@ -1,7 +1,7 @@
#include "config.h"
ENTRY(start)
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
OUTPUT_FORMAT(elf32-m68k)
#else
OUTPUT_FORMAT(elf32-sh)
diff --git a/firmware/system.c b/firmware/system.c
index 219ad976bc..13d424d02b 100644
--- a/firmware/system.c
+++ b/firmware/system.c
@@ -303,7 +303,7 @@ void system_init(void)
-#elif CONFIG_CPU == MCF5249
+#elif defined(CPU_COLDFIRE)
#define default_interrupt(name) \
extern __attribute__((weak,alias("UIE"))) void name (void)
@@ -1104,7 +1104,7 @@ int system_memory_guard(int newmode)
void system_reboot (void)
{
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
set_cpu_frequency(0);
asm(" move.w #0x2700,%sr");
diff --git a/firmware/thread.c b/firmware/thread.c
index d6a4a4f3db..8834666b54 100644
--- a/firmware/thread.c
+++ b/firmware/thread.c
@@ -23,7 +23,7 @@
#include "kernel.h"
#include "cpu.h"
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
struct regs
{
unsigned int d[6]; /* d2-d7 */
@@ -68,7 +68,7 @@ void switch_thread(void) __attribute__ ((section(".icode")));
static inline void store_context(void* addr) __attribute__ ((always_inline));
static inline void load_context(const void* addr) __attribute__ ((always_inline));
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
/*---------------------------------------------------------------------------
* Store non-volatile context.
*---------------------------------------------------------------------------
@@ -212,7 +212,7 @@ void switch_thread(void)
while (num_sleepers == num_threads)
{
/* Enter sleep mode, woken up on interrupt */
-#if CONFIG_CPU == MCF5249
+#ifdef CPU_COLDFIRE
asm volatile ("stop #0x2000");
#elif CONFIG_CPU == SH7034
SBYCR &= 0x7F;
@@ -285,7 +285,7 @@ int create_thread(void (*function)(void), void* stack, int stack_size,
thread_stack[num_threads] = stack;
thread_stack_size[num_threads] = stack_size;
regs = &thread_contexts[num_threads];
-#if (CONFIG_CPU == MCF5249) || (CONFIG_CPU == SH7034)
+#if defined(CPU_COLDFIRE) || (CONFIG_CPU == SH7034)
/* Align stack to an even 32 bit boundary */
regs->sp = (void*)(((unsigned int)stack + stack_size) & ~3);
#elif CONFIG_CPU == TCC730
@@ -333,7 +333,7 @@ void init_threads(void)
thread_name[0] = main_thread_name;
thread_stack[0] = stackbegin;
thread_stack_size[0] = (int)stackend - (int)stackbegin;
-#if (CONFIG_CPU == MCF5249) || (CONFIG_CPU == SH7034)
+#if defined(CPU_COLDFIRE) || (CONFIG_CPU == SH7034)
thread_contexts[0].start = 0; /* thread 0 already running */
#elif CONFIG_CPU == TCC730
thread_contexts[0].started = 1;