.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * wm8998.c -- ALSA SoC Audio driver for WM8998 codecs |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright 2015 Cirrus Logic, Inc. |
---|
5 | 6 | * |
---|
6 | 7 | * Author: Richard Fitzgerald <rf@opensource.wolfsonmicro.com> |
---|
7 | | - * |
---|
8 | | - * This program is free software; you can redistribute it and/or modify |
---|
9 | | - * it under the terms of the GNU General Public License version 2 as |
---|
10 | | - * published by the Free Software Foundation. |
---|
11 | 8 | */ |
---|
12 | 9 | |
---|
13 | 10 | #include <linux/module.h> |
---|
.. | .. |
---|
46 | 43 | |
---|
47 | 44 | switch (event) { |
---|
48 | 45 | case SND_SOC_DAPM_PRE_PMU: |
---|
49 | | - val = snd_soc_component_read32(component, ARIZONA_ASRC_RATE1); |
---|
| 46 | + val = snd_soc_component_read(component, ARIZONA_ASRC_RATE1); |
---|
50 | 47 | val &= ARIZONA_ASRC_RATE1_MASK; |
---|
51 | 48 | val >>= ARIZONA_ASRC_RATE1_SHIFT; |
---|
52 | 49 | |
---|
.. | .. |
---|
54 | 51 | case 0: |
---|
55 | 52 | case 1: |
---|
56 | 53 | case 2: |
---|
57 | | - val = snd_soc_component_read32(component, |
---|
| 54 | + val = snd_soc_component_read(component, |
---|
58 | 55 | ARIZONA_SAMPLE_RATE_1 + val); |
---|
59 | 56 | if (val >= 0x11) { |
---|
60 | 57 | dev_warn(component->dev, |
---|
61 | 58 | "Unsupported ASRC rate1 (%s)\n", |
---|
62 | 59 | arizona_sample_rate_val_to_name(val)); |
---|
63 | | - return -EINVAL; |
---|
| 60 | + return -EINVAL; |
---|
64 | 61 | } |
---|
65 | 62 | break; |
---|
66 | 63 | default: |
---|
.. | .. |
---|
70 | 67 | return -EINVAL; |
---|
71 | 68 | } |
---|
72 | 69 | |
---|
73 | | - val = snd_soc_component_read32(component, ARIZONA_ASRC_RATE2); |
---|
| 70 | + val = snd_soc_component_read(component, ARIZONA_ASRC_RATE2); |
---|
74 | 71 | val &= ARIZONA_ASRC_RATE2_MASK; |
---|
75 | 72 | val >>= ARIZONA_ASRC_RATE2_SHIFT; |
---|
76 | 73 | |
---|
.. | .. |
---|
78 | 75 | case 8: |
---|
79 | 76 | case 9: |
---|
80 | 77 | val -= 0x8; |
---|
81 | | - val = snd_soc_component_read32(component, |
---|
| 78 | + val = snd_soc_component_read(component, |
---|
82 | 79 | ARIZONA_ASYNC_SAMPLE_RATE_1 + val); |
---|
83 | 80 | if (val >= 0x11) { |
---|
84 | 81 | dev_warn(component->dev, |
---|
.. | .. |
---|
626 | 623 | |
---|
627 | 624 | SND_SOC_DAPM_AIF_OUT("AIF1TX1", NULL, 0, |
---|
628 | 625 | ARIZONA_AIF1_TX_ENABLES, ARIZONA_AIF1TX1_ENA_SHIFT, 0), |
---|
629 | | -SND_SOC_DAPM_AIF_OUT("AIF1TX2", NULL, 0, |
---|
| 626 | +SND_SOC_DAPM_AIF_OUT("AIF1TX2", NULL, 1, |
---|
630 | 627 | ARIZONA_AIF1_TX_ENABLES, ARIZONA_AIF1TX2_ENA_SHIFT, 0), |
---|
631 | | -SND_SOC_DAPM_AIF_OUT("AIF1TX3", NULL, 0, |
---|
| 628 | +SND_SOC_DAPM_AIF_OUT("AIF1TX3", NULL, 2, |
---|
632 | 629 | ARIZONA_AIF1_TX_ENABLES, ARIZONA_AIF1TX3_ENA_SHIFT, 0), |
---|
633 | | -SND_SOC_DAPM_AIF_OUT("AIF1TX4", NULL, 0, |
---|
| 630 | +SND_SOC_DAPM_AIF_OUT("AIF1TX4", NULL, 3, |
---|
634 | 631 | ARIZONA_AIF1_TX_ENABLES, ARIZONA_AIF1TX4_ENA_SHIFT, 0), |
---|
635 | | -SND_SOC_DAPM_AIF_OUT("AIF1TX5", NULL, 0, |
---|
| 632 | +SND_SOC_DAPM_AIF_OUT("AIF1TX5", NULL, 4, |
---|
636 | 633 | ARIZONA_AIF1_TX_ENABLES, ARIZONA_AIF1TX5_ENA_SHIFT, 0), |
---|
637 | | -SND_SOC_DAPM_AIF_OUT("AIF1TX6", NULL, 0, |
---|
| 634 | +SND_SOC_DAPM_AIF_OUT("AIF1TX6", NULL, 5, |
---|
638 | 635 | ARIZONA_AIF1_TX_ENABLES, ARIZONA_AIF1TX6_ENA_SHIFT, 0), |
---|
639 | 636 | |
---|
640 | 637 | SND_SOC_DAPM_AIF_IN("AIF1RX1", NULL, 0, |
---|
641 | 638 | ARIZONA_AIF1_RX_ENABLES, ARIZONA_AIF1RX1_ENA_SHIFT, 0), |
---|
642 | | -SND_SOC_DAPM_AIF_IN("AIF1RX2", NULL, 0, |
---|
| 639 | +SND_SOC_DAPM_AIF_IN("AIF1RX2", NULL, 1, |
---|
643 | 640 | ARIZONA_AIF1_RX_ENABLES, ARIZONA_AIF1RX2_ENA_SHIFT, 0), |
---|
644 | | -SND_SOC_DAPM_AIF_IN("AIF1RX3", NULL, 0, |
---|
| 641 | +SND_SOC_DAPM_AIF_IN("AIF1RX3", NULL, 2, |
---|
645 | 642 | ARIZONA_AIF1_RX_ENABLES, ARIZONA_AIF1RX3_ENA_SHIFT, 0), |
---|
646 | | -SND_SOC_DAPM_AIF_IN("AIF1RX4", NULL, 0, |
---|
| 643 | +SND_SOC_DAPM_AIF_IN("AIF1RX4", NULL, 3, |
---|
647 | 644 | ARIZONA_AIF1_RX_ENABLES, ARIZONA_AIF1RX4_ENA_SHIFT, 0), |
---|
648 | | -SND_SOC_DAPM_AIF_IN("AIF1RX5", NULL, 0, |
---|
| 645 | +SND_SOC_DAPM_AIF_IN("AIF1RX5", NULL, 4, |
---|
649 | 646 | ARIZONA_AIF1_RX_ENABLES, ARIZONA_AIF1RX5_ENA_SHIFT, 0), |
---|
650 | | -SND_SOC_DAPM_AIF_IN("AIF1RX6", NULL, 0, |
---|
| 647 | +SND_SOC_DAPM_AIF_IN("AIF1RX6", NULL, 5, |
---|
651 | 648 | ARIZONA_AIF1_RX_ENABLES, ARIZONA_AIF1RX6_ENA_SHIFT, 0), |
---|
652 | 649 | |
---|
653 | 650 | SND_SOC_DAPM_AIF_OUT("AIF2TX1", NULL, 0, |
---|
654 | 651 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX1_ENA_SHIFT, 0), |
---|
655 | | -SND_SOC_DAPM_AIF_OUT("AIF2TX2", NULL, 0, |
---|
| 652 | +SND_SOC_DAPM_AIF_OUT("AIF2TX2", NULL, 1, |
---|
656 | 653 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX2_ENA_SHIFT, 0), |
---|
657 | | -SND_SOC_DAPM_AIF_OUT("AIF2TX3", NULL, 0, |
---|
| 654 | +SND_SOC_DAPM_AIF_OUT("AIF2TX3", NULL, 2, |
---|
658 | 655 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX3_ENA_SHIFT, 0), |
---|
659 | | -SND_SOC_DAPM_AIF_OUT("AIF2TX4", NULL, 0, |
---|
| 656 | +SND_SOC_DAPM_AIF_OUT("AIF2TX4", NULL, 3, |
---|
660 | 657 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX4_ENA_SHIFT, 0), |
---|
661 | | -SND_SOC_DAPM_AIF_OUT("AIF2TX5", NULL, 0, |
---|
| 658 | +SND_SOC_DAPM_AIF_OUT("AIF2TX5", NULL, 4, |
---|
662 | 659 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX5_ENA_SHIFT, 0), |
---|
663 | | -SND_SOC_DAPM_AIF_OUT("AIF2TX6", NULL, 0, |
---|
| 660 | +SND_SOC_DAPM_AIF_OUT("AIF2TX6", NULL, 5, |
---|
664 | 661 | ARIZONA_AIF2_TX_ENABLES, ARIZONA_AIF2TX6_ENA_SHIFT, 0), |
---|
665 | 662 | |
---|
666 | 663 | SND_SOC_DAPM_AIF_IN("AIF2RX1", NULL, 0, |
---|
667 | 664 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX1_ENA_SHIFT, 0), |
---|
668 | | -SND_SOC_DAPM_AIF_IN("AIF2RX2", NULL, 0, |
---|
| 665 | +SND_SOC_DAPM_AIF_IN("AIF2RX2", NULL, 1, |
---|
669 | 666 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX2_ENA_SHIFT, 0), |
---|
670 | | -SND_SOC_DAPM_AIF_IN("AIF2RX3", NULL, 0, |
---|
| 667 | +SND_SOC_DAPM_AIF_IN("AIF2RX3", NULL, 2, |
---|
671 | 668 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX3_ENA_SHIFT, 0), |
---|
672 | | -SND_SOC_DAPM_AIF_IN("AIF2RX4", NULL, 0, |
---|
| 669 | +SND_SOC_DAPM_AIF_IN("AIF2RX4", NULL, 3, |
---|
673 | 670 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX4_ENA_SHIFT, 0), |
---|
674 | | -SND_SOC_DAPM_AIF_IN("AIF2RX5", NULL, 0, |
---|
| 671 | +SND_SOC_DAPM_AIF_IN("AIF2RX5", NULL, 4, |
---|
675 | 672 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX5_ENA_SHIFT, 0), |
---|
676 | | -SND_SOC_DAPM_AIF_IN("AIF2RX6", NULL, 0, |
---|
| 673 | +SND_SOC_DAPM_AIF_IN("AIF2RX6", NULL, 5, |
---|
677 | 674 | ARIZONA_AIF2_RX_ENABLES, ARIZONA_AIF2RX6_ENA_SHIFT, 0), |
---|
678 | 675 | |
---|
679 | 676 | SND_SOC_DAPM_AIF_IN("SLIMRX1", NULL, 0, |
---|
680 | 677 | ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE, |
---|
681 | 678 | ARIZONA_SLIMRX1_ENA_SHIFT, 0), |
---|
682 | | -SND_SOC_DAPM_AIF_IN("SLIMRX2", NULL, 0, |
---|
| 679 | +SND_SOC_DAPM_AIF_IN("SLIMRX2", NULL, 1, |
---|
683 | 680 | ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE, |
---|
684 | 681 | ARIZONA_SLIMRX2_ENA_SHIFT, 0), |
---|
685 | | -SND_SOC_DAPM_AIF_IN("SLIMRX3", NULL, 0, |
---|
| 682 | +SND_SOC_DAPM_AIF_IN("SLIMRX3", NULL, 2, |
---|
686 | 683 | ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE, |
---|
687 | 684 | ARIZONA_SLIMRX3_ENA_SHIFT, 0), |
---|
688 | | -SND_SOC_DAPM_AIF_IN("SLIMRX4", NULL, 0, |
---|
| 685 | +SND_SOC_DAPM_AIF_IN("SLIMRX4", NULL, 3, |
---|
689 | 686 | ARIZONA_SLIMBUS_RX_CHANNEL_ENABLE, |
---|
690 | 687 | ARIZONA_SLIMRX4_ENA_SHIFT, 0), |
---|
691 | 688 | |
---|
692 | 689 | SND_SOC_DAPM_AIF_OUT("SLIMTX1", NULL, 0, |
---|
693 | 690 | ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE, |
---|
694 | 691 | ARIZONA_SLIMTX1_ENA_SHIFT, 0), |
---|
695 | | -SND_SOC_DAPM_AIF_OUT("SLIMTX2", NULL, 0, |
---|
| 692 | +SND_SOC_DAPM_AIF_OUT("SLIMTX2", NULL, 1, |
---|
696 | 693 | ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE, |
---|
697 | 694 | ARIZONA_SLIMTX2_ENA_SHIFT, 0), |
---|
698 | | -SND_SOC_DAPM_AIF_OUT("SLIMTX3", NULL, 0, |
---|
| 695 | +SND_SOC_DAPM_AIF_OUT("SLIMTX3", NULL, 2, |
---|
699 | 696 | ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE, |
---|
700 | 697 | ARIZONA_SLIMTX3_ENA_SHIFT, 0), |
---|
701 | | -SND_SOC_DAPM_AIF_OUT("SLIMTX4", NULL, 0, |
---|
| 698 | +SND_SOC_DAPM_AIF_OUT("SLIMTX4", NULL, 3, |
---|
702 | 699 | ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE, |
---|
703 | 700 | ARIZONA_SLIMTX4_ENA_SHIFT, 0), |
---|
704 | | -SND_SOC_DAPM_AIF_OUT("SLIMTX5", NULL, 0, |
---|
| 701 | +SND_SOC_DAPM_AIF_OUT("SLIMTX5", NULL, 4, |
---|
705 | 702 | ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE, |
---|
706 | 703 | ARIZONA_SLIMTX5_ENA_SHIFT, 0), |
---|
707 | | -SND_SOC_DAPM_AIF_OUT("SLIMTX6", NULL, 0, |
---|
| 704 | +SND_SOC_DAPM_AIF_OUT("SLIMTX6", NULL, 5, |
---|
708 | 705 | ARIZONA_SLIMBUS_TX_CHANNEL_ENABLE, |
---|
709 | 706 | ARIZONA_SLIMTX6_ENA_SHIFT, 0), |
---|
710 | 707 | |
---|
711 | 708 | SND_SOC_DAPM_AIF_OUT("AIF3TX1", NULL, 0, |
---|
712 | 709 | ARIZONA_AIF3_TX_ENABLES, ARIZONA_AIF3TX1_ENA_SHIFT, 0), |
---|
713 | | -SND_SOC_DAPM_AIF_OUT("AIF3TX2", NULL, 0, |
---|
| 710 | +SND_SOC_DAPM_AIF_OUT("AIF3TX2", NULL, 1, |
---|
714 | 711 | ARIZONA_AIF3_TX_ENABLES, ARIZONA_AIF3TX2_ENA_SHIFT, 0), |
---|
715 | 712 | |
---|
716 | 713 | SND_SOC_DAPM_AIF_IN("AIF3RX1", NULL, 0, |
---|
717 | 714 | ARIZONA_AIF3_RX_ENABLES, ARIZONA_AIF3RX1_ENA_SHIFT, 0), |
---|
718 | | -SND_SOC_DAPM_AIF_IN("AIF3RX2", NULL, 0, |
---|
| 715 | +SND_SOC_DAPM_AIF_IN("AIF3RX2", NULL, 1, |
---|
719 | 716 | ARIZONA_AIF3_RX_ENABLES, ARIZONA_AIF3RX2_ENA_SHIFT, 0), |
---|
720 | 717 | |
---|
721 | 718 | SND_SOC_DAPM_PGA_E("OUT1L", SND_SOC_NOPM, |
---|