@@ -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
@@ -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;
@@ -28,6 +28,7 @@
enum en_sound_codec {
CODEC_WM_8994,
CODEC_WM_8995,
+ CODEC_MAX_98095,
CODEC_MAX
};
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(-)