aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm5110.c
diff options
context:
space:
mode:
authorRichard Fitzgerald <rf@opensource.wolfsonmicro.com>2013-11-20 08:17:07 -0500
committerMark Brown <broonie@linaro.org>2013-11-20 08:37:52 -0500
commite64001e8efc107992fd835770f6383d0dc731594 (patch)
treebbd60b3c4c81d4d8a920aac9a303643a205bdc20 /sound/soc/codecs/wm5110.c
parent9645083ca5ef365b7b750cf219bb20b61bb925f8 (diff)
ASoC: wm5110: Add extra AIF2 channels
Signed-off-by: D.J. Barrow <dbarrow@wolfsonmicro.com> Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/codecs/wm5110.c')
-rw-r--r--sound/soc/codecs/wm5110.c48
1 files changed, 46 insertions, 2 deletions
diff --git a/sound/soc/codecs/wm5110.c b/sound/soc/codecs/wm5110.c
index bbd64384ca1c..181de7df2c87 100644
--- a/sound/soc/codecs/wm5110.c
+++ b/sound/soc/codecs/wm5110.c
@@ -302,6 +302,10 @@ ARIZONA_MIXER_CONTROLS("AIF1TX8", ARIZONA_AIF1TX8MIX_INPUT_1_SOURCE),
302 302
303ARIZONA_MIXER_CONTROLS("AIF2TX1", ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE), 303ARIZONA_MIXER_CONTROLS("AIF2TX1", ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE),
304ARIZONA_MIXER_CONTROLS("AIF2TX2", ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE), 304ARIZONA_MIXER_CONTROLS("AIF2TX2", ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE),
305ARIZONA_MIXER_CONTROLS("AIF2TX3", ARIZONA_AIF2TX3MIX_INPUT_1_SOURCE),
306ARIZONA_MIXER_CONTROLS("AIF2TX4", ARIZONA_AIF2TX4MIX_INPUT_1_SOURCE),
307ARIZONA_MIXER_CONTROLS("AIF2TX5", ARIZONA_AIF2TX5MIX_INPUT_1_SOURCE),
308ARIZONA_MIXER_CONTROLS("AIF2TX6", ARIZONA_AIF2TX6MIX_INPUT_1_SOURCE),
305 309
306ARIZONA_MIXER_CONTROLS("AIF3TX1", ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE), 310ARIZONA_MIXER_CONTROLS("AIF3TX1", ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE),
307ARIZONA_MIXER_CONTROLS("AIF3TX2", ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE), 311ARIZONA_MIXER_CONTROLS("AIF3TX2", ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE),
@@ -361,6 +365,10 @@ ARIZONA_MIXER_ENUMS(AIF1TX8, ARIZONA_AIF1TX8MIX_INPUT_1_SOURCE);
361 365
362ARIZONA_MIXER_ENUMS(AIF2TX1, ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE); 366ARIZONA_MIXER_ENUMS(AIF2TX1, ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE);
363ARIZONA_MIXER_ENUMS(AIF2TX2, ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE); 367ARIZONA_MIXER_ENUMS(AIF2TX2, ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE);
368ARIZONA_MIXER_ENUMS(AIF2TX3, ARIZONA_AIF2TX3MIX_INPUT_1_SOURCE);
369ARIZONA_MIXER_ENUMS(AIF2TX4, ARIZONA_AIF2TX4MIX_INPUT_1_SOURCE);
370ARIZONA_MIXER_ENUMS(AIF2TX5, ARIZONA_AIF2TX5MIX_INPUT_1_SOURCE);
371ARIZONA_MIXER_ENUMS(AIF2TX6, ARIZONA_AIF2TX6MIX_INPUT_1_SOURCE);
364 372
365ARIZONA_MIXER_ENUMS(AIF3TX1, ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE); 373ARIZONA_MIXER_ENUMS(AIF3TX1, ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE);
366ARIZONA_MIXER_ENUMS(AIF3TX2, ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE); 374ARIZONA_MIXER_ENUMS(AIF3TX2, ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE);
@@ -561,11 +569,27 @@ SND_SOC_DAPM_AIF_OUT("AIF2TX1", NULL, 0,
561 ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX1_ENA_SHIFT, 0), 569 ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX1_ENA_SHIFT, 0),
562SND_SOC_DAPM_AIF_OUT("AIF2TX2", NULL, 0, 570SND_SOC_DAPM_AIF_OUT("AIF2TX2", NULL, 0,
563 ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX2_ENA_SHIFT, 0), 571 ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX2_ENA_SHIFT, 0),
572SND_SOC_DAPM_AIF_OUT("AIF2TX3", NULL, 0,
573 ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX3_ENA_SHIFT, 0),
574SND_SOC_DAPM_AIF_OUT("AIF2TX4", NULL, 0,
575 ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX4_ENA_SHIFT, 0),
576SND_SOC_DAPM_AIF_OUT("AIF2TX5", NULL, 0,
577 ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX5_ENA_SHIFT, 0),
578SND_SOC_DAPM_AIF_OUT("AIF2TX6", NULL, 0,
579 ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX6_ENA_SHIFT, 0),
564 580
565SND_SOC_DAPM_AIF_IN("AIF2RX1", NULL, 0, 581SND_SOC_DAPM_AIF_IN("AIF2RX1", NULL, 0,
566 ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX1_ENA_SHIFT, 0), 582 ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX1_ENA_SHIFT, 0),
567SND_SOC_DAPM_AIF_IN("AIF2RX2", NULL, 0, 583SND_SOC_DAPM_AIF_IN("AIF2RX2", NULL, 0,
568 ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX2_ENA_SHIFT, 0), 584 ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX2_ENA_SHIFT, 0),
585SND_SOC_DAPM_AIF_IN("AIF2RX3", NULL, 0,
586 ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX3_ENA_SHIFT, 0),
587SND_SOC_DAPM_AIF_IN("AIF2RX4", NULL, 0,
588 ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX4_ENA_SHIFT, 0),
589SND_SOC_DAPM_AIF_IN("AIF2RX5", NULL, 0,
590 ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX5_ENA_SHIFT, 0),
591SND_SOC_DAPM_AIF_IN("AIF2RX6", NULL, 0,
592 ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX6_ENA_SHIFT, 0),
569 593
570SND_SOC_DAPM_AIF_IN("SLIMRX1", NULL, 0, 594SND_SOC_DAPM_AIF_IN("SLIMRX1", NULL, 0,
571 ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE, 595 ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE,
@@ -703,6 +727,10 @@ ARIZONA_MIXER_WIDGETS(AIF1TX8, "AIF1TX8"),
703 727
704ARIZONA_MIXER_WIDGETS(AIF2TX1, "AIF2TX1"), 728ARIZONA_MIXER_WIDGETS(AIF2TX1, "AIF2TX1"),
705ARIZONA_MIXER_WIDGETS(AIF2TX2, "AIF2TX2"), 729ARIZONA_MIXER_WIDGETS(AIF2TX2, "AIF2TX2"),
730ARIZONA_MIXER_WIDGETS(AIF2TX3, "AIF2TX3"),
731ARIZONA_MIXER_WIDGETS(AIF2TX4, "AIF2TX4"),
732ARIZONA_MIXER_WIDGETS(AIF2TX5, "AIF2TX5"),
733ARIZONA_MIXER_WIDGETS(AIF2TX6, "AIF2TX6"),
706 734
707ARIZONA_MIXER_WIDGETS(AIF3TX1, "AIF3TX1"), 735ARIZONA_MIXER_WIDGETS(AIF3TX1, "AIF3TX1"),
708ARIZONA_MIXER_WIDGETS(AIF3TX2, "AIF3TX2"), 736ARIZONA_MIXER_WIDGETS(AIF3TX2, "AIF3TX2"),
@@ -764,6 +792,10 @@ SND_SOC_DAPM_OUTPUT("MICSUPP"),
764 { name, "AIF1RX8", "AIF1RX8" }, \ 792 { name, "AIF1RX8", "AIF1RX8" }, \
765 { name, "AIF2RX1", "AIF2RX1" }, \ 793 { name, "AIF2RX1", "AIF2RX1" }, \
766 { name, "AIF2RX2", "AIF2RX2" }, \ 794 { name, "AIF2RX2", "AIF2RX2" }, \
795 { name, "AIF2RX3", "AIF2RX3" }, \
796 { name, "AIF2RX4", "AIF2RX4" }, \
797 { name, "AIF2RX5", "AIF2RX5" }, \
798 { name, "AIF2RX6", "AIF2RX6" }, \
767 { name, "AIF3RX1", "AIF3RX1" }, \ 799 { name, "AIF3RX1", "AIF3RX1" }, \
768 { name, "AIF3RX2", "AIF3RX2" }, \ 800 { name, "AIF3RX2", "AIF3RX2" }, \
769 { name, "SLIMRX1", "SLIMRX1" }, \ 801 { name, "SLIMRX1", "SLIMRX1" }, \
@@ -861,9 +893,17 @@ static const struct snd_soc_dapm_route wm5110_dapm_routes[] = {
861 893
862 { "AIF2 Capture", NULL, "AIF2TX1" }, 894 { "AIF2 Capture", NULL, "AIF2TX1" },
863 { "AIF2 Capture", NULL, "AIF2TX2" }, 895 { "AIF2 Capture", NULL, "AIF2TX2" },
896 { "AIF2 Capture", NULL, "AIF2TX3" },
897 { "AIF2 Capture", NULL, "AIF2TX4" },
898 { "AIF2 Capture", NULL, "AIF2TX5" },
899 { "AIF2 Capture", NULL, "AIF2TX6" },
864 900
865 { "AIF2RX1", NULL, "AIF2 Playback" }, 901 { "AIF2RX1", NULL, "AIF2 Playback" },
866 { "AIF2RX2", NULL, "AIF2 Playback" }, 902 { "AIF2RX2", NULL, "AIF2 Playback" },
903 { "AIF2RX3", NULL, "AIF2 Playback" },
904 { "AIF2RX4", NULL, "AIF2 Playback" },
905 { "AIF2RX5", NULL, "AIF2 Playback" },
906 { "AIF2RX6", NULL, "AIF2 Playback" },
867 907
868 { "AIF3 Capture", NULL, "AIF3TX1" }, 908 { "AIF3 Capture", NULL, "AIF3TX1" },
869 { "AIF3 Capture", NULL, "AIF3TX2" }, 909 { "AIF3 Capture", NULL, "AIF3TX2" },
@@ -947,6 +987,10 @@ static const struct snd_soc_dapm_route wm5110_dapm_routes[] = {
947 987
948 ARIZONA_MIXER_ROUTES("AIF2TX1", "AIF2TX1"), 988 ARIZONA_MIXER_ROUTES("AIF2TX1", "AIF2TX1"),
949 ARIZONA_MIXER_ROUTES("AIF2TX2", "AIF2TX2"), 989 ARIZONA_MIXER_ROUTES("AIF2TX2", "AIF2TX2"),
990 ARIZONA_MIXER_ROUTES("AIF2TX3", "AIF2TX3"),
991 ARIZONA_MIXER_ROUTES("AIF2TX4", "AIF2TX4"),
992 ARIZONA_MIXER_ROUTES("AIF2TX5", "AIF2TX5"),
993 ARIZONA_MIXER_ROUTES("AIF2TX6", "AIF2TX6"),
950 994
951 ARIZONA_MIXER_ROUTES("AIF3TX1", "AIF3TX1"), 995 ARIZONA_MIXER_ROUTES("AIF3TX1", "AIF3TX1"),
952 ARIZONA_MIXER_ROUTES("AIF3TX2", "AIF3TX2"), 996 ARIZONA_MIXER_ROUTES("AIF3TX2", "AIF3TX2"),
@@ -1067,14 +1111,14 @@ static struct snd_soc_dai_driver wm5110_dai[] = {
1067 .playback = { 1111 .playback = {
1068 .stream_name = "AIF2 Playback", 1112 .stream_name = "AIF2 Playback",
1069 .channels_min = 1, 1113 .channels_min = 1,
1070 .channels_max = 2, 1114 .channels_max = 6,
1071 .rates = WM5110_RATES, 1115 .rates = WM5110_RATES,
1072 .formats = WM5110_FORMATS, 1116 .formats = WM5110_FORMATS,
1073 }, 1117 },
1074 .capture = { 1118 .capture = {
1075 .stream_name = "AIF2 Capture", 1119 .stream_name = "AIF2 Capture",
1076 .channels_min = 1, 1120 .channels_min = 1,
1077 .channels_max = 2, 1121 .channels_max = 6,
1078 .rates = WM5110_RATES, 1122 .rates = WM5110_RATES,
1079 .formats = WM5110_FORMATS, 1123 .formats = WM5110_FORMATS,
1080 }, 1124 },