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 12if SND_SOC_TEGRA 13 14config SND_SOC_TEGRA20_AC97 15 tristate "Tegra20 AC97 interface" 16 select SND_SOC_AC97_BUS 17 select SND_SOC_TEGRA20_DAS 18 help 19 Say Y or M if you want to add support for codecs attached to the 20 Tegra20 AC97 interface. You will also need to select the individual 21 machine drivers to support below. 22 23config SND_SOC_TEGRA20_DAS 24 tristate "Tegra20 DAS module" 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 select SND_SOC_TEGRA20_DAS 33 help 34 Say Y or M if you want to add support for codecs attached to the 35 Tegra20 I2S interface. You will also need to select the individual 36 machine drivers to support below. 37 38config SND_SOC_TEGRA20_SPDIF 39 tristate "Tegra20 SPDIF interface" 40 help 41 Say Y or M if you want to add support for the Tegra20 SPDIF interface. 42 You will also need to select the individual machine drivers to support 43 below. 44 45config SND_SOC_TEGRA30_AHUB 46 tristate "Tegra30 AHUB module" 47 help 48 Say Y or M if you want to add support for the Tegra30 AHUB module. 49 You will also need to select the individual machine drivers to 50 support below. 51 52config SND_SOC_TEGRA30_I2S 53 tristate "Tegra30 I2S interface" 54 select SND_SOC_TEGRA30_AHUB 55 help 56 Say Y or M if you want to add support for codecs attached to the 57 Tegra30 I2S interface. You will also need to select the individual 58 machine drivers to support below. 59 60config SND_SOC_TEGRA210_AHUB 61 tristate "Tegra210 AHUB module" 62 help 63 Config to enable Audio Hub (AHUB) module, which comprises of a 64 switch called Audio Crossbar (AXBAR) used to configure or modify 65 the audio routing path between various HW accelerators present in 66 AHUB. 67 Say Y or M if you want to add support for Tegra210 AHUB module. 68 69config SND_SOC_TEGRA210_DMIC 70 tristate "Tegra210 DMIC module" 71 help 72 Config to enable the Digital MIC (DMIC) controller which is used 73 to interface with Pulse Density Modulation (PDM) input devices. 74 The DMIC controller implements a converter to convert PDM signals 75 to Pulse Code Modulation (PCM) signals. This can be viewed as a 76 PDM receiver. 77 Say Y or M if you want to add support for Tegra210 DMIC module. 78 79config SND_SOC_TEGRA210_I2S 80 tristate "Tegra210 I2S module" 81 help 82 Config to enable the Inter-IC Sound (I2S) Controller which 83 implements full-duplex and bidirectional and single direction 84 point-to-point serial interfaces. It can interface with I2S 85 compatible devices. 86 Say Y or M if you want to add support for Tegra210 I2S module. 87 88config SND_SOC_TEGRA186_DSPK 89 tristate "Tegra186 DSPK module" 90 help 91 Config to enable the Digital Speaker Controller (DSPK) which 92 converts the multi-bit Pulse Code Modulation (PCM) audio input to 93 oversampled 1-bit Pulse Density Modulation (PDM) output. From the 94 signal flow perspective DSPK can be viewed as a PDM transmitter 95 that up-samples the input to the desired sampling rate by 96 interpolation and then converts the oversampled PCM input to 97 the desired 1-bit output via Delta Sigma Modulation (DSM). 98 Say Y or M if you want to add support for Tegra186 DSPK module. 99 100config SND_SOC_TEGRA210_ADMAIF 101 tristate "Tegra210 ADMAIF module" 102 help 103 Config to enable ADMAIF which is the interface between ADMA and 104 Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ 105 from AHUB must interface through an ADMAIF channel. ADMA channel 106 sending data to AHUB pairs with an ADMAIF Tx channel, where as 107 ADMA channel receiving data from AHUB pairs with an ADMAIF Rx 108 channel. Buffer size is configurable for each ADMAIIF channel. 109 Say Y or M if you want to add support for Tegra210 ADMAIF module. 110 111config SND_SOC_TEGRA210_MVC 112 tristate "Tegra210 MVC module" 113 help 114 Config to enable the digital Master Volume Controller (MVC) which 115 provides gain or attenuation to a digital signal path. It can be 116 used in input or output signal path. It can be used either for 117 per-stream volume control or for master volume control. 118 Say Y or M if you want to add support for Tegra210 MVC module. 119 120config SND_SOC_TEGRA210_SFC 121 tristate "Tegra210 SFC module" 122 help 123 Config to enable the Sampling Frequency Converter (SFC) which 124 converts the sampling frequency of input signal to another 125 frequency. It supports sampling frequency conversion of streams 126 upto 2 channels (stereo). 127 Say Y or M if you want to add support for Tegra210 SFC module. 128 129config SND_SOC_TEGRA_AUDIO_GRAPH_CARD 130 tristate "Audio Graph Card based Tegra driver" 131 depends on SND_AUDIO_GRAPH_CARD 132 help 133 Config to enable Tegra audio machine driver based on generic 134 audio graph driver. It is a thin driver written to customize 135 few things for Tegra audio. Most of the code is re-used from 136 audio graph driver and the same DT bindings are used. 137 138config SND_SOC_TEGRA_MACHINE_DRV 139 tristate 140 141config SND_SOC_TEGRA_RT5640 142 tristate "SoC Audio support for Tegra boards using an RT5640 codec" 143 depends on I2C && GPIOLIB 144 select SND_SOC_TEGRA_MACHINE_DRV 145 select SND_SOC_RT5640 146 help 147 Say Y or M here if you want to add support for SoC audio on Tegra 148 boards using the RT5640 codec, such as Dalmore. 149 150config SND_SOC_TEGRA_WM8753 151 tristate "SoC Audio support for Tegra boards using a WM8753 codec" 152 depends on I2C && GPIOLIB 153 select SND_SOC_TEGRA_MACHINE_DRV 154 select SND_SOC_WM8753 155 help 156 Say Y or M here if you want to add support for SoC audio on Tegra 157 boards using the WM8753 codec, such as Whistler. 158 159config SND_SOC_TEGRA_WM8903 160 tristate "SoC Audio support for Tegra boards using a WM8903 codec" 161 depends on I2C && GPIOLIB 162 select SND_SOC_TEGRA_MACHINE_DRV 163 select SND_SOC_WM8903 164 help 165 Say Y or M here if you want to add support for SoC audio on Tegra 166 boards using the WM8093 codec. Currently, the supported boards are 167 Harmony, Ventana, Seaboard, Kaen, and Aebl. 168 169config SND_SOC_TEGRA_WM9712 170 tristate "SoC Audio support for Tegra boards using a WM9712 codec" 171 depends on GPIOLIB 172 select SND_SOC_TEGRA_MACHINE_DRV 173 select SND_SOC_TEGRA20_AC97 174 select SND_SOC_WM9712 175 help 176 Say Y or M here if you want to add support for SoC audio on Tegra 177 boards using the WM9712 (or compatible) codec. 178 179config SND_SOC_TEGRA_TRIMSLICE 180 tristate "SoC Audio support for TrimSlice board" 181 depends on I2C 182 select SND_SOC_TEGRA_MACHINE_DRV 183 select SND_SOC_TLV320AIC23_I2C 184 help 185 Say Y or M here if you want to add support for SoC audio on the 186 TrimSlice platform. 187 188config SND_SOC_TEGRA_ALC5632 189 tristate "SoC Audio support for Tegra boards using an ALC5632 codec" 190 depends on I2C && GPIOLIB 191 select SND_SOC_TEGRA_MACHINE_DRV 192 select SND_SOC_ALC5632 193 help 194 Say Y or M here if you want to add support for SoC audio on the 195 Toshiba AC100 netbook. 196 197config SND_SOC_TEGRA_MAX98090 198 tristate "SoC Audio support for Tegra boards using a MAX98090 codec" 199 depends on I2C && GPIOLIB 200 select SND_SOC_TEGRA_MACHINE_DRV 201 select SND_SOC_MAX98090 202 help 203 Say Y or M here if you want to add support for SoC audio on Tegra 204 boards using the MAX98090 codec, such as Venice2. 205 206config SND_SOC_TEGRA_RT5677 207 tristate "SoC Audio support for Tegra boards using a RT5677 codec" 208 depends on I2C && GPIOLIB 209 select SND_SOC_TEGRA_MACHINE_DRV 210 select SND_SOC_RT5677 211 help 212 Say Y or M here if you want to add support for SoC audio on Tegra 213 boards using the RT5677 codec, such as Ryu. 214 215config SND_SOC_TEGRA_SGTL5000 216 tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" 217 depends on I2C && GPIOLIB 218 select SND_SOC_TEGRA_MACHINE_DRV 219 select SND_SOC_SGTL5000 220 help 221 Say Y or M here if you want to add support for SoC audio on Tegra 222 boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or 223 Colibri T30. 224 225endif 226