summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2009-07-15 21:34:31 +0000
committerDave Chapman <dave@dchapman.com>2009-07-15 21:34:31 +0000
commit0d484bad5e12c56c9a25e3a58c14a5cbfefb4c12 (patch)
treef12995d285766cbb2b91bbcd931b52cb983260b7
parent0a2197b84608bb6f2e279bc2e909fba14aab674b (diff)
Introduce S5L8701 CONFIG_CPU definition for Nano2G and a new CPU_S5L870X "family" define - the 8700 and 8701 are proving to be different. Also move all the cpu-specific defines earlier in config.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21886 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/SOURCES5
-rw-r--r--firmware/export/config-ipodnano2g.h2
-rw-r--r--firmware/export/config.h124
-rw-r--r--firmware/export/cpu.h2
4 files changed, 71 insertions, 62 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index 8e1cef31e0..bfb31e1b43 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -425,7 +425,7 @@ target/arm/tcc77x/crt0.S
target/arm/tcc780x/crt0.S
#elif CONFIG_CPU==IMX31L
target/arm/imx31/crt0.S
-#elif CONFIG_CPU==S5L8700
+#elif defined(CPU_S5L870X)
target/arm/s5l8700/crt0.S
#elif defined(CPU_ARM)
target/arm/crt0.S
@@ -1256,7 +1256,7 @@ target/arm/tcc780x/cowond2/audio-cowond2.c
#endif /* SIMULATOR */
#endif /* COWON_D2 */
-#if CONFIG_CPU==S5L8700
+#ifdef CPU_S5L870X
target/arm/s5l8700/system-s5l8700.c
#endif
@@ -1292,6 +1292,7 @@ target/arm/s5l8700/udacodec-meizu.c
#endif /* MEIZU_M3 */
#ifdef IPOD_NANO2G
+target/arm/s5l8700/kernel-s5l8700.c
target/arm/s5l8700/ipodnano2g/lcd-nano2g.c
#endif
diff --git a/firmware/export/config-ipodnano2g.h b/firmware/export/config-ipodnano2g.h
index 393151961f..c754fb42be 100644
--- a/firmware/export/config-ipodnano2g.h
+++ b/firmware/export/config-ipodnano2g.h
@@ -125,7 +125,7 @@
//#define HAVE_LCD_CONTRAST
/* Define this if you have a Motorola SCF5250 */
-#define CONFIG_CPU S5L8700
+#define CONFIG_CPU S5L8701
/* Define this if you want to use coldfire's i2c interface */
#define CONFIG_I2C I2C_S5L8700
diff --git a/firmware/export/config.h b/firmware/export/config.h
index aa3f4f8d40..95bf2fb73b 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -68,6 +68,7 @@
#define TCC773L 773
#define TCC7801 7801
#define S5L8700 8700
+#define S5L8701 8701
#define JZ4732 4732
#define AS3525 3525
#define AT91SAM9260 9260
@@ -387,6 +388,69 @@ Lyre prototype 1*/
/* setup basic macros from capability masks */
#include "config_caps.h"
+/* setup CPU-specific defines */
+
+/* define for all cpus from SH family */
+#if (CONFIG_CPU == SH7034)
+#define CPU_SH
+#endif
+
+/* define for all cpus from coldfire family */
+#if (CONFIG_CPU == MCF5249) || (CONFIG_CPU == MCF5250)
+#define CPU_COLDFIRE
+#endif
+
+/* define for all cpus from PP family */
+#if (CONFIG_CPU == PP5002)
+#define CPU_PP
+#elif (CONFIG_CPU == PP5020) || (CONFIG_CPU == PP5022) \
+ || (CONFIG_CPU == PP5024) || (CONFIG_CPU == PP6100)
+#define CPU_PP
+#define CPU_PP502x
+#endif
+
+/* define for all cpus from S5L870X family */
+#if (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701)
+#define CPU_S5L870X
+#endif
+
+/* define for all cpus from TCC77X family */
+#if (CONFIG_CPU == TCC771L) || (CONFIG_CPU == TCC773L) || (CONFIG_CPU == TCC770)
+#define CPU_TCC77X
+#endif
+
+/* define for all cpus from TCC780 family */
+#if (CONFIG_CPU == TCC7801)
+#define CPU_TCC780X
+#endif
+
+/* define for all cpus from ARM7TDMI family (for specific optimisations) */
+#if defined(CPU_PP) || (CONFIG_CPU == PNX0101) || (CONFIG_CPU == DSC25)
+#define CPU_ARM7TDMI
+#endif
+
+/* define for all cpus from ARM family */
+#if (CONFIG_CPU == IMX31L)
+#define CPU_ARM
+#define ARM_ARCH 6 /* ARMv6 */
+#endif
+
+#if defined(CPU_TCC77X) || defined(CPU_TCC780X) || (CONFIG_CPU == DM320) \
+ || (CONFIG_CPU == AT91SAM9260)
+#define CPU_ARM
+#define ARM_ARCH 5 /* ARMv5 */
+#endif
+
+#if defined(CPU_PP) || (CONFIG_CPU == PNX0101) || (CONFIG_CPU == S3C2440) \
+ || (CONFIG_CPU == DSC25) || defined(CPU_S5L870X) || (CONFIG_CPU == AS3525)
+#define CPU_ARM
+#define ARM_ARCH 4 /* ARMv4 */
+#endif
+
+#if (CONFIG_CPU == JZ4732)
+#define CPU_MIPS 32
+#endif
+
/* now set any CONFIG_ defines correctly if they are not used,
No need to do this on CONFIG_'s which are compulsory (e.g CONFIG_CODEC ) */
@@ -561,68 +625,12 @@ Lyre prototype 1*/
#if defined(HAVE_USBSTACK) || (CONFIG_CPU == JZ4732) \
|| (CONFIG_CPU == AS3525) || (CONFIG_CPU == S3C2440) \
- || (CONFIG_CPU == S5L8700)
+ || defined(CPU_S5L870X)
#define HAVE_WAKEUP_OBJECTS
#endif
#endif /* (CONFIG_CODEC == SWCODEC) */
-/* define for all cpus from SH family */
-#if (CONFIG_CPU == SH7034)
-#define CPU_SH
-#endif
-
-/* define for all cpus from coldfire family */
-#if (CONFIG_CPU == MCF5249) || (CONFIG_CPU == MCF5250)
-#define CPU_COLDFIRE
-#endif
-
-/* define for all cpus from PP family */
-#if (CONFIG_CPU == PP5002)
-#define CPU_PP
-#elif (CONFIG_CPU == PP5020) || (CONFIG_CPU == PP5022) \
- || (CONFIG_CPU == PP5024) || (CONFIG_CPU == PP6100)
-#define CPU_PP
-#define CPU_PP502x
-#endif
-
-/* define for all cpus from TCC77X family */
-#if (CONFIG_CPU == TCC771L) || (CONFIG_CPU == TCC773L) || (CONFIG_CPU == TCC770)
-#define CPU_TCC77X
-#endif
-
-/* define for all cpus from TCC780 family */
-#if (CONFIG_CPU == TCC7801)
-#define CPU_TCC780X
-#endif
-
-/* define for all cpus from ARM7TDMI family (for specific optimisations) */
-#if defined(CPU_PP) || (CONFIG_CPU == PNX0101) || (CONFIG_CPU == DSC25)
-#define CPU_ARM7TDMI
-#endif
-
-/* define for all cpus from ARM family */
-#if (CONFIG_CPU == IMX31L)
-#define CPU_ARM
-#define ARM_ARCH 6 /* ARMv6 */
-#endif
-
-#if defined(CPU_TCC77X) || defined(CPU_TCC780X) || (CONFIG_CPU == DM320) \
- || (CONFIG_CPU == AT91SAM9260)
-#define CPU_ARM
-#define ARM_ARCH 5 /* ARMv5 */
-#endif
-
-#if defined(CPU_PP) || (CONFIG_CPU == PNX0101) || (CONFIG_CPU == S3C2440) \
- || (CONFIG_CPU == DSC25) || (CONFIG_CPU == S5L8700) || (CONFIG_CPU == AS3525)
-#define CPU_ARM
-#define ARM_ARCH 4 /* ARMv4 */
-#endif
-
-#if (CONFIG_CPU == JZ4732)
-#define CPU_MIPS 32
-#endif
-
/* Determine if accesses should be strictly long aligned. */
#if (CONFIG_CPU == SH7034) || defined(CPU_ARM) || defined(CPU_MIPS)
#define ROCKBOX_STRICT_ALIGN 1
@@ -648,7 +656,7 @@ Lyre prototype 1*/
(CONFIG_CPU == AS3525 && MEMORYSIZE > 2) || /* AS3525 +2MB: core, plugins, codecs */ \
(CONFIG_CPU == AS3525 && MEMORYSIZE <= 2 && !defined(PLUGIN) && !defined(CODEC)) || /* AS3525 2MB:core only */ \
(CONFIG_CPU == PNX0101) || \
- (CONFIG_CPU == S5L8700)) /* Samsung S5L8700: core, plugins, codecs */ || \
+ defined(CPU_S5L870X)) || /* Samsung S5L8700: core, plugins, codecs */ \
(CONFIG_CPU == JZ4732 && !defined(PLUGIN) && !defined(CODEC)) /* Jz4740: core only */
#define ICODE_ATTR __attribute__ ((section(".icode")))
#define ICONST_ATTR __attribute__ ((section(".irodata")))
diff --git a/firmware/export/cpu.h b/firmware/export/cpu.h
index 6041b388b4..47de38c378 100644
--- a/firmware/export/cpu.h
+++ b/firmware/export/cpu.h
@@ -59,7 +59,7 @@
#ifdef CPU_TCC780X
#include "tcc780x.h"
#endif
-#if CONFIG_CPU == S5L8700
+#ifdef CPU_S5L870X
#include "s5l8700.h"
#endif
#if CONFIG_CPU == JZ4732