[U-Boot] [PATCH 3/7] Sound: Support for MAX98095 codec in driver
Rajeshwari Shinde
rajeshwari.s at samsung.com
Mon Jan 21 11:52:35 CET 2013
This patchs adds support for MAX98095 codec in
sound driver.
Signed-off-by: Rajeshwari Shinde <rajeshwari.s at 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(-)
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
More information about the U-Boot
mailing list