From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rajeshwari Shinde Date: Mon, 21 Jan 2013 16:22:35 +0530 Subject: [U-Boot] [PATCH 3/7] Sound: Support for MAX98095 codec in driver In-Reply-To: <1358765559-32709-1-git-send-email-rajeshwari.s@samsung.com> References: <1358765559-32709-1-git-send-email-rajeshwari.s@samsung.com> Message-ID: <1358765559-32709-4-git-send-email-rajeshwari.s@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This patchs adds support for MAX98095 codec in sound driver. Signed-off-by: Rajeshwari Shinde --- 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 #include #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