This patchs adds support for MAX98095 codec in
sound driver.

Signed-off-by: Rajeshwari Shinde <rajeshwar...@samsung.com>
---
Changes in V2:
        - None
 arch/arm/include/asm/arch-exynos/sound.h |   10 +++++++++-
 drivers/sound/sound.c                    |   13 +++++++++++--
 include/sound.h                          |    1 +
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/arch/arm/include/asm/arch-exynos/sound.h 
b/arch/arm/include/asm/arch-exynos/sound.h
index d1bd2f6..a216b00 100644
--- a/arch/arm/include/asm/arch-exynos/sound.h
+++ b/arch/arm/include/asm/arch-exynos/sound.h
@@ -33,6 +33,7 @@
 #define I2S_RFS                        256
 #define I2S_BFS                        32
 
+#ifdef CONFIG_SOUND_WM8994
 /* I2C values */
 #define AUDIO_I2C_BUS          1
 #define AUDIO_I2C_REG          0x1a
@@ -40,5 +41,12 @@
 /* Audio Codec */
 #define AUDIO_CODEC            "wm8994"
 
-#define AUDIO_COMPAT           1
+#else /* CONFIG_SOUND_MAX98095 */
+/* I2C values */
+#define AUDIO_I2C_BUS          7
+#define AUDIO_I2C_REG          0x22
+
+/* Audio Codec */
+#define AUDIO_CODEC            "max98095"
+#endif
 #endif
diff --git a/drivers/sound/sound.c b/drivers/sound/sound.c
index fa8432d..a74590b 100644
--- a/drivers/sound/sound.c
+++ b/drivers/sound/sound.c
@@ -31,6 +31,7 @@
 #include <sound.h>
 #include <asm/arch/sound.h>
 #include "wm8994.h"
+#include "max98095.h"
 
 /* defines */
 #define SOUND_400_HZ 400
@@ -143,17 +144,25 @@ static int codec_init(const void *blob, struct i2stx_info 
*pi2s_tx)
 #else
        codectype =  AUDIO_CODEC;
 #endif
+#ifdef CONFIG_SOUND_WM8994
        if (!strcmp(codectype, "wm8994")) {
                /* Check the codec type and initialise the same */
                ret = wm8994_init(blob, WM8994_AIF2,
                        pi2s_tx->samplingrate,
                        (pi2s_tx->samplingrate * (pi2s_tx->rfs)),
                        pi2s_tx->bitspersample, pi2s_tx->channels);
+#endif
+#ifdef CONFIG_SOUND_MAX98095
+       if (!strcmp(codectype, "max98095")) {
+               ret = max98095_init(blob, pi2s_tx->samplingrate,
+                               (pi2s_tx->samplingrate * (pi2s_tx->rfs)),
+                               pi2s_tx->bitspersample);
+#endif
        } else {
-               debug("%s: Unknown code type %s\n", __func__,
-                     codectype);
+               debug("%s: Unknown codec type %s\n", __func__, codectype);
                return -1;
        }
+
        if (ret) {
                debug("%s: Codec init failed\n", __func__);
                return -1;
diff --git a/include/sound.h b/include/sound.h
index d73839d..94922f6 100644
--- a/include/sound.h
+++ b/include/sound.h
@@ -28,6 +28,7 @@
 enum en_sound_codec {
        CODEC_WM_8994,
        CODEC_WM_8995,
+       CODEC_MAX_98095,
        CODEC_MAX
 };
 
-- 
1.7.4.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to