ASoC: meson: axg-toddr: expose all 8 inputs
authorJerome Brunet <jbrunet@baylibre.com>
Thu, 5 Sep 2019 12:01:16 +0000 (14:01 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 5 Sep 2019 17:16:55 +0000 (18:16 +0100)
The TODDR component, as it, has a maximum of 8 input. Depending on
the SoC, these may not all be connected or some input components may
not be supported

Instead of decribing only the connected inputs, describe them all
and let ASoC routing do the rest.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20190905120120.31752-5-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/meson/axg-toddr.c

index 4f63e434fad4b2a13615a3a3772a18a947068e5f..2e9a2e5862ced4dd003e1b3b4f6e9ec680759a59 100644 (file)
@@ -142,16 +142,11 @@ static struct snd_soc_dai_driver axg_toddr_dai_drv = {
 };
 
 static const char * const axg_toddr_sel_texts[] = {
-       "IN 0", "IN 1", "IN 2", "IN 3", "IN 4", "IN 6"
+       "IN 0", "IN 1", "IN 2", "IN 3", "IN 4", "IN 5", "IN 6", "IN 7"
 };
 
-static const unsigned int axg_toddr_sel_values[] = {
-       0, 1, 2, 3, 4, 6
-};
-
-static SOC_VALUE_ENUM_SINGLE_DECL(axg_toddr_sel_enum, FIFO_CTRL0,
-                                 CTRL0_SEL_SHIFT, CTRL0_SEL_MASK,
-                                 axg_toddr_sel_texts, axg_toddr_sel_values);
+static SOC_ENUM_SINGLE_DECL(axg_toddr_sel_enum, FIFO_CTRL0, CTRL0_SEL_SHIFT,
+                           axg_toddr_sel_texts);
 
 static const struct snd_kcontrol_new axg_toddr_in_mux =
        SOC_DAPM_ENUM("Input Source", axg_toddr_sel_enum);
@@ -163,7 +158,9 @@ static const struct snd_soc_dapm_widget axg_toddr_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 5", NULL, 0, SND_SOC_NOPM, 0, 0),
        SND_SOC_DAPM_AIF_IN("IN 6", NULL, 0, SND_SOC_NOPM, 0, 0),
+       SND_SOC_DAPM_AIF_IN("IN 7", NULL, 0, SND_SOC_NOPM, 0, 0),
 };
 
 static const struct snd_soc_dapm_route axg_toddr_dapm_routes[] = {
@@ -173,7 +170,9 @@ static const struct snd_soc_dapm_route axg_toddr_dapm_routes[] = {
        { "SRC SEL", "IN 2", "IN 2" },
        { "SRC SEL", "IN 3", "IN 3" },
        { "SRC SEL", "IN 4", "IN 4" },
+       { "SRC SEL", "IN 5", "IN 5" },
        { "SRC SEL", "IN 6", "IN 6" },
+       { "SRC SEL", "IN 7", "IN 7" },
 };
 
 static const struct snd_soc_component_driver axg_toddr_component_drv = {