| # SPDX-License-Identifier: GPL-2.0-only | |
| config SND_SOC_TEGRA | |
| tristate "SoC Audio for the Tegra System-on-Chip" | |
| depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST | |
| depends on COMMON_CLK | |
| depends on RESET_CONTROLLER | |
| select REGMAP_MMIO | |
| select SND_SOC_GENERIC_DMAENGINE_PCM | |
| help | |
| Say Y or M here if you want support for SoC audio on Tegra. | |
| if SND_SOC_TEGRA | |
| config SND_SOC_TEGRA20_AC97 | |
| tristate "Tegra20 AC97 interface" | |
| select SND_SOC_AC97_BUS | |
| select SND_SOC_TEGRA20_DAS | |
| help | |
| Say Y or M if you want to add support for codecs attached to the | |
| Tegra20 AC97 interface. You will also need to select the individual | |
| machine drivers to support below. | |
| config SND_SOC_TEGRA20_DAS | |
| tristate "Tegra20 DAS module" | |
| help | |
| Say Y or M if you want to add support for the Tegra20 DAS module. | |
| You will also need to select the individual machine drivers to | |
| support below. | |
| config SND_SOC_TEGRA20_I2S | |
| tristate "Tegra20 I2S interface" | |
| select SND_SOC_TEGRA20_DAS | |
| help | |
| Say Y or M if you want to add support for codecs attached to the | |
| Tegra20 I2S interface. You will also need to select the individual | |
| machine drivers to support below. | |
| config SND_SOC_TEGRA20_SPDIF | |
| tristate "Tegra20 SPDIF interface" | |
| help | |
| Say Y or M if you want to add support for the Tegra20 SPDIF interface. | |
| You will also need to select the individual machine drivers to support | |
| below. | |
| config SND_SOC_TEGRA30_AHUB | |
| tristate "Tegra30 AHUB module" | |
| help | |
| Say Y or M if you want to add support for the Tegra30 AHUB module. | |
| You will also need to select the individual machine drivers to | |
| support below. | |
| config SND_SOC_TEGRA30_I2S | |
| tristate "Tegra30 I2S interface" | |
| select SND_SOC_TEGRA30_AHUB | |
| help | |
| Say Y or M if you want to add support for codecs attached to the | |
| Tegra30 I2S interface. You will also need to select the individual | |
| machine drivers to support below. | |
| config SND_SOC_TEGRA210_AHUB | |
| tristate "Tegra210 AHUB module" | |
| help | |
| Config to enable Audio Hub (AHUB) module, which comprises of a | |
| switch called Audio Crossbar (AXBAR) used to configure or modify | |
| the audio routing path between various HW accelerators present in | |
| AHUB. | |
| Say Y or M if you want to add support for Tegra210 AHUB module. | |
| config SND_SOC_TEGRA210_DMIC | |
| tristate "Tegra210 DMIC module" | |
| help | |
| Config to enable the Digital MIC (DMIC) controller which is used | |
| to interface with Pulse Density Modulation (PDM) input devices. | |
| The DMIC controller implements a converter to convert PDM signals | |
| to Pulse Code Modulation (PCM) signals. This can be viewed as a | |
| PDM receiver. | |
| Say Y or M if you want to add support for Tegra210 DMIC module. | |
| config SND_SOC_TEGRA210_I2S | |
| tristate "Tegra210 I2S module" | |
| help | |
| Config to enable the Inter-IC Sound (I2S) Controller which | |
| implements full-duplex and bidirectional and single direction | |
| point-to-point serial interfaces. It can interface with I2S | |
| compatible devices. | |
| Say Y or M if you want to add support for Tegra210 I2S module. | |
| config SND_SOC_TEGRA210_OPE | |
| tristate "Tegra210 OPE module" | |
| help | |
| Config to enable the Output Processing Engine (OPE) which includes | |
| Parametric Equalizer (PEQ) and Multi Band Dynamic Range Compressor | |
| (MBDRC) sub blocks for data processing. It can support up to 8 | |
| channels. | |
| Say Y or M if you want to add support for Tegra210 OPE module. | |
| config SND_SOC_TEGRA186_ASRC | |
| tristate "Tegra186 ASRC module" | |
| help | |
| Config to enable the Asynchronous Sample Rate Converter (ASRC), | |
| which converts the sampling frequency of the input signal from | |
| one frequency to another. It can handle over a wide range of | |
| sample rate ratios (freq_in/freq_out) from 1:24 to 24:1. | |
| ASRC has two modes of operation. One where ratio can be programmed | |
| in SW and the other where it gets information from ratio estimator | |
| module. | |
| Say Y or M if you want to add support for Tegra186 ASRC module. | |
| config SND_SOC_TEGRA186_DSPK | |
| tristate "Tegra186 DSPK module" | |
| help | |
| Config to enable the Digital Speaker Controller (DSPK) which | |
| converts the multi-bit Pulse Code Modulation (PCM) audio input to | |
| oversampled 1-bit Pulse Density Modulation (PDM) output. From the | |
| signal flow perspective DSPK can be viewed as a PDM transmitter | |
| that up-samples the input to the desired sampling rate by | |
| interpolation and then converts the oversampled PCM input to | |
| the desired 1-bit output via Delta Sigma Modulation (DSM). | |
| Say Y or M if you want to add support for Tegra186 DSPK module. | |
| config SND_SOC_TEGRA210_ADMAIF | |
| tristate "Tegra210 ADMAIF module" | |
| help | |
| Config to enable ADMAIF which is the interface between ADMA and | |
| Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ | |
| from AHUB must interface through an ADMAIF channel. ADMA channel | |
| sending data to AHUB pairs with an ADMAIF Tx channel, where as | |
| ADMA channel receiving data from AHUB pairs with an ADMAIF Rx | |
| channel. Buffer size is configurable for each ADMAIIF channel. | |
| Say Y or M if you want to add support for Tegra210 ADMAIF module. | |
| config SND_SOC_TEGRA210_MVC | |
| tristate "Tegra210 MVC module" | |
| help | |
| Config to enable the digital Master Volume Controller (MVC) which | |
| provides gain or attenuation to a digital signal path. It can be | |
| used in input or output signal path. It can be used either for | |
| per-stream volume control or for master volume control. | |
| Say Y or M if you want to add support for Tegra210 MVC module. | |
| config SND_SOC_TEGRA210_SFC | |
| tristate "Tegra210 SFC module" | |
| help | |
| Config to enable the Sampling Frequency Converter (SFC) which | |
| converts the sampling frequency of input signal to another | |
| frequency. It supports sampling frequency conversion of streams | |
| upto 2 channels (stereo). | |
| Say Y or M if you want to add support for Tegra210 SFC module. | |
| config SND_SOC_TEGRA210_AMX | |
| tristate "Tegra210 AMX module" | |
| help | |
| Config to enable the Audio Multiplexer (AMX) which can multiplex | |
| four input streams (each of up to 16 channels) and generate | |
| output stream (of up to 16 channels). A byte RAM helps to form an | |
| output frame by any combination of bytes from the input frames. | |
| Say Y or M if you want to add support for Tegra210 AMX module. | |
| config SND_SOC_TEGRA210_ADX | |
| tristate "Tegra210 ADX module" | |
| help | |
| Config to enable the Audio Demultiplexer (ADX) which takes an | |
| input stream (up to 16 channels) and demultiplexes it into four | |
| output streams (each of up to 16 channels). A byte RAM helps to | |
| form output frames by any combination of bytes from the input | |
| frame. Its design is identical to that of byte RAM in the AMX | |
| except that the data flow direction is reversed. | |
| Say Y or M if you want to add support for Tegra210 ADX module. | |
| config SND_SOC_TEGRA210_MIXER | |
| tristate "Tegra210 Mixer module" | |
| help | |
| Config to enable the Mixer module which can help to mix multiple | |
| audio streams. It supports mixing of upto 10 input streams, | |
| where each stream can contain maximum of 8 channels. It supports | |
| 5 output each of which can be a mix of any combination of 10 | |
| input streams. | |
| Say Y or M if you want to add support for Tegra210 Mixer module. | |
| config SND_SOC_TEGRA_AUDIO_GRAPH_CARD | |
| tristate "Audio Graph Card based Tegra driver" | |
| depends on SND_AUDIO_GRAPH_CARD | |
| help | |
| Config to enable Tegra audio machine driver based on generic | |
| audio graph driver. It is a thin driver written to customize | |
| few things for Tegra audio. Most of the code is re-used from | |
| audio graph driver and the same DT bindings are used. | |
| config SND_SOC_TEGRA_MACHINE_DRV | |
| tristate | |
| config SND_SOC_TEGRA_RT5640 | |
| tristate "SoC Audio support for Tegra boards using an RT5640 codec" | |
| depends on I2C && GPIOLIB | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_RT5640 | |
| help | |
| Say Y or M here if you want to add support for SoC audio on Tegra | |
| boards using the RT5640 codec, such as Dalmore. | |
| config SND_SOC_TEGRA_WM8753 | |
| tristate "SoC Audio support for Tegra boards using a WM8753 codec" | |
| depends on I2C && GPIOLIB | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_WM8753 | |
| help | |
| Say Y or M here if you want to add support for SoC audio on Tegra | |
| boards using the WM8753 codec, such as Whistler. | |
| config SND_SOC_TEGRA_WM8903 | |
| tristate "SoC Audio support for Tegra boards using a WM8903 codec" | |
| depends on I2C && GPIOLIB | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_WM8903 | |
| help | |
| Say Y or M here if you want to add support for SoC audio on Tegra | |
| boards using the WM8093 codec. Currently, the supported boards are | |
| Harmony, Ventana, Seaboard, Kaen, and Aebl. | |
| config SND_SOC_TEGRA_WM9712 | |
| tristate "SoC Audio support for Tegra boards using a WM9712 codec" | |
| depends on GPIOLIB | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_TEGRA20_AC97 | |
| select SND_SOC_WM9712 | |
| help | |
| Say Y or M here if you want to add support for SoC audio on Tegra | |
| boards using the WM9712 (or compatible) codec. | |
| config SND_SOC_TEGRA_TRIMSLICE | |
| tristate "SoC Audio support for TrimSlice board" | |
| depends on I2C | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_TLV320AIC23_I2C | |
| help | |
| Say Y or M here if you want to add support for SoC audio on the | |
| TrimSlice platform. | |
| config SND_SOC_TEGRA_ALC5632 | |
| tristate "SoC Audio support for Tegra boards using an ALC5632 codec" | |
| depends on I2C && GPIOLIB | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_ALC5632 | |
| help | |
| Say Y or M here if you want to add support for SoC audio on the | |
| Toshiba AC100 netbook. | |
| config SND_SOC_TEGRA_MAX98090 | |
| tristate "SoC Audio support for Tegra boards using a MAX98090 codec" | |
| depends on I2C && GPIOLIB | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_MAX98090 | |
| help | |
| Say Y or M here if you want to add support for SoC audio on Tegra | |
| boards using the MAX98090 codec, such as Venice2. | |
| config SND_SOC_TEGRA_RT5677 | |
| tristate "SoC Audio support for Tegra boards using a RT5677 codec" | |
| depends on I2C && GPIOLIB | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_RT5677 | |
| help | |
| Say Y or M here if you want to add support for SoC audio on Tegra | |
| boards using the RT5677 codec, such as Ryu. | |
| config SND_SOC_TEGRA_SGTL5000 | |
| tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" | |
| depends on I2C && GPIOLIB | |
| select SND_SOC_TEGRA_MACHINE_DRV | |
| select SND_SOC_SGTL5000 | |
| help | |
| Say Y or M here if you want to add support for SoC audio on Tegra | |
| boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or | |
| Colibri T30. | |
| endif |