diff options
author | Richard Fitzgerald <rf@opensource.wolfsonmicro.com> | 2013-11-20 08:17:07 -0500 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-11-20 08:37:52 -0500 |
commit | e64001e8efc107992fd835770f6383d0dc731594 (patch) | |
tree | bbd60b3c4c81d4d8a920aac9a303643a205bdc20 | |
parent | 9645083ca5ef365b7b750cf219bb20b61bb925f8 (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>
-rw-r--r-- | include/linux/mfd/arizona/registers.h | 121 | ||||
-rw-r--r-- | sound/soc/codecs/arizona.c | 8 | ||||
-rw-r--r-- | sound/soc/codecs/arizona.h | 2 | ||||
-rw-r--r-- | sound/soc/codecs/wm5110.c | 48 |
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 | ||
86 | extern const unsigned int arizona_mixer_tlv[]; | 86 | extern const unsigned int arizona_mixer_tlv[]; |
87 | extern const char *arizona_mixer_texts[ARIZONA_NUM_MIXER_INPUTS]; | 87 | extern 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 | ||
303 | ARIZONA_MIXER_CONTROLS("AIF2TX1", ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE), | 303 | ARIZONA_MIXER_CONTROLS("AIF2TX1", ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE), |
304 | ARIZONA_MIXER_CONTROLS("AIF2TX2", ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE), | 304 | ARIZONA_MIXER_CONTROLS("AIF2TX2", ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE), |
305 | ARIZONA_MIXER_CONTROLS("AIF2TX3", ARIZONA_AIF2TX3MIX_INPUT_1_SOURCE), | ||
306 | ARIZONA_MIXER_CONTROLS("AIF2TX4", ARIZONA_AIF2TX4MIX_INPUT_1_SOURCE), | ||
307 | ARIZONA_MIXER_CONTROLS("AIF2TX5", ARIZONA_AIF2TX5MIX_INPUT_1_SOURCE), | ||
308 | ARIZONA_MIXER_CONTROLS("AIF2TX6", ARIZONA_AIF2TX6MIX_INPUT_1_SOURCE), | ||
305 | 309 | ||
306 | ARIZONA_MIXER_CONTROLS("AIF3TX1", ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE), | 310 | ARIZONA_MIXER_CONTROLS("AIF3TX1", ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE), |
307 | ARIZONA_MIXER_CONTROLS("AIF3TX2", ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE), | 311 | ARIZONA_MIXER_CONTROLS("AIF3TX2", ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE), |
@@ -361,6 +365,10 @@ ARIZONA_MIXER_ENUMS(AIF1TX8, ARIZONA_AIF1TX8MIX_INPUT_1_SOURCE); | |||
361 | 365 | ||
362 | ARIZONA_MIXER_ENUMS(AIF2TX1, ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE); | 366 | ARIZONA_MIXER_ENUMS(AIF2TX1, ARIZONA_AIF2TX1MIX_INPUT_1_SOURCE); |
363 | ARIZONA_MIXER_ENUMS(AIF2TX2, ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE); | 367 | ARIZONA_MIXER_ENUMS(AIF2TX2, ARIZONA_AIF2TX2MIX_INPUT_1_SOURCE); |
368 | ARIZONA_MIXER_ENUMS(AIF2TX3, ARIZONA_AIF2TX3MIX_INPUT_1_SOURCE); | ||
369 | ARIZONA_MIXER_ENUMS(AIF2TX4, ARIZONA_AIF2TX4MIX_INPUT_1_SOURCE); | ||
370 | ARIZONA_MIXER_ENUMS(AIF2TX5, ARIZONA_AIF2TX5MIX_INPUT_1_SOURCE); | ||
371 | ARIZONA_MIXER_ENUMS(AIF2TX6, ARIZONA_AIF2TX6MIX_INPUT_1_SOURCE); | ||
364 | 372 | ||
365 | ARIZONA_MIXER_ENUMS(AIF3TX1, ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE); | 373 | ARIZONA_MIXER_ENUMS(AIF3TX1, ARIZONA_AIF3TX1MIX_INPUT_1_SOURCE); |
366 | ARIZONA_MIXER_ENUMS(AIF3TX2, ARIZONA_AIF3TX2MIX_INPUT_1_SOURCE); | 374 | ARIZONA_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), |
562 | SND_SOC_DAPM_AIF_OUT("AIF2TX2", NULL, 0, | 570 | SND_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), |
572 | SND_SOC_DAPM_AIF_OUT("AIF2TX3", NULL, 0, | ||
573 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX3_ENA_SHIFT, 0), | ||
574 | SND_SOC_DAPM_AIF_OUT("AIF2TX4", NULL, 0, | ||
575 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX4_ENA_SHIFT, 0), | ||
576 | SND_SOC_DAPM_AIF_OUT("AIF2TX5", NULL, 0, | ||
577 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX5_ENA_SHIFT, 0), | ||
578 | SND_SOC_DAPM_AIF_OUT("AIF2TX6", NULL, 0, | ||
579 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX6_ENA_SHIFT, 0), | ||
564 | 580 | ||
565 | SND_SOC_DAPM_AIF_IN("AIF2RX1", NULL, 0, | 581 | SND_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), |
567 | SND_SOC_DAPM_AIF_IN("AIF2RX2", NULL, 0, | 583 | SND_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), |
585 | SND_SOC_DAPM_AIF_IN("AIF2RX3", NULL, 0, | ||
586 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX3_ENA_SHIFT, 0), | ||
587 | SND_SOC_DAPM_AIF_IN("AIF2RX4", NULL, 0, | ||
588 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX4_ENA_SHIFT, 0), | ||
589 | SND_SOC_DAPM_AIF_IN("AIF2RX5", NULL, 0, | ||
590 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX5_ENA_SHIFT, 0), | ||
591 | SND_SOC_DAPM_AIF_IN("AIF2RX6", NULL, 0, | ||
592 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX6_ENA_SHIFT, 0), | ||
569 | 593 | ||
570 | SND_SOC_DAPM_AIF_IN("SLIMRX1", NULL, 0, | 594 | SND_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 | ||
704 | ARIZONA_MIXER_WIDGETS(AIF2TX1, "AIF2TX1"), | 728 | ARIZONA_MIXER_WIDGETS(AIF2TX1, "AIF2TX1"), |
705 | ARIZONA_MIXER_WIDGETS(AIF2TX2, "AIF2TX2"), | 729 | ARIZONA_MIXER_WIDGETS(AIF2TX2, "AIF2TX2"), |
730 | ARIZONA_MIXER_WIDGETS(AIF2TX3, "AIF2TX3"), | ||
731 | ARIZONA_MIXER_WIDGETS(AIF2TX4, "AIF2TX4"), | ||
732 | ARIZONA_MIXER_WIDGETS(AIF2TX5, "AIF2TX5"), | ||
733 | ARIZONA_MIXER_WIDGETS(AIF2TX6, "AIF2TX6"), | ||
706 | 734 | ||
707 | ARIZONA_MIXER_WIDGETS(AIF3TX1, "AIF3TX1"), | 735 | ARIZONA_MIXER_WIDGETS(AIF3TX1, "AIF3TX1"), |
708 | ARIZONA_MIXER_WIDGETS(AIF3TX2, "AIF3TX2"), | 736 | ARIZONA_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 | }, |