imx233/fuze+: implement various audio stubs and update source

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30535 a1c6a512-1295-4272-9138-f99709370657
diff --git a/firmware/SOURCES b/firmware/SOURCES
index ef57afc..5295b35 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -513,12 +513,16 @@
 target/arm/imx233/power-imx233.c
 target/arm/imx233/powermgmt-imx233.c
 target/arm/imx233/adc-imx233.c
+target/arm/imx233/lradc-imx233.c
 target/arm/imx233/debug-imx233.c
 #if !defined(BOOTLOADER) || defined(HAVE_BOOTLOADER_USB_MODE)
 target/arm/imx233/usb-imx233.c
 #endif
 #ifndef BOOTLOADER
+#ifdef HAVE_IMX233_CODEC
 target/arm/imx233/pcm-imx233.c
+target/arm/imx233/audiohw-imx233.c
+#endif
 target/arm/imx233/timer-imx233.c
 #endif
 #endif /* IMX233 */
@@ -1482,6 +1486,10 @@
 target/arm/imx233/sansa-fuzeplus/button-fuzeplus.c
 target/arm/imx233/sansa-fuzeplus/debug-fuzeplus.c
 target/arm/imx233/sansa-fuzeplus/power-fuzeplus.c
+target/arm/imx233/sansa-fuzeplus/adc-fuzeplus.c
+#ifndef BOOTLOADER
+target/arm/imx233/sansa-fuzeplus/audio-fuzeplus.c
+#endif
 #endif /* SIMULATOR */
 #endif
 
diff --git a/firmware/target/arm/imx233/audiohw-imx233.c b/firmware/target/arm/imx233/audiohw-imx233.c
new file mode 100644
index 0000000..e5bb093
--- /dev/null
+++ b/firmware/target/arm/imx233/audiohw-imx233.c
@@ -0,0 +1,61 @@
+/***************************************************************************
+ *             __________               __   ___.
+ *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
+ *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
+ *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
+ *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
+ *                     \/            \/     \/    \/            \/
+ * $Id$
+ *
+ * Copyright (C) 2011 by Amaury Pouly
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#include "config.h"
+#include "system.h"
+#include "audiohw.h"
+#include "audio.h"
+
+/* TO FILL */
+const struct sound_settings_info audiohw_settings[] =
+{
+    [SOUND_VOLUME]        = {"dB", 0,  1, -74,   6, -25},
+    [SOUND_BASS]          = {"dB", 0,  1, -24,  24,   0},
+    [SOUND_TREBLE]        = {"dB", 0,  1, -24,  24,   0},
+    [SOUND_BALANCE]       = {"%",  0,  1,-100, 100,   0},
+    [SOUND_CHANNELS]      = {"",   0,  1,   0,   5,   0},
+    [SOUND_STEREO_WIDTH]  = {"%",  0,  5,   0, 250, 100},
+    [SOUND_LEFT_GAIN]     = {"dB", 1,  1,   0,  31,  23},
+    [SOUND_RIGHT_GAIN]    = {"dB", 1,  1,   0,  31,  23},
+    [SOUND_MIC_GAIN]      = {"dB", 1,  1,   0,   1,   0},
+};
+
+void audiohw_init(void)
+{
+}
+
+void audiohw_preinit(void)
+{
+}
+
+void audiohw_postinit(void)
+{
+}
+
+void audiohw_close(void)
+{
+}
+
+void audiohw_set_recvol(int left, int right, int type)
+{
+    (void) left;
+    (void) right;
+    (void) type;
+}
diff --git a/firmware/target/arm/imx233/audioin-imx233.h b/firmware/target/arm/imx233/audioin-imx233.h
new file mode 100644
index 0000000..d4468f8
--- /dev/null
+++ b/firmware/target/arm/imx233/audioin-imx233.h
@@ -0,0 +1,27 @@
+/***************************************************************************
+ *             __________               __   ___.
+ *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
+ *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
+ *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
+ *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
+ *                     \/            \/     \/    \/            \/
+ * $Id$
+ *
+ * Copyright (C) 2011 by Amaury Pouly
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#ifndef __audioin_imx233__
+#define __audioin_imx233__
+
+#include "config.h"
+#include "cpu.h"
+
+#endif /* __audioin_imx233__ */
diff --git a/firmware/target/arm/imx233/audioout-imx233.h b/firmware/target/arm/imx233/audioout-imx233.h
new file mode 100644
index 0000000..913e633
--- /dev/null
+++ b/firmware/target/arm/imx233/audioout-imx233.h
@@ -0,0 +1,27 @@
+/***************************************************************************
+ *             __________               __   ___.
+ *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
+ *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
+ *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
+ *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
+ *                     \/            \/     \/    \/            \/
+ * $Id$
+ *
+ * Copyright (C) 2011 by Amaury Pouly
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#ifndef __audioout_imx233__
+#define __audioout_imx233__
+
+#include "config.h"
+#include "cpu.h"
+
+#endif /* __audioout_imx233__ */
diff --git a/firmware/target/arm/imx233/pcm-imx233.c b/firmware/target/arm/imx233/pcm-imx233.c
new file mode 100644
index 0000000..6dd678f
--- /dev/null
+++ b/firmware/target/arm/imx233/pcm-imx233.c
@@ -0,0 +1,114 @@
+/***************************************************************************
+ *             __________               __   ___.
+ *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
+ *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
+ *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
+ *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
+ *                     \/            \/     \/    \/            \/
+ * $Id$
+ *
+ * Copyright (C) 2011 by Amaury Pouly
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include "config.h"
+#include "audiohw.h"
+#include "pcm.h"
+#include "audioin-imx233.h"
+#include "audioout-imx233.h"
+
+void pcm_play_lock(void)
+{
+}
+
+void pcm_play_unlock(void)
+{
+}
+
+void pcm_play_dma_stop(void)
+{
+}
+
+void pcm_play_dma_start(const void *addr, size_t size)
+{
+    pcm_play_dma_stop();
+
+    (void) addr;
+    (void) size;
+}
+
+void pcm_play_dma_pause(bool pause)
+{
+    (void) pause;
+}
+
+void pcm_play_dma_init(void)
+{
+    audiohw_preinit();
+}
+
+void pcm_play_dma_postinit(void)
+{
+    audiohw_postinit();
+}
+
+void pcm_dma_apply_settings(void)
+{
+    return;
+}
+
+size_t pcm_get_bytes_waiting(void)
+{
+    return 0;
+}
+
+const void *pcm_play_dma_get_peak_buffer(int *count)
+{
+    (void) count;
+    return NULL;
+}
+
+void pcm_rec_lock(void)
+{
+}
+
+void pcm_rec_unlock(void)
+{
+}
+
+void pcm_rec_dma_init(void)
+{
+}
+
+void pcm_rec_dma_close(void)
+{
+}
+
+void pcm_rec_dma_start(void *addr, size_t size)
+{
+    (void) addr;
+    (void) size;
+}
+
+/*
+void pcm_rec_dma_record_more(void *start, size_t size)
+{
+}
+*/
+
+void pcm_rec_dma_stop(void)
+{
+}
+
+const void * pcm_rec_dma_get_peak_buffer(void)
+{
+    return NULL;
+}
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/audio-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/audio-fuzeplus.c
new file mode 100644
index 0000000..fa4294f
--- /dev/null
+++ b/firmware/target/arm/imx233/sansa-fuzeplus/audio-fuzeplus.c
@@ -0,0 +1,35 @@
+/***************************************************************************
+ *             __________               __   ___.
+ *   Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
+ *   Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
+ *   Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
+ *   Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
+ *                     \/            \/     \/    \/            \/
+ * $Id$
+ *
+ * Copyright (C) 2011 by Amaury Pouly
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#include "config.h"
+#include "system.h"
+#include "audiohw.h"
+#include "audio.h"
+
+void audio_input_mux(int source, unsigned flags)
+{
+    (void) source;
+    (void) flags;
+}
+
+void audio_set_output_source(int source)
+{
+    (void) source;
+}