]> git.itanic.dy.fi Git - linux-stable/commitdiff
ASoC: mediatek: mt8186-rt5682: Add headset widgets with switches
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Thu, 22 Sep 2022 23:59:50 +0000 (19:59 -0400)
committerMark Brown <broonie@kernel.org>
Fri, 23 Sep 2022 12:56:09 +0000 (13:56 +0100)
Add DAPM widgets for headphones and headset microphone, with matching
switches, to allow toggling these paths based on the jack connection
status.

Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220922235951.252532-6-nfraprado@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/mediatek/mt8186/mt8186-mt6366-rt1019-rt5682s.c

index 247f20f594d9100f53409b455c5099135efa5ba7..4360871bfc44240f32ec01727bd047a355579a4b 100644 (file)
@@ -926,6 +926,8 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
 static const struct snd_soc_dapm_widget
 mt8186_mt6366_rt1019_rt5682s_widgets[] = {
        SND_SOC_DAPM_SPK("Speakers", NULL),
+       SND_SOC_DAPM_HP("Headphone", NULL),
+       SND_SOC_DAPM_MIC("Headset Mic", NULL),
        SND_SOC_DAPM_OUTPUT("HDMI1"),
        SND_SOC_DAPM_MIXER(SOF_DMA_DL1, SND_SOC_NOPM, 0, 0, NULL, 0),
        SND_SOC_DAPM_MIXER(SOF_DMA_DL2, SND_SOC_NOPM, 0, 0, NULL, 0),
@@ -937,6 +939,10 @@ static const struct snd_soc_dapm_route
 mt8186_mt6366_rt1019_rt5682s_routes[] = {
        /* SPK */
        { "Speakers", NULL, "Speaker" },
+       /* Headset */
+       { "Headphone", NULL, "HPOL" },
+       { "Headphone", NULL, "HPOR" },
+       { "IN1P", NULL, "Headset Mic" },
        /* HDMI */
        { "HDMI1", NULL, "TX" },
        /* SOF Uplink */
@@ -952,6 +958,8 @@ mt8186_mt6366_rt1019_rt5682s_routes[] = {
 static const struct snd_kcontrol_new
 mt8186_mt6366_rt1019_rt5682s_controls[] = {
        SOC_DAPM_PIN_SWITCH("Speakers"),
+       SOC_DAPM_PIN_SWITCH("Headphone"),
+       SOC_DAPM_PIN_SWITCH("Headset Mic"),
        SOC_DAPM_PIN_SWITCH("HDMI1"),
 };