296 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2config SND_SOC_TEGRA3 tristate "SoC Audio for the Tegra System-on-Chip"4 depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST5 depends on COMMON_CLK6 depends on RESET_CONTROLLER7 select REGMAP_MMIO8 select SND_SOC_GENERIC_DMAENGINE_PCM9 help10 Say Y or M here if you want support for SoC audio on Tegra.11 12if SND_SOC_TEGRA13 14config SND_SOC_TEGRA20_AC9715 tristate "Tegra20 AC97 interface"16 select SND_SOC_AC97_BUS17 select SND_SOC_TEGRA20_DAS18 help19 Say Y or M if you want to add support for codecs attached to the20 Tegra20 AC97 interface. You will also need to select the individual21 machine drivers to support below.22 23config SND_SOC_TEGRA20_DAS24 tristate "Tegra20 DAS module"25 help26 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 to28 support below.29 30config SND_SOC_TEGRA20_I2S31 tristate "Tegra20 I2S interface"32 select SND_SOC_TEGRA20_DAS33 help34 Say Y or M if you want to add support for codecs attached to the35 Tegra20 I2S interface. You will also need to select the individual36 machine drivers to support below.37 38config SND_SOC_TEGRA20_SPDIF39 tristate "Tegra20 SPDIF interface"40 help41 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 support43 below.44 45config SND_SOC_TEGRA30_AHUB46 tristate "Tegra30 AHUB module"47 help48 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 to50 support below.51 52config SND_SOC_TEGRA30_I2S53 tristate "Tegra30 I2S interface"54 select SND_SOC_TEGRA30_AHUB55 help56 Say Y or M if you want to add support for codecs attached to the57 Tegra30 I2S interface. You will also need to select the individual58 machine drivers to support below.59 60config SND_SOC_TEGRA210_AHUB61 tristate "Tegra210 AHUB module"62 help63 Config to enable Audio Hub (AHUB) module, which comprises of a64 switch called Audio Crossbar (AXBAR) used to configure or modify65 the audio routing path between various HW accelerators present in66 AHUB.67 Say Y or M if you want to add support for Tegra210 AHUB module.68 69config SND_SOC_TEGRA210_DMIC70 tristate "Tegra210 DMIC module"71 help72 Config to enable the Digital MIC (DMIC) controller which is used73 to interface with Pulse Density Modulation (PDM) input devices.74 The DMIC controller implements a converter to convert PDM signals75 to Pulse Code Modulation (PCM) signals. This can be viewed as a76 PDM receiver.77 Say Y or M if you want to add support for Tegra210 DMIC module.78 79config SND_SOC_TEGRA210_I2S80 tristate "Tegra210 I2S module"81 select SND_SIMPLE_CARD_UTILS82 help83 Config to enable the Inter-IC Sound (I2S) Controller which84 implements full-duplex and bidirectional and single direction85 point-to-point serial interfaces. It can interface with I2S86 compatible devices.87 Say Y or M if you want to add support for Tegra210 I2S module.88 89config SND_SOC_TEGRA210_OPE90 tristate "Tegra210 OPE module"91 help92 Config to enable the Output Processing Engine (OPE) which includes93 Parametric Equalizer (PEQ) and Multi Band Dynamic Range Compressor94 (MBDRC) sub blocks for data processing. It can support up to 895 channels.96 Say Y or M if you want to add support for Tegra210 OPE module.97 98config SND_SOC_TEGRA186_ASRC99 tristate "Tegra186 ASRC module"100 help101 Config to enable the Asynchronous Sample Rate Converter (ASRC),102 which converts the sampling frequency of the input signal from103 one frequency to another. It can handle over a wide range of104 sample rate ratios (freq_in/freq_out) from 1:24 to 24:1.105 ASRC has two modes of operation. One where ratio can be programmed106 in SW and the other where it gets information from ratio estimator107 module.108 Say Y or M if you want to add support for Tegra186 ASRC module.109 110config SND_SOC_TEGRA186_DSPK111 tristate "Tegra186 DSPK module"112 help113 Config to enable the Digital Speaker Controller (DSPK) which114 converts the multi-bit Pulse Code Modulation (PCM) audio input to115 oversampled 1-bit Pulse Density Modulation (PDM) output. From the116 signal flow perspective DSPK can be viewed as a PDM transmitter117 that up-samples the input to the desired sampling rate by118 interpolation and then converts the oversampled PCM input to119 the desired 1-bit output via Delta Sigma Modulation (DSM).120 Say Y or M if you want to add support for Tegra186 DSPK module.121 122config SND_SOC_TEGRA210_ADMAIF123 tristate "Tegra210 ADMAIF module"124 help125 Config to enable ADMAIF which is the interface between ADMA and126 Audio Hub (AHUB). Each ADMA channel that sends/receives data to/127 from AHUB must interface through an ADMAIF channel. ADMA channel128 sending data to AHUB pairs with an ADMAIF Tx channel, where as129 ADMA channel receiving data from AHUB pairs with an ADMAIF Rx130 channel. Buffer size is configurable for each ADMAIIF channel.131 Say Y or M if you want to add support for Tegra210 ADMAIF module.132 133config SND_SOC_TEGRA210_MVC134 tristate "Tegra210 MVC module"135 help136 Config to enable the digital Master Volume Controller (MVC) which137 provides gain or attenuation to a digital signal path. It can be138 used in input or output signal path. It can be used either for139 per-stream volume control or for master volume control.140 Say Y or M if you want to add support for Tegra210 MVC module.141 142config SND_SOC_TEGRA210_SFC143 tristate "Tegra210 SFC module"144 help145 Config to enable the Sampling Frequency Converter (SFC) which146 converts the sampling frequency of input signal to another147 frequency. It supports sampling frequency conversion of streams148 up to 2 channels (stereo).149 Say Y or M if you want to add support for Tegra210 SFC module.150 151config SND_SOC_TEGRA210_AMX152 tristate "Tegra210 AMX module"153 help154 Config to enable the Audio Multiplexer (AMX) which can multiplex155 four input streams (each of up to 16 channels) and generate156 output stream (of up to 16 channels). A byte RAM helps to form an157 output frame by any combination of bytes from the input frames.158 Say Y or M if you want to add support for Tegra210 AMX module.159 160config SND_SOC_TEGRA210_ADX161 tristate "Tegra210 ADX module"162 help163 Config to enable the Audio Demultiplexer (ADX) which takes an164 input stream (up to 16 channels) and demultiplexes it into four165 output streams (each of up to 16 channels). A byte RAM helps to166 form output frames by any combination of bytes from the input167 frame. Its design is identical to that of byte RAM in the AMX168 except that the data flow direction is reversed.169 Say Y or M if you want to add support for Tegra210 ADX module.170 171config SND_SOC_TEGRA210_MIXER172 tristate "Tegra210 Mixer module"173 help174 Config to enable the Mixer module which can help to mix multiple175 audio streams. It supports mixing of up to 10 input streams,176 where each stream can contain maximum of 8 channels. It supports177 5 output each of which can be a mix of any combination of 10178 input streams.179 Say Y or M if you want to add support for Tegra210 Mixer module.180 181config SND_SOC_TEGRA_AUDIO_GRAPH_CARD182 tristate "Audio Graph Card based Tegra driver"183 depends on SND_AUDIO_GRAPH_CARD184 help185 Config to enable Tegra audio machine driver based on generic186 audio graph driver. It is a thin driver written to customize187 few things for Tegra audio. Most of the code is re-used from188 audio graph driver and the same DT bindings are used.189 190config SND_SOC_TEGRA_MACHINE_DRV191 tristate192 193config SND_SOC_TEGRA_RT5631194 tristate "SoC Audio support for Tegra boards using an RT5631 codec"195 depends on SND_SOC_TEGRA && I2C && GPIOLIB196 select SND_SOC_TEGRA_MACHINE_DRV197 select SND_SOC_RT5631198 help199 Say Y or M here if you want to add support for SoC audio on Tegra200 boards using the RT5631 codec, such as Transformer.201 202config SND_SOC_TEGRA_RT5640203 tristate "SoC Audio support for Tegra boards using an RT5640 codec"204 depends on I2C && GPIOLIB205 select SND_SOC_TEGRA_MACHINE_DRV206 select SND_SOC_RT5640207 help208 Say Y or M here if you want to add support for SoC audio on Tegra209 boards using the RT5640 codec, such as Dalmore.210 211config SND_SOC_TEGRA_WM8753212 tristate "SoC Audio support for Tegra boards using a WM8753 codec"213 depends on I2C && GPIOLIB214 select SND_SOC_TEGRA_MACHINE_DRV215 select SND_SOC_WM8753216 help217 Say Y or M here if you want to add support for SoC audio on Tegra218 boards using the WM8753 codec, such as Whistler.219 220config SND_SOC_TEGRA_WM8903221 tristate "SoC Audio support for Tegra boards using a WM8903 codec"222 depends on I2C && GPIOLIB223 select SND_SOC_TEGRA_MACHINE_DRV224 select SND_SOC_WM8903225 help226 Say Y or M here if you want to add support for SoC audio on Tegra227 boards using the WM8093 codec. Currently, the supported boards are228 Harmony, Ventana, Seaboard, Kaen, and Aebl.229 230config SND_SOC_TEGRA_WM9712231 tristate "SoC Audio support for Tegra boards using a WM9712 codec"232 depends on GPIOLIB233 select SND_SOC_TEGRA_MACHINE_DRV234 select SND_SOC_TEGRA20_AC97235 select SND_SOC_WM9712236 help237 Say Y or M here if you want to add support for SoC audio on Tegra238 boards using the WM9712 (or compatible) codec.239 240config SND_SOC_TEGRA_TRIMSLICE241 tristate "SoC Audio support for TrimSlice board"242 depends on I2C243 select SND_SOC_TEGRA_MACHINE_DRV244 select SND_SOC_TLV320AIC23_I2C245 help246 Say Y or M here if you want to add support for SoC audio on the247 TrimSlice platform.248 249config SND_SOC_TEGRA_ALC5632250 tristate "SoC Audio support for Tegra boards using an ALC5632 codec"251 depends on I2C && GPIOLIB252 select SND_SOC_TEGRA_MACHINE_DRV253 select SND_SOC_ALC5632254 help255 Say Y or M here if you want to add support for SoC audio on the256 Toshiba AC100 netbook.257 258config SND_SOC_TEGRA_MAX98090259 tristate "SoC Audio support for Tegra boards using a MAX98090 codec"260 depends on I2C && GPIOLIB261 select SND_SOC_TEGRA_MACHINE_DRV262 select SND_SOC_MAX98090263 help264 Say Y or M here if you want to add support for SoC audio on Tegra265 boards using the MAX98090 codec, such as Venice2.266 267config SND_SOC_TEGRA_MAX98088268 tristate "SoC Audio support for Tegra boards using a MAX9808x codec"269 depends on I2C && GPIOLIB270 select SND_SOC_TEGRA_MACHINE_DRV271 select SND_SOC_MAX98088272 help273 Say Y or M here if you want to add support for SoC audio on Tegra274 boards using the MAX98088 codec, such as LG X3.275 276config SND_SOC_TEGRA_RT5677277 tristate "SoC Audio support for Tegra boards using a RT5677 codec"278 depends on I2C && GPIOLIB279 select SND_SOC_TEGRA_MACHINE_DRV280 select SND_SOC_RT5677281 help282 Say Y or M here if you want to add support for SoC audio on Tegra283 boards using the RT5677 codec, such as Ryu.284 285config SND_SOC_TEGRA_SGTL5000286 tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"287 depends on I2C && GPIOLIB288 select SND_SOC_TEGRA_MACHINE_DRV289 select SND_SOC_SGTL5000290 help291 Say Y or M here if you want to add support for SoC audio on Tegra292 boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or293 Colibri T30.294 295endif296