ASoC: Intel: cht_bsw_rt5645: Analog Mic support
[ Upstream commit b70b309950
]
Various Cherry Trail boards with a rt5645 codec have an analog mic
connected to IN2P + IN2N. The mic on this boards also needs micbias to
be enabled, on some boards micbias1 is used and on others micbias2, so
we enable both.
This commit adds a new "Int Analog Mic" DAPM widget for this, so that we
do not end up enabling micbias on boards with a digital mic which uses
the already present "Int Mic" widget. Some existing UCM files already
refer to "Int Mic" for their "Internal Analog Microphones" SectionDevice,
but these don't work anyways since they enable the RECMIX BST1 Switch
instead of the BST2 switch.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7fba5c7a0a
commit
a34ee45949
@ -96,6 +96,7 @@ static const struct snd_soc_dapm_widget cht_dapm_widgets[] = {
|
|||||||
SND_SOC_DAPM_HP("Headphone", NULL),
|
SND_SOC_DAPM_HP("Headphone", NULL),
|
||||||
SND_SOC_DAPM_MIC("Headset Mic", NULL),
|
SND_SOC_DAPM_MIC("Headset Mic", NULL),
|
||||||
SND_SOC_DAPM_MIC("Int Mic", NULL),
|
SND_SOC_DAPM_MIC("Int Mic", NULL),
|
||||||
|
SND_SOC_DAPM_MIC("Int Analog Mic", NULL),
|
||||||
SND_SOC_DAPM_SPK("Ext Spk", NULL),
|
SND_SOC_DAPM_SPK("Ext Spk", NULL),
|
||||||
SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
|
SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0,
|
||||||
platform_clock_control, SND_SOC_DAPM_POST_PMD),
|
platform_clock_control, SND_SOC_DAPM_POST_PMD),
|
||||||
@ -106,6 +107,8 @@ static const struct snd_soc_dapm_route cht_rt5645_audio_map[] = {
|
|||||||
{"IN1N", NULL, "Headset Mic"},
|
{"IN1N", NULL, "Headset Mic"},
|
||||||
{"DMIC L1", NULL, "Int Mic"},
|
{"DMIC L1", NULL, "Int Mic"},
|
||||||
{"DMIC R1", NULL, "Int Mic"},
|
{"DMIC R1", NULL, "Int Mic"},
|
||||||
|
{"IN2P", NULL, "Int Analog Mic"},
|
||||||
|
{"IN2N", NULL, "Int Analog Mic"},
|
||||||
{"Headphone", NULL, "HPOL"},
|
{"Headphone", NULL, "HPOL"},
|
||||||
{"Headphone", NULL, "HPOR"},
|
{"Headphone", NULL, "HPOR"},
|
||||||
{"Ext Spk", NULL, "SPOL"},
|
{"Ext Spk", NULL, "SPOL"},
|
||||||
@ -119,6 +122,9 @@ static const struct snd_soc_dapm_route cht_rt5645_audio_map[] = {
|
|||||||
{"Headphone", NULL, "Platform Clock"},
|
{"Headphone", NULL, "Platform Clock"},
|
||||||
{"Headset Mic", NULL, "Platform Clock"},
|
{"Headset Mic", NULL, "Platform Clock"},
|
||||||
{"Int Mic", NULL, "Platform Clock"},
|
{"Int Mic", NULL, "Platform Clock"},
|
||||||
|
{"Int Analog Mic", NULL, "Platform Clock"},
|
||||||
|
{"Int Analog Mic", NULL, "micbias1"},
|
||||||
|
{"Int Analog Mic", NULL, "micbias2"},
|
||||||
{"Ext Spk", NULL, "Platform Clock"},
|
{"Ext Spk", NULL, "Platform Clock"},
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -147,6 +153,7 @@ static const struct snd_kcontrol_new cht_mc_controls[] = {
|
|||||||
SOC_DAPM_PIN_SWITCH("Headphone"),
|
SOC_DAPM_PIN_SWITCH("Headphone"),
|
||||||
SOC_DAPM_PIN_SWITCH("Headset Mic"),
|
SOC_DAPM_PIN_SWITCH("Headset Mic"),
|
||||||
SOC_DAPM_PIN_SWITCH("Int Mic"),
|
SOC_DAPM_PIN_SWITCH("Int Mic"),
|
||||||
|
SOC_DAPM_PIN_SWITCH("Int Analog Mic"),
|
||||||
SOC_DAPM_PIN_SWITCH("Ext Spk"),
|
SOC_DAPM_PIN_SWITCH("Ext Spk"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user