mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-14 21:01:29 +00:00
ASoC: Tegra: Harmony: Implement mic detection
* Add jack definition for mic jack * Request wm8903 to enable mic detection * Force mic bias on, since it's required for mic detection Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
535787b6ae
commit
41b5f9b349
@ -43,6 +43,8 @@
|
||||
#include <sound/pcm_params.h>
|
||||
#include <sound/soc.h>
|
||||
|
||||
#include "../codecs/wm8903.h"
|
||||
|
||||
#include "tegra_das.h"
|
||||
#include "tegra_i2s.h"
|
||||
#include "tegra_pcm.h"
|
||||
@ -142,6 +144,15 @@ static struct snd_soc_jack_gpio harmony_hp_jack_gpios[] = {
|
||||
}
|
||||
};
|
||||
|
||||
static struct snd_soc_jack harmony_mic_jack;
|
||||
|
||||
static struct snd_soc_jack_pin harmony_mic_jack_pins[] = {
|
||||
{
|
||||
.pin = "Mic Jack",
|
||||
.mask = SND_JACK_MICROPHONE,
|
||||
},
|
||||
};
|
||||
|
||||
static int harmony_event_int_spk(struct snd_soc_dapm_widget *w,
|
||||
struct snd_kcontrol *k, int event)
|
||||
{
|
||||
@ -206,9 +217,6 @@ static int harmony_asoc_init(struct snd_soc_pcm_runtime *rtd)
|
||||
snd_soc_dapm_add_routes(dapm, harmony_audio_map,
|
||||
ARRAY_SIZE(harmony_audio_map));
|
||||
|
||||
snd_soc_dapm_enable_pin(dapm, "Mic Jack");
|
||||
snd_soc_dapm_sync(dapm);
|
||||
|
||||
harmony_hp_jack_gpios[0].gpio = pdata->gpio_hp_det;
|
||||
snd_soc_jack_new(codec, "Headphone Jack", SND_JACK_HEADPHONE,
|
||||
&harmony_hp_jack);
|
||||
@ -219,6 +227,17 @@ static int harmony_asoc_init(struct snd_soc_pcm_runtime *rtd)
|
||||
ARRAY_SIZE(harmony_hp_jack_gpios),
|
||||
harmony_hp_jack_gpios);
|
||||
|
||||
snd_soc_jack_new(codec, "Mic Jack", SND_JACK_MICROPHONE,
|
||||
&harmony_mic_jack);
|
||||
snd_soc_jack_add_pins(&harmony_mic_jack,
|
||||
ARRAY_SIZE(harmony_mic_jack_pins),
|
||||
harmony_mic_jack_pins);
|
||||
wm8903_mic_detect(codec, &harmony_mic_jack, SND_JACK_MICROPHONE, 0);
|
||||
|
||||
snd_soc_dapm_force_enable_pin(dapm, "Mic Bias");
|
||||
|
||||
snd_soc_dapm_sync(dapm);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user