aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/mfd/arizona/registers.h121
-rw-r--r--sound/soc/codecs/arizona.c8
-rw-r--r--sound/soc/codecs/arizona.h2
-rw-r--r--sound/soc/codecs/wm5110.c48
4 files changed, 176 insertions, 3 deletions
diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h
index 4706d3d46e56..8f4c9d77ab20 100644
--- a/include/linux/mfd/arizona/registers.h
+++ b/include/linux/mfd/arizona/registers.h
@@ -511,6 +511,38 @@
511#define ARIZONA_AIF2TX2MIX_INPUT_3_VOLUME 0x74D 511#define ARIZONA_AIF2TX2MIX_INPUT_3_VOLUME 0x74D
512#define ARIZONA_AIF2TX2MIX_INPUT_4_SOURCE 0x74E 512#define ARIZONA_AIF2TX2MIX_INPUT_4_SOURCE 0x74E
513#define ARIZONA_AIF2TX2MIX_INPUT_4_VOLUME 0x74F 513#define ARIZONA_AIF2TX2MIX_INPUT_4_VOLUME 0x74F
514#define ARIZONA_AIF2TX3MIX_INPUT_1_SOURCE 0x750
515#define ARIZONA_AIF2TX3MIX_INPUT_1_VOLUME 0x751
516#define ARIZONA_AIF2TX3MIX_INPUT_2_SOURCE 0x752
517#define ARIZONA_AIF2TX3MIX_INPUT_2_VOLUME 0x753
518#define ARIZONA_AIF2TX3MIX_INPUT_3_SOURCE 0x754
519#define ARIZONA_AIF2TX3MIX_INPUT_3_VOLUME 0x755
520#define ARIZONA_AIF2TX3MIX_INPUT_4_SOURCE 0x756
521#define ARIZONA_AIF2TX3MIX_INPUT_4_VOLUME 0x757
522#define ARIZONA_AIF2TX4MIX_INPUT_1_SOURCE 0x758
523#define ARIZONA_AIF2TX4MIX_INPUT_1_VOLUME 0x759
524#define ARIZONA_AIF2TX4MIX_INPUT_2_SOURCE 0x75A
525#define ARIZONA_AIF2TX4MIX_INPUT_2_VOLUME 0x75B
526#define ARIZONA_AIF2TX4MIX_INPUT_3_SOURCE 0x75C
527#define ARIZONA_AIF2TX4MIX_INPUT_3_VOLUME 0x75D
528#define ARIZONA_AIF2TX4MIX_INPUT_4_SOURCE 0x75E
529#define ARIZONA_AIF2TX4MIX_INPUT_4_VOLUME 0x75F
530#define ARIZONA_AIF2TX5MIX_INPUT_1_SOURCE 0x760
531#define ARIZONA_AIF2TX5MIX_INPUT_1_VOLUME 0x761
532#define ARIZONA_AIF2TX5MIX_INPUT_2_SOURCE 0x762
533#define ARIZONA_AIF2TX5MIX_INPUT_2_VOLUME 0x763
534#define ARIZONA_AIF2TX5MIX_INPUT_3_SOURCE 0x764
535#define ARIZONA_AIF2TX5MIX_INPUT_3_VOLUME 0x765
536#define ARIZONA_AIF2TX5MIX_INPUT_4_SOURCE 0x766
537#define ARIZONA_AIF2TX5MIX_INPUT_4_VOLUME 0x767
538#define ARIZONA_AIF2TX6MIX_INPUT_1_SOURCE 0x768
539#define ARIZONA_AIF2TX6MIX_INPUT_1_VOLUME 0x769
540#define ARIZONA_AIF2TX6MIX_INPUT_2_SOURCE 0x76A
541#define ARIZONA_AIF2TX6MIX_INPUT_2_VOLUME 0x76B
542#define ARIZONA_AIF2TX6MIX_INPUT_3_SOURCE 0x76C
543#define ARIZONA_AIF2TX6MIX_INPUT_3_VOLUME 0x76D
544#define ARIZONA_AIF2TX6MIX_INPUT_4_SOURCE 0x76E
545#define ARIZONA_AIF2TX6MIX_INPUT_4_VOLUME 0x76F
514#define ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE 0x780 546#define ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE 0x780
515#define ARIZONA_AIF3TX1MIX_INPUT_1_VOLUME 0x781 547#define ARIZONA_AIF3TX1MIX_INPUT_1_VOLUME 0x781
516#define ARIZONA_AIF3TX1MIX_INPUT_2_SOURCE 0x782 548#define ARIZONA_AIF3TX1MIX_INPUT_2_SOURCE 0x782
@@ -3726,6 +3758,35 @@
3726#define ARIZONA_AIF2TX2_SLOT_WIDTH 6 /* AIF2TX2_SLOT - [5:0] */ 3758#define ARIZONA_AIF2TX2_SLOT_WIDTH 6 /* AIF2TX2_SLOT - [5:0] */
3727 3759
3728/* 3760/*
3761 * R1355 (0x54B) - AIF2 Frame Ctrl 5
3762 */
3763#define ARIZONA_AIF2TX3_SLOT_MASK 0x003F /* AIF2TX3_SLOT - [5:0] */
3764#define ARIZONA_AIF2TX3_SLOT_SHIFT 0 /* AIF2TX3_SLOT - [5:0] */
3765#define ARIZONA_AIF2TX3_SLOT_WIDTH 6 /* AIF2TX3_SLOT - [5:0] */
3766
3767/*
3768 * R1356 (0x54C) - AIF2 Frame Ctrl 6
3769 */
3770#define ARIZONA_AIF2TX4_SLOT_MASK 0x003F /* AIF2TX4_SLOT - [5:0] */
3771#define ARIZONA_AIF2TX4_SLOT_SHIFT 0 /* AIF2TX4_SLOT - [5:0] */
3772#define ARIZONA_AIF2TX4_SLOT_WIDTH 6 /* AIF2TX4_SLOT - [5:0] */
3773
3774
3775/*
3776 * R1357 (0x54D) - AIF2 Frame Ctrl 7
3777 */
3778#define ARIZONA_AIF2TX5_SLOT_MASK 0x003F /* AIF2TX5_SLOT - [5:0] */
3779#define ARIZONA_AIF2TX5_SLOT_SHIFT 0 /* AIF2TX5_SLOT - [5:0] */
3780#define ARIZONA_AIF2TX5_SLOT_WIDTH 6 /* AIF2TX5_SLOT - [5:0] */
3781
3782/*
3783 * R1358 (0x54E) - AIF2 Frame Ctrl 8
3784 */
3785#define ARIZONA_AIF2TX6_SLOT_MASK 0x003F /* AIF2TX6_SLOT - [5:0] */
3786#define ARIZONA_AIF2TX6_SLOT_SHIFT 0 /* AIF2TX6_SLOT - [5:0] */
3787#define ARIZONA_AIF2TX6_SLOT_WIDTH 6 /* AIF2TX6_SLOT - [5:0] */
3788
3789/*
3729 * R1361 (0x551) - AIF2 Frame Ctrl 11 3790 * R1361 (0x551) - AIF2 Frame Ctrl 11
3730 */ 3791 */
3731#define ARIZONA_AIF2RX1_SLOT_MASK 0x003F /* AIF2RX1_SLOT - [5:0] */ 3792#define ARIZONA_AIF2RX1_SLOT_MASK 0x003F /* AIF2RX1_SLOT - [5:0] */
@@ -3740,8 +3801,52 @@
3740#define ARIZONA_AIF2RX2_SLOT_WIDTH 6 /* AIF2RX2_SLOT - [5:0] */ 3801#define ARIZONA_AIF2RX2_SLOT_WIDTH 6 /* AIF2RX2_SLOT - [5:0] */
3741 3802
3742/* 3803/*
3804 * R1363 (0x553) - AIF2 Frame Ctrl 13
3805 */
3806#define ARIZONA_AIF2RX3_SLOT_MASK 0x003F /* AIF2RX3_SLOT - [5:0] */
3807#define ARIZONA_AIF2RX3_SLOT_SHIFT 0 /* AIF2RX3_SLOT - [5:0] */
3808#define ARIZONA_AIF2RX3_SLOT_WIDTH 6 /* AIF2RX3_SLOT - [5:0] */
3809
3810/*
3811 * R1364 (0x554) - AIF2 Frame Ctrl 14
3812 */
3813#define ARIZONA_AIF2RX4_SLOT_MASK 0x003F /* AIF2RX4_SLOT - [5:0] */
3814#define ARIZONA_AIF2RX4_SLOT_SHIFT 0 /* AIF2RX4_SLOT - [5:0] */
3815#define ARIZONA_AIF2RX4_SLOT_WIDTH 6 /* AIF2RX4_SLOT - [5:0] */
3816
3817/*
3818 * R1365 (0x555) - AIF2 Frame Ctrl 15
3819 */
3820#define ARIZONA_AIF2RX5_SLOT_MASK 0x003F /* AIF2RX5_SLOT - [5:0] */
3821#define ARIZONA_AIF2RX5_SLOT_SHIFT 0 /* AIF2RX5_SLOT - [5:0] */
3822#define ARIZONA_AIF2RX5_SLOT_WIDTH 6 /* AIF2RX5_SLOT - [5:0] */
3823
3824/*
3825 * R1366 (0x556) - AIF2 Frame Ctrl 16
3826 */
3827#define ARIZONA_AIF2RX6_SLOT_MASK 0x003F /* AIF2RX6_SLOT - [5:0] */
3828#define ARIZONA_AIF2RX6_SLOT_SHIFT 0 /* AIF2RX6_SLOT - [5:0] */
3829#define ARIZONA_AIF2RX6_SLOT_WIDTH 6 /* AIF2RX6_SLOT - [5:0] */
3830
3831/*
3743 * R1369 (0x559) - AIF2 Tx Enables 3832 * R1369 (0x559) - AIF2 Tx Enables
3744 */ 3833 */
3834#define ARIZONA_AIF2TX6_ENA 0x0020 /* AIF2TX6_ENA */
3835#define ARIZONA_AIF2TX6_ENA_MASK 0x0020 /* AIF2TX6_ENA */
3836#define ARIZONA_AIF2TX6_ENA_SHIFT 5 /* AIF2TX6_ENA */
3837#define ARIZONA_AIF2TX6_ENA_WIDTH 1 /* AIF2TX6_ENA */
3838#define ARIZONA_AIF2TX5_ENA 0x0010 /* AIF2TX5_ENA */
3839#define ARIZONA_AIF2TX5_ENA_MASK 0x0010 /* AIF2TX5_ENA */
3840#define ARIZONA_AIF2TX5_ENA_SHIFT 4 /* AIF2TX5_ENA */
3841#define ARIZONA_AIF2TX5_ENA_WIDTH 1 /* AIF2TX5_ENA */
3842#define ARIZONA_AIF2TX4_ENA 0x0008 /* AIF2TX4_ENA */
3843#define ARIZONA_AIF2TX4_ENA_MASK 0x0008 /* AIF2TX4_ENA */
3844#define ARIZONA_AIF2TX4_ENA_SHIFT 3 /* AIF2TX4_ENA */
3845#define ARIZONA_AIF2TX4_ENA_WIDTH 1 /* AIF2TX4_ENA */
3846#define ARIZONA_AIF2TX3_ENA 0x0004 /* AIF2TX3_ENA */
3847#define ARIZONA_AIF2TX3_ENA_MASK 0x0004 /* AIF2TX3_ENA */
3848#define ARIZONA_AIF2TX3_ENA_SHIFT 2 /* AIF2TX3_ENA */
3849#define ARIZONA_AIF2TX3_ENA_WIDTH 1 /* AIF2TX3_ENA */
3745#define ARIZONA_AIF2TX2_ENA 0x0002 /* AIF2TX2_ENA */ 3850#define ARIZONA_AIF2TX2_ENA 0x0002 /* AIF2TX2_ENA */
3746#define ARIZONA_AIF2TX2_ENA_MASK 0x0002 /* AIF2TX2_ENA */ 3851#define ARIZONA_AIF2TX2_ENA_MASK 0x0002 /* AIF2TX2_ENA */
3747#define ARIZONA_AIF2TX2_ENA_SHIFT 1 /* AIF2TX2_ENA */ 3852#define ARIZONA_AIF2TX2_ENA_SHIFT 1 /* AIF2TX2_ENA */
@@ -3754,6 +3859,22 @@
3754/* 3859/*
3755 * R1370 (0x55A) - AIF2 Rx Enables 3860 * R1370 (0x55A) - AIF2 Rx Enables
3756 */ 3861 */
3862#define ARIZONA_AIF2RX6_ENA 0x0020 /* AIF2RX6_ENA */
3863#define ARIZONA_AIF2RX6_ENA_MASK 0x0020 /* AIF2RX6_ENA */
3864#define ARIZONA_AIF2RX6_ENA_SHIFT 5 /* AIF2RX6_ENA */
3865#define ARIZONA_AIF2RX6_ENA_WIDTH 1 /* AIF2RX6_ENA */
3866#define ARIZONA_AIF2RX5_ENA 0x0010 /* AIF2RX5_ENA */
3867#define ARIZONA_AIF2RX5_ENA_MASK 0x0010 /* AIF2RX5_ENA */
3868#define ARIZONA_AIF2RX5_ENA_SHIFT 4 /* AIF2RX5_ENA */
3869#define ARIZONA_AIF2RX5_ENA_WIDTH 1 /* AIF2RX5_ENA */
3870#define ARIZONA_AIF2RX4_ENA 0x0008 /* AIF2RX4_ENA */
3871#define ARIZONA_AIF2RX4_ENA_MASK 0x0008 /* AIF2RX4_ENA */
3872#define ARIZONA_AIF2RX4_ENA_SHIFT 3 /* AIF2RX4_ENA */
3873#define ARIZONA_AIF2RX4_ENA_WIDTH 1 /* AIF2RX4_ENA */
3874#define ARIZONA_AIF2RX3_ENA 0x0004 /* AIF2RX3_ENA */
3875#define ARIZONA_AIF2RX3_ENA_MASK 0x0004 /* AIF2RX3_ENA */
3876#define ARIZONA_AIF2RX3_ENA_SHIFT 2 /* AIF2RX3_ENA */
3877#define ARIZONA_AIF2RX3_ENA_WIDTH 1 /* AIF2RX3_ENA */
3757#define ARIZONA_AIF2RX2_ENA 0x0002 /* AIF2RX2_ENA */ 3878#define ARIZONA_AIF2RX2_ENA 0x0002 /* AIF2RX2_ENA */
3758#define ARIZONA_AIF2RX2_ENA_MASK 0x0002 /* AIF2RX2_ENA */ 3879#define ARIZONA_AIF2RX2_ENA_MASK 0x0002 /* AIF2RX2_ENA */
3759#define ARIZONA_AIF2RX2_ENA_SHIFT 1 /* AIF2RX2_ENA */ 3880#define ARIZONA_AIF2RX2_ENA_SHIFT 1 /* AIF2RX2_ENA */
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index 6f05b17d1965..6977bf9f19a8 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -292,6 +292,10 @@ const char *arizona_mixer_texts[ARIZONA_NUM_MIXER_INPUTS] = {
292 "AIF1RX8", 292 "AIF1RX8",
293 "AIF2RX1", 293 "AIF2RX1",
294 "AIF2RX2", 294 "AIF2RX2",
295 "AIF2RX3",
296 "AIF2RX4",
297 "AIF2RX5",
298 "AIF2RX6",
295 "AIF3RX1", 299 "AIF3RX1",
296 "AIF3RX2", 300 "AIF3RX2",
297 "SLIMRX1", 301 "SLIMRX1",
@@ -395,6 +399,10 @@ int arizona_mixer_values[ARIZONA_NUM_MIXER_INPUTS] = {
395 0x27, 399 0x27,
396 0x28, /* AIF2RX1 */ 400 0x28, /* AIF2RX1 */
397 0x29, 401 0x29,
402 0x2a,
403 0x2b,
404 0x2c,
405 0x2d,
398 0x30, /* AIF3RX1 */ 406 0x30, /* AIF3RX1 */
399 0x31, 407 0x31,
400 0x38, /* SLIMRX1 */ 408 0x38, /* SLIMRX1 */
diff --git a/sound/soc/codecs/arizona.h b/sound/soc/codecs/arizona.h
index 9e81b6392692..1f96672c7c1e 100644
--- a/sound/soc/codecs/arizona.h
+++ b/sound/soc/codecs/arizona.h
@@ -81,7 +81,7 @@ struct arizona_priv {
81 unsigned int spk_ena_pending:1; 81 unsigned int spk_ena_pending:1;
82}; 82};
83 83
84#define ARIZONA_NUM_MIXER_INPUTS 99 84#define ARIZONA_NUM_MIXER_INPUTS 103
85 85
86extern const unsigned int arizona_mixer_tlv[]; 86extern const unsigned int arizona_mixer_tlv[];
87extern const char *arizona_mixer_texts[ARIZONA_NUM_MIXER_INPUTS]; 87extern const char *arizona_mixer_texts[ARIZONA_NUM_MIXER_INPUTS];
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 },