1# SPDX-License-Identifier: GPL-2.0-only 2config SND_SOC_TEGRA 3 tristate "SoC Audio for the Tegra System-on-Chip" 4 depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST 5 depends on COMMON_CLK 6 depends on RESET_CONTROLLER 7 select REGMAP_MMIO 8 select SND_SOC_GENERIC_DMAENGINE_PCM 9 help 10 Say Y or M here if you want support for SoC audio on Tegra. 11 12config SND_SOC_TEGRA20_AC97 13 tristate "Tegra20 AC97 interface" 14 depends on SND_SOC_TEGRA 15 select SND_SOC_AC97_BUS 16 select SND_SOC_TEGRA20_DAS 17 help 18 Say Y or M if you want to add support for codecs attached to the 19 Tegra20 AC97 interface. You will also need to select the individual 20 machine drivers to support below. 21 22config SND_SOC_TEGRA20_DAS 23 tristate "Tegra20 DAS module" 24 depends on SND_SOC_TEGRA 25 help 26 Say Y or M if you want to add support for the Tegra20 DAS module. 27 You will also need to select the individual machine drivers to 28 support below. 29 30config SND_SOC_TEGRA20_I2S 31 tristate "Tegra20 I2S interface" 32 depends on SND_SOC_TEGRA 33 select SND_SOC_TEGRA20_DAS 34 help 35 Say Y or M if you want to add support for codecs attached to the 36 Tegra20 I2S interface. You will also need to select the individual 37 machine drivers to support below. 38 39config SND_SOC_TEGRA20_SPDIF 40 tristate "Tegra20 SPDIF interface" 41 depends on SND_SOC_TEGRA 42 default m 43 help 44 Say Y or M if you want to add support for the Tegra20 SPDIF interface. 45 You will also need to select the individual machine drivers to support 46 below. 47 48config SND_SOC_TEGRA30_AHUB 49 tristate "Tegra30 AHUB module" 50 depends on SND_SOC_TEGRA 51 help 52 Say Y or M if you want to add support for the Tegra30 AHUB module. 53 You will also need to select the individual machine drivers to 54 support below. 55 56config SND_SOC_TEGRA30_I2S 57 tristate "Tegra30 I2S interface" 58 depends on SND_SOC_TEGRA 59 select SND_SOC_TEGRA30_AHUB 60 help 61 Say Y or M if you want to add support for codecs attached to the 62 Tegra30 I2S interface. You will also need to select the individual 63 machine drivers to support below. 64 65config SND_SOC_TEGRA210_AHUB 66 tristate "Tegra210 AHUB module" 67 depends on SND_SOC_TEGRA 68 help 69 Config to enable Audio Hub (AHUB) module, which comprises of a 70 switch called Audio Crossbar (AXBAR) used to configure or modify 71 the audio routing path between various HW accelerators present in 72 AHUB. 73 Say Y or M if you want to add support for Tegra210 AHUB module. 74 75config SND_SOC_TEGRA210_DMIC 76 tristate "Tegra210 DMIC module" 77 depends on SND_SOC_TEGRA 78 help 79 Config to enable the Digital MIC (DMIC) controller which is used 80 to interface with Pulse Density Modulation (PDM) input devices. 81 The DMIC controller implements a converter to convert PDM signals 82 to Pulse Code Modulation (PCM) signals. This can be viewed as a 83 PDM receiver. 84 Say Y or M if you want to add support for Tegra210 DMIC module. 85 86config SND_SOC_TEGRA210_I2S 87 tristate "Tegra210 I2S module" 88 depends on SND_SOC_TEGRA 89 help 90 Config to enable the Inter-IC Sound (I2S) Controller which 91 implements full-duplex and bidirectional and single direction 92 point-to-point serial interfaces. It can interface with I2S 93 compatible devices. 94 Say Y or M if you want to add support for Tegra210 I2S module. 95 96config SND_SOC_TEGRA186_DSPK 97 tristate "Tegra186 DSPK module" 98 depends on SND_SOC_TEGRA 99 help 100 Config to enable the Digital Speaker Controller (DSPK) which 101 converts the multi-bit Pulse Code Modulation (PCM) audio input to 102 oversampled 1-bit Pulse Density Modulation (PDM) output. From the 103 signal flow perspective DSPK can be viewed as a PDM transmitter 104 that up-samples the input to the desired sampling rate by 105 interpolation and then converts the oversampled PCM input to 106 the desired 1-bit output via Delta Sigma Modulation (DSM). 107 Say Y or M if you want to add support for Tegra186 DSPK module. 108 109config SND_SOC_TEGRA210_ADMAIF 110 tristate "Tegra210 ADMAIF module" 111 depends on SND_SOC_TEGRA 112 help 113 Config to enable ADMAIF which is the interface between ADMA and 114 Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ 115 from AHUB must interface through an ADMAIF channel. ADMA channel 116 sending data to AHUB pairs with an ADMAIF Tx channel, where as 117 ADMA channel receiving data from AHUB pairs with an ADMAIF Rx 118 channel. Buffer size is configurable for each ADMAIIF channel. 119 Say Y or M if you want to add support for Tegra210 ADMAIF module. 120 121config SND_SOC_TEGRA_RT5640 122 tristate "SoC Audio support for Tegra boards using an RT5640 codec" 123 depends on SND_SOC_TEGRA && I2C && GPIOLIB 124 select SND_SOC_RT5640 125 help 126 Say Y or M here if you want to add support for SoC audio on Tegra 127 boards using the RT5640 codec, such as Dalmore. 128 129config SND_SOC_TEGRA_WM8753 130 tristate "SoC Audio support for Tegra boards using a WM8753 codec" 131 depends on SND_SOC_TEGRA && I2C && GPIOLIB 132 select SND_SOC_WM8753 133 help 134 Say Y or M here if you want to add support for SoC audio on Tegra 135 boards using the WM8753 codec, such as Whistler. 136 137config SND_SOC_TEGRA_WM8903 138 tristate "SoC Audio support for Tegra boards using a WM8903 codec" 139 depends on SND_SOC_TEGRA && I2C && GPIOLIB 140 select SND_SOC_WM8903 141 help 142 Say Y or M here if you want to add support for SoC audio on Tegra 143 boards using the WM8093 codec. Currently, the supported boards are 144 Harmony, Ventana, Seaboard, Kaen, and Aebl. 145 146config SND_SOC_TEGRA_WM9712 147 tristate "SoC Audio support for Tegra boards using a WM9712 codec" 148 depends on SND_SOC_TEGRA && GPIOLIB 149 select SND_SOC_TEGRA20_AC97 150 select SND_SOC_WM9712 151 help 152 Say Y or M here if you want to add support for SoC audio on Tegra 153 boards using the WM9712 (or compatible) codec. 154 155config SND_SOC_TEGRA_TRIMSLICE 156 tristate "SoC Audio support for TrimSlice board" 157 depends on SND_SOC_TEGRA && I2C 158 select SND_SOC_TLV320AIC23_I2C 159 help 160 Say Y or M here if you want to add support for SoC audio on the 161 TrimSlice platform. 162 163config SND_SOC_TEGRA_ALC5632 164 tristate "SoC Audio support for Tegra boards using an ALC5632 codec" 165 depends on SND_SOC_TEGRA && I2C && GPIOLIB 166 select SND_SOC_ALC5632 167 help 168 Say Y or M here if you want to add support for SoC audio on the 169 Toshiba AC100 netbook. 170 171config SND_SOC_TEGRA_MAX98090 172 tristate "SoC Audio support for Tegra boards using a MAX98090 codec" 173 depends on SND_SOC_TEGRA && I2C && GPIOLIB 174 select SND_SOC_MAX98090 175 help 176 Say Y or M here if you want to add support for SoC audio on Tegra 177 boards using the MAX98090 codec, such as Venice2. 178 179config SND_SOC_TEGRA_RT5677 180 tristate "SoC Audio support for Tegra boards using a RT5677 codec" 181 depends on SND_SOC_TEGRA && I2C && GPIOLIB 182 select SND_SOC_RT5677 183 help 184 Say Y or M here if you want to add support for SoC audio on Tegra 185 boards using the RT5677 codec, such as Ryu. 186 187config SND_SOC_TEGRA_SGTL5000 188 tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" 189 depends on SND_SOC_TEGRA && I2C && GPIOLIB 190 select SND_SOC_SGTL5000 191 help 192 Say Y or M here if you want to add support for SoC audio on Tegra 193 boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or 194 Colibri T30. 195