Patchwork [U-Boot,3/7] Sound: Support for MAX98095 codec in driver

login
register
mail settings
Submitter Rajeshwari Birje
Date Jan. 21, 2013, 10:52 a.m.
Message ID <1358765559-32709-4-git-send-email-rajeshwari.s@samsung.com>
Download mbox | patch
Permalink /patch/214074/
State Changes Requested
Delegated to: Minkyu Kang
Headers show

Comments

Rajeshwari Birje - Jan. 21, 2013, 10:52 a.m.
This patchs adds support for MAX98095 codec in
sound driver.

Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
---
 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(-)

Patch

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
 };