| From foo@baz Mon Apr 9 17:09:24 CEST 2018 |
| From: Hans de Goede <hdegoede@redhat.com> |
| Date: Tue, 2 Jan 2018 19:53:14 +0100 |
| Subject: ASoC: Intel: cht_bsw_rt5645: Analog Mic support |
| |
| From: Hans de Goede <hdegoede@redhat.com> |
| |
| |
| [ Upstream commit b70b309950418437bbd2a30afd169c4f09dee3e5 ] |
| |
| 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> |
| --- |
| sound/soc/intel/boards/cht_bsw_rt5645.c | 7 +++++++ |
| 1 file changed, 7 insertions(+) |
| |
| --- a/sound/soc/intel/boards/cht_bsw_rt5645.c |
| +++ b/sound/soc/intel/boards/cht_bsw_rt5645.c |
| @@ -111,6 +111,7 @@ static const struct snd_soc_dapm_widget |
| SND_SOC_DAPM_HP("Headphone", NULL), |
| SND_SOC_DAPM_MIC("Headset 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_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0, |
| platform_clock_control, SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD), |
| @@ -121,6 +122,8 @@ static const struct snd_soc_dapm_route c |
| {"IN1N", NULL, "Headset Mic"}, |
| {"DMIC L1", NULL, "Int Mic"}, |
| {"DMIC R1", NULL, "Int Mic"}, |
| + {"IN2P", NULL, "Int Analog Mic"}, |
| + {"IN2N", NULL, "Int Analog Mic"}, |
| {"Headphone", NULL, "HPOL"}, |
| {"Headphone", NULL, "HPOR"}, |
| {"Ext Spk", NULL, "SPOL"}, |
| @@ -134,6 +137,9 @@ static const struct snd_soc_dapm_route c |
| {"Headphone", NULL, "Platform Clock"}, |
| {"Headset 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"}, |
| }; |
| |
| @@ -162,6 +168,7 @@ static const struct snd_kcontrol_new cht |
| SOC_DAPM_PIN_SWITCH("Headphone"), |
| SOC_DAPM_PIN_SWITCH("Headset Mic"), |
| SOC_DAPM_PIN_SWITCH("Int Mic"), |
| + SOC_DAPM_PIN_SWITCH("Int Analog Mic"), |
| SOC_DAPM_PIN_SWITCH("Ext Spk"), |
| }; |
| |