summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Robertson <aliask@rockbox.org>2007-09-22 02:17:08 +0000
committerWill Robertson <aliask@rockbox.org>2007-09-22 02:17:08 +0000
commit26a05afe10b123788c8a32fbc92c7d80b1206f08 (patch)
tree2c5e8971f2b620a026fbafc2bf23d0fc5bac3863
parent729388f741ba4fa6ba947c863d93885e8205c41a (diff)
downloadrockbox-26a05afe10b123788c8a32fbc92c7d80b1206f08.zip
rockbox-26a05afe10b123788c8a32fbc92c7d80b1206f08.tar.gz
rockbox-26a05afe10b123788c8a32fbc92c7d80b1206f08.tar.bz2
rockbox-26a05afe10b123788c8a32fbc92c7d80b1206f08.tar.xz
A few minor cleanups for the Gigabeat S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14812 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/SOURCES2
-rw-r--r--apps/plugins/SUBDIRS2
-rw-r--r--firmware/SOURCES4
-rw-r--r--firmware/drivers/serial.c72
-rw-r--r--firmware/pcm_playback.c3
-rw-r--r--firmware/timer.c4
-rwxr-xr-xtools/configure4
7 files changed, 82 insertions, 9 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index fe71c1f..8479cd8 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -1,4 +1,3 @@
-#ifndef GIGABEAT_S
/* plugins common to all models */
battery_bench.c
chessclock.c
@@ -145,4 +144,3 @@ iriver_flash.c
/* Built for bitmap targets except H10 5/6gb, Archoses, iPod mini and ifp */
superdom.c
#endif
-#endif /* GIGABEAT_S */
diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS
index 24333be..f537fb8 100644
--- a/apps/plugins/SUBDIRS
+++ b/apps/plugins/SUBDIRS
@@ -1,5 +1,4 @@
#ifndef IRIVER_IFP7XX_SERIES
-#ifndef GIGABEAT_S
/* For all targets */
shortcuts
@@ -46,5 +45,4 @@ doom
mpegplayer
#endif
-#endif /* GIGABEAT_S */
#endif /* IRIVER_IFP7XX_SERIES */
diff --git a/firmware/SOURCES b/firmware/SOURCES
index 92e2c1d..9dd617b 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -208,7 +208,7 @@ drivers/mas.c
drivers/audio/uda1380.c
#elif defined(HAVE_WM8751)
drivers/audio/wm8751.c
-#elif defined(HAVE_WM8975)
+#elif defined(HAVE_WM8975) || defined(HAVE_WM8978)
drivers/audio/wm8975.c
#elif defined(HAVE_WM8758)
drivers/audio/wm8758.c
@@ -608,7 +608,7 @@ target/arm/imx31/gigabeat-s/mmu-imx31.c
target/arm/imx31/gigabeat-s/avic-imx31.c
target/arm/imx31/gigabeat-s/spi-imx31.c
#ifndef BOOTLOADER
-target/arm/imx31/gigabeat-fx/pcm-imx31.c
+target/arm/imx31/gigabeat-s/pcm-imx31.c
#endif
#endif /* SIMULATOR */
#endif /* GIGABEAT_S */
diff --git a/firmware/drivers/serial.c b/firmware/drivers/serial.c
index 142f67e..6ed539b 100644
--- a/firmware/drivers/serial.c
+++ b/firmware/drivers/serial.c
@@ -27,6 +27,9 @@
#include "lcd.h"
#include "serial.h"
+#if CONFIG_CPU == IMX31L
+#include "serial-imx31.h"
+#endif
#if CONFIG_CPU == SH7034
@@ -166,6 +169,75 @@ void serial_setup (void)
UCR0 = 0x04; /* Tx enable */
}
+#elif (CONFIG_CPU == IMX31L)
+
+void serial_setup(void)
+{
+#ifdef UART_INT /*enable UART Interrupts */
+ UCR1_1 |= (EUartUCR1_TRDYEN | EUartUCR1_RRDYEN | EUartUCR1_TXMPTYEN);
+ UCR4_1 |= (EUartUCR4_TCEN);
+#else /*disable UART Interrupts*/
+ UCR1_1 &= ~(EUartUCR1_TRDYEN | EUartUCR1_RRDYEN | EUartUCR1_TXMPTYEN);
+ UCR4_1 &= ~(EUartUCR4_TCEN);
+#endif
+ UCR1_1 |= EUartUCR1_UARTEN;
+ UCR2_1 |= (EUartUCR2_TXEN | EUartUCR2_RXEN | EUartUCR2_IRTS);
+
+ /* Tx,Rx Interrupt Trigger levels, Disable for now*/
+ /*UFCR1 |= (UFCR1_TXTL_32 | UFCR1_RXTL_32);*/
+}
+
+int Tx_Rdy(void)
+{
+ if((UTS1 & EUartUTS_TXEMPTY))
+ return 1;
+ else return 0;
+}
+
+/*Not ready...After first Rx, UTS1 & UTS1_RXEMPTY
+ keeps returning true*/
+int Rx_Rdy(void)
+{
+ if(!(UTS1 & EUartUTS_RXEMPTY))
+ return 1;
+ else return 0;
+}
+
+void Tx_Writec(char c)
+{
+ UTXD1=(int) c;
+}
+
+void dprintf(const char * str, ... )
+{
+ char dprintfbuff[256];
+ unsigned char * ptr;
+
+ va_list ap;
+ va_start(ap, str);
+
+ ptr = dprintfbuff;
+ vsnprintf(ptr,sizeof(dprintfbuff),str,ap);
+ va_end(ap);
+
+ serial_tx(ptr);
+}
+
+void serial_tx(const unsigned char * buf)
+{
+ /*Tx*/
+ for(;;) {
+ if(Tx_Rdy()) {
+ if(*buf == '\0')
+ return;
+ if(*buf == '\n')
+ Tx_Writec('\r');
+ Tx_Writec(*buf);
+ buf++;
+ }
+ }
+}
+
#else /* Other targets */
void serial_setup (void)
{
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index 1b16eb4..123b7e3 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -70,7 +70,8 @@ void pcm_mute(bool mute)
}
#endif /* defined(CPU_COLDFIRE) || (CONFIG_CPU == S3C2440) */
-#if defined(CPU_COLDFIRE) || (CONFIG_CPU == S3C2440) || defined(CPU_PP)
+#if defined(CPU_COLDFIRE) || (CONFIG_CPU == S3C2440) || defined(CPU_PP) \
+ || (CONFIG_CPU == IMX31L)
/* Implemented in target/... */
#else
static int pcm_freq = HW_SAMPR_DEFAULT; /* 44.1 is default */
diff --git a/firmware/timer.c b/firmware/timer.c
index b86d449..c08e834 100644
--- a/firmware/timer.c
+++ b/firmware/timer.c
@@ -208,6 +208,8 @@ static bool timer_set(long cycles, bool start)
cycles_new = cycles;
return true;
+#elif (CONFIG_CPU == IMX31L)
+ /* TODO */
#else
return __TIMER_SET(cycles, start);
#endif /* CONFIG_CPU */
@@ -268,6 +270,8 @@ bool timer_register(int reg_prio, void (*unregister_callback)(void),
irq_set_int_handler(IRQ_TIMER1, TIMER1_ISR);
irq_enable_int(IRQ_TIMER1);
return true;
+#elif CONFIG_CPU == IMX31L
+ /* TODO */
#else
return __TIMER_REGISTER(reg_prio, unregister_callback, cycles,
int_prio, timer_callback);
diff --git a/tools/configure b/tools/configure
index caaa34d..a7375fe 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1270,8 +1270,8 @@ EOF
appextra="recorder:gui"
archosrom=""
flash=""
- plugins="yes"
- codecs="libmad liba52 libffmpegFLAC libwma libTremor libwavpack libmusepack libalac libfaad libm4a libspeex libdemac"
+ plugins=""
+ swcodec="yes"
toolset=$gigabeatbitmaptools
boottool="$rootdir/tools/scramble -gigabeats"
bootoutput="nk.bin"