Lines Matching +full:mic +full:- +full:int
1 // SPDX-License-Identifier: GPL-2.0+
3 // neo1973_wm8753.c - SoC audio for Openmoko Neo1973 and Freerunner devices
18 #include "regs-iis.h"
20 #include "s3c24xx-i2s.h"
22 static int neo1973_hifi_hw_params(struct snd_pcm_substream *substream, in neo1973_hifi_hw_params()
28 unsigned int pll_out = 0, bclk = 0; in neo1973_hifi_hw_params()
29 int ret = 0; in neo1973_hifi_hw_params()
97 static int neo1973_hifi_hw_free(struct snd_pcm_substream *substream) in neo1973_hifi_hw_free()
114 static int neo1973_voice_hw_params(struct snd_pcm_substream *substream, in neo1973_voice_hw_params()
119 unsigned int pcmdiv = 0; in neo1973_voice_hw_params()
120 int ret = 0; in neo1973_voice_hw_params()
126 return -EINVAL; in neo1973_voice_hw_params()
128 return -EINVAL; in neo1973_voice_hw_params()
152 static int neo1973_voice_hw_free(struct snd_pcm_substream *substream) in neo1973_voice_hw_free()
167 static int gta02_speaker_enabled;
169 static int lm4853_set_spk(struct snd_kcontrol *kcontrol, in lm4853_set_spk()
172 gta02_speaker_enabled = ucontrol->value.integer.value[0]; in lm4853_set_spk()
179 static int lm4853_get_spk(struct snd_kcontrol *kcontrol, in lm4853_get_spk()
182 ucontrol->value.integer.value[0] = gta02_speaker_enabled; in lm4853_get_spk()
186 static int lm4853_event(struct snd_soc_dapm_widget *w, in lm4853_event()
187 struct snd_kcontrol *k, int event) in lm4853_event()
197 SND_SOC_DAPM_MIC("Headset Mic", NULL),
198 SND_SOC_DAPM_MIC("Handset Mic", NULL),
211 {"MIC1", NULL, "Mic Bias"},
212 {"Mic Bias", NULL, "Headset Mic"},
214 /* Call Mic */
215 {"MIC2", NULL, "Mic Bias"},
216 {"MIC2N", NULL, "Mic Bias"},
217 {"Mic Bias", NULL, "Handset Mic"},
234 SOC_DAPM_PIN_SWITCH("Headset Mic"),
235 SOC_DAPM_PIN_SWITCH("Handset Mic"),
244 static int neo1973_wm8753_init(struct snd_soc_pcm_runtime *rtd) in neo1973_wm8753_init()
246 struct snd_soc_card *card = rtd->card; in neo1973_wm8753_init()
249 snd_soc_dapm_disable_pin(&card->dapm, "GSM Line Out"); in neo1973_wm8753_init()
250 snd_soc_dapm_disable_pin(&card->dapm, "GSM Line In"); in neo1973_wm8753_init()
251 snd_soc_dapm_disable_pin(&card->dapm, "Headset Mic"); in neo1973_wm8753_init()
252 snd_soc_dapm_disable_pin(&card->dapm, "Handset Mic"); in neo1973_wm8753_init()
253 snd_soc_dapm_disable_pin(&card->dapm, "Stereo Out"); in neo1973_wm8753_init()
254 snd_soc_dapm_disable_pin(&card->dapm, "Handset Spk"); in neo1973_wm8753_init()
257 snd_soc_dapm_ignore_suspend(&card->dapm, "GSM Line Out"); in neo1973_wm8753_init()
258 snd_soc_dapm_ignore_suspend(&card->dapm, "GSM Line In"); in neo1973_wm8753_init()
259 snd_soc_dapm_ignore_suspend(&card->dapm, "Headset Mic"); in neo1973_wm8753_init()
260 snd_soc_dapm_ignore_suspend(&card->dapm, "Handset Mic"); in neo1973_wm8753_init()
261 snd_soc_dapm_ignore_suspend(&card->dapm, "Stereo Out"); in neo1973_wm8753_init()
262 snd_soc_dapm_ignore_suspend(&card->dapm, "Handset Spk"); in neo1973_wm8753_init()
268 DAILINK_COMP_ARRAY(COMP_CPU("s3c24xx-iis")),
269 DAILINK_COMP_ARRAY(COMP_CODEC("wm8753.0-001a", "wm8753-hifi")),
270 DAILINK_COMP_ARRAY(COMP_PLATFORM("s3c24xx-iis")));
273 DAILINK_COMP_ARRAY(COMP_CPU("bt-sco-pcm")),
274 DAILINK_COMP_ARRAY(COMP_CODEC("wm8753.0-001a", "wm8753-voice")));
277 { /* Hifi Playback - for similatious use with voice below */
304 .dlc = COMP_CODEC_CONF("lm4857.0-007c"),
328 static int neo1973_probe(struct platform_device *pdev) in neo1973_probe()
330 struct device *dev = &pdev->dev; in neo1973_probe()
337 gpiod_amp_shut = devm_gpiod_get(dev, "amp-shut", GPIOD_OUT_HIGH); in neo1973_probe()
339 dev_err(dev, "missing gpio %s\n", "amp-shut"); in neo1973_probe()
349 .name = "neo1973-audio",
360 MODULE_ALIAS("platform:neo1973-audio");