summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Dakinevich <jan.dakinevich@salutedevices.com>2024-04-14 22:35:55 +0300
committerDmitry Rokosov <rockosov@rulkc.org>2026-08-13 14:41:31 +0300
commitf69a97a3b461d42be71e36da09b5eb80071263af (patch)
treed803cb9fde56adccbd348d72d0925e8fc1833e4f
parent4f62d7f84578f630335be838001cb6c583f6cf68 (diff)
downloadlinux-f69a97a3b461d42be71e36da09b5eb80071263af.tar.gz
linux-f69a97a3b461d42be71e36da09b5eb80071263af.zip
ASoC: meson: axg-tdmout: add "IN EQDRC" source widget in SM1
SM1 has support for EQDRC module. "IN EQDRC" widget is used to connect to it. Signed-off-by: Jan Dakinevich <jan.dakinevich@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
-rw-r--r--sound/soc/meson/axg-tdmout.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sound/soc/meson/axg-tdmout.c b/sound/soc/meson/axg-tdmout.c
index c4039e4f0847..2a965cdae432 100644
--- a/sound/soc/meson/axg-tdmout.c
+++ b/sound/soc/meson/axg-tdmout.c
@@ -261,11 +261,16 @@ static const struct snd_kcontrol_new sm1_tdmout_controls[] = {
};
static const char * const sm1_tdmout_sel_texts[] = {
- "IN 0", "IN 1", "IN 2", "IN 3", "IN 4",
+ "IN 0", "IN 1", "IN 2", "IN 3", "IN 4", "IN EQDRC",
};
-static SOC_ENUM_SINGLE_DECL(sm1_tdmout_sel_enum, TDMOUT_CTRL1,
- TDMOUT_CTRL1_SEL_SHIFT, sm1_tdmout_sel_texts);
+static const unsigned int sm1_tdmout_sel_values[] = {
+ 0, 1, 2, 3, 4, 128,
+};
+
+static SOC_VALUE_ENUM_SINGLE_DECL(sm1_tdmout_sel_enum, TDMOUT_CTRL1,
+ TDMOUT_CTRL1_SEL_SHIFT, 0x87,
+ sm1_tdmout_sel_texts, sm1_tdmout_sel_values);
static const struct snd_kcontrol_new sm1_tdmout_in_mux =
SOC_DAPM_ENUM("Input Source", sm1_tdmout_sel_enum);
@@ -276,6 +281,7 @@ static const struct snd_soc_dapm_widget sm1_tdmout_dapm_widgets[] = {
SND_SOC_DAPM_AIF_IN("IN 2", NULL, 0, SND_SOC_NOPM, 0, 0),
SND_SOC_DAPM_AIF_IN("IN 3", NULL, 0, SND_SOC_NOPM, 0, 0),
SND_SOC_DAPM_AIF_IN("IN 4", NULL, 0, SND_SOC_NOPM, 0, 0),
+ SND_SOC_DAPM_AIF_IN("IN EQDRC", NULL, 0, SND_SOC_NOPM, 0, 0),
SND_SOC_DAPM_MUX("SRC SEL", SND_SOC_NOPM, 0, 0, &sm1_tdmout_in_mux),
SND_SOC_DAPM_PGA_E("ENC", SND_SOC_NOPM, 0, 0, NULL, 0,
axg_tdm_formatter_event,
@@ -289,6 +295,7 @@ static const struct snd_soc_dapm_route sm1_tdmout_dapm_routes[] = {
{ "SRC SEL", "IN 2", "IN 2" },
{ "SRC SEL", "IN 3", "IN 3" },
{ "SRC SEL", "IN 4", "IN 4" },
+ { "SRC SEL", "IN EQDRC", "IN EQDRC" },
{ "ENC", NULL, "SRC SEL" },
{ "OUT", NULL, "ENC" },
};