From 70a8170ba547b92ff55fa024bee4fffaaab0e450 Mon Sep 17 00:00:00 2001 From: Binyuan Lan Date: Mon, 30 Nov 2020 13:47:44 +0000 Subject: [PATCH] ASoC: es7243e: add es7243e I2S adc support ES7243E is 2-ch ADC with I2S interface for Microphone Array Replace digital_mute with mute_stream Change-Id: I3c61f5feccad9362e2859d7646e88a0e990c998c Signed-off-by: Binyuan Lan Signed-off-by: Sugar Zhang --- sound/soc/codecs/Kconfig | 4 ++++ sound/soc/codecs/Makefile | 2 ++ sound/soc/codecs/es7243e.c | 7 +++++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 6a7a741b6d4c..c08f998e6927 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -98,6 +98,7 @@ config SND_SOC_ALL_CODECS imply SND_SOC_ES7134 imply SND_SOC_ES7202 imply SND_SOC_ES7241 + imply SND_SOC_ES7243E imply SND_SOC_GTM601 imply SND_SOC_HDAC_HDMI imply SND_SOC_HDAC_HDA @@ -788,6 +789,9 @@ config SND_SOC_ES7202 config SND_SOC_ES7241 tristate "Everest Semi ES7241 CODEC" +config SND_SOC_ES7243E + tristate "Everest Semi ES724E 2CH ADC" + config SND_SOC_ES8311 tristate "Everest Semi ES8311 CODEC" depends on I2C diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile index da9268a4053e..50ad7f707e77 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -88,6 +88,7 @@ snd-soc-dummy-codec-objs := dummy-codec.o snd-soc-es7134-objs := es7134.o snd-soc-es7202-objs := es7202.o snd-soc-es7241-objs := es7241.o +snd-soc-es7243e-objs := es7243e.o snd-soc-es8311-objs := es8311.o snd-soc-es8316-objs := es8316.o snd-soc-es8323-objs := es8323.o @@ -407,6 +408,7 @@ obj-$(CONFIG_SND_SOC_DUMMY_CODEC) += snd-soc-dummy-codec.o obj-$(CONFIG_SND_SOC_ES7134) += snd-soc-es7134.o obj-$(CONFIG_SND_SOC_ES7202) += snd-soc-es7202.o obj-$(CONFIG_SND_SOC_ES7241) += snd-soc-es7241.o +obj-$(CONFIG_SND_SOC_ES7243E) += snd-soc-es7243e.o obj-$(CONFIG_SND_SOC_ES8311) += snd-soc-es8311.o obj-$(CONFIG_SND_SOC_ES8316) += snd-soc-es8316.o obj-$(CONFIG_SND_SOC_ES8323) += snd-soc-es8323.o diff --git a/sound/soc/codecs/es7243e.c b/sound/soc/codecs/es7243e.c index a2830c9a3ea5..e2bf03c526d8 100644 --- a/sound/soc/codecs/es7243e.c +++ b/sound/soc/codecs/es7243e.c @@ -480,11 +480,14 @@ es7243e_pcm_hw_params(struct snd_pcm_substream *substream, return 0; } -static int es7243e_mute(struct snd_soc_dai *dai, int mute) +static int es7243e_mute(struct snd_soc_dai *dai, int mute, int stream) { //struct snd_soc_codec *codec = dai->codec; u8 i; printk("Enter into %s()\n", __func__); + if (stream == SNDRV_PCM_STREAM_PLAYBACK) + return 0; + for (i = 0; i < (ES7243E_CHANNELS_MAX) / 2; i++) { if (mute) es7243e_update_bits(0x0b, 0xc0, 0xc0, i2c_clt[i]); @@ -1671,7 +1674,7 @@ static struct snd_soc_dai_ops es7243e_ops = { .hw_params = es7243e_pcm_hw_params, .set_fmt = es7243e_set_dai_fmt, .set_sysclk = es7243e_set_dai_sysclk, - .digital_mute = es7243e_mute, + .mute_stream = es7243e_mute, }; #if ES7243E_CHANNELS_MAX > 0