Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config SND_SOC_TEGRA
0003         tristate "SoC Audio for the Tegra System-on-Chip"
0004         depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
0005         depends on COMMON_CLK
0006         depends on RESET_CONTROLLER
0007         select REGMAP_MMIO
0008         select SND_SOC_GENERIC_DMAENGINE_PCM
0009         help
0010           Say Y or M here if you want support for SoC audio on Tegra.
0011 
0012 if SND_SOC_TEGRA
0013 
0014 config SND_SOC_TEGRA20_AC97
0015         tristate "Tegra20 AC97 interface"
0016         select SND_SOC_AC97_BUS
0017         select SND_SOC_TEGRA20_DAS
0018         help
0019           Say Y or M if you want to add support for codecs attached to the
0020           Tegra20 AC97 interface. You will also need to select the individual
0021           machine drivers to support below.
0022 
0023 config SND_SOC_TEGRA20_DAS
0024         tristate "Tegra20 DAS module"
0025         help
0026           Say Y or M if you want to add support for the Tegra20 DAS module.
0027           You will also need to select the individual machine drivers to
0028           support below.
0029 
0030 config SND_SOC_TEGRA20_I2S
0031         tristate "Tegra20 I2S interface"
0032         select SND_SOC_TEGRA20_DAS
0033         help
0034           Say Y or M if you want to add support for codecs attached to the
0035           Tegra20 I2S interface. You will also need to select the individual
0036           machine drivers to support below.
0037 
0038 config SND_SOC_TEGRA20_SPDIF
0039         tristate "Tegra20 SPDIF interface"
0040         help
0041           Say Y or M if you want to add support for the Tegra20 SPDIF interface.
0042           You will also need to select the individual machine drivers to support
0043           below.
0044 
0045 config SND_SOC_TEGRA30_AHUB
0046         tristate "Tegra30 AHUB module"
0047         help
0048           Say Y or M if you want to add support for the Tegra30 AHUB module.
0049           You will also need to select the individual machine drivers to
0050           support below.
0051 
0052 config SND_SOC_TEGRA30_I2S
0053         tristate "Tegra30 I2S interface"
0054         select SND_SOC_TEGRA30_AHUB
0055         help
0056           Say Y or M if you want to add support for codecs attached to the
0057           Tegra30 I2S interface. You will also need to select the individual
0058           machine drivers to support below.
0059 
0060 config SND_SOC_TEGRA210_AHUB
0061         tristate "Tegra210 AHUB module"
0062         help
0063           Config to enable Audio Hub (AHUB) module, which comprises of a
0064           switch called Audio Crossbar (AXBAR) used to configure or modify
0065           the audio routing path between various HW accelerators present in
0066           AHUB.
0067           Say Y or M if you want to add support for Tegra210 AHUB module.
0068 
0069 config SND_SOC_TEGRA210_DMIC
0070         tristate "Tegra210 DMIC module"
0071         help
0072           Config to enable the Digital MIC (DMIC) controller which is used
0073           to interface with Pulse Density Modulation (PDM) input devices.
0074           The DMIC controller implements a converter to convert PDM signals
0075           to Pulse Code Modulation (PCM) signals. This can be viewed as a
0076           PDM receiver.
0077           Say Y or M if you want to add support for Tegra210 DMIC module.
0078 
0079 config SND_SOC_TEGRA210_I2S
0080         tristate "Tegra210 I2S module"
0081         help
0082           Config to enable the Inter-IC Sound (I2S) Controller which
0083           implements full-duplex and bidirectional and single direction
0084           point-to-point serial interfaces. It can interface with I2S
0085           compatible devices.
0086           Say Y or M if you want to add support for Tegra210 I2S module.
0087 
0088 config SND_SOC_TEGRA210_OPE
0089         tristate "Tegra210 OPE module"
0090         help
0091           Config to enable the Output Processing Engine (OPE) which includes
0092           Parametric Equalizer (PEQ) and Multi Band Dynamic Range Compressor
0093           (MBDRC) sub blocks for data processing. It can support up to 8
0094           channels.
0095           Say Y or M if you want to add support for Tegra210 OPE module.
0096 
0097 config SND_SOC_TEGRA186_ASRC
0098         tristate "Tegra186 ASRC module"
0099         help
0100           Config to enable the Asynchronous Sample Rate Converter (ASRC),
0101           which converts the sampling frequency of the input signal from
0102           one frequency to another. It can handle over a wide range of
0103           sample rate ratios (freq_in/freq_out) from 1:24 to 24:1.
0104           ASRC has two modes of operation. One where ratio can be programmed
0105           in SW and the other where it gets information from ratio estimator
0106           module.
0107           Say Y or M if you want to add support for Tegra186 ASRC module.
0108 
0109 config SND_SOC_TEGRA186_DSPK
0110         tristate "Tegra186 DSPK module"
0111         help
0112           Config to enable the Digital Speaker Controller (DSPK) which
0113           converts the multi-bit Pulse Code Modulation (PCM) audio input to
0114           oversampled 1-bit Pulse Density Modulation (PDM) output. From the
0115           signal flow perspective DSPK can be viewed as a PDM transmitter
0116           that up-samples the input to the desired sampling rate by
0117           interpolation and then converts the oversampled PCM input to
0118           the desired 1-bit output via Delta Sigma Modulation (DSM).
0119           Say Y or M if you want to add support for Tegra186 DSPK module.
0120 
0121 config SND_SOC_TEGRA210_ADMAIF
0122         tristate "Tegra210 ADMAIF module"
0123         help
0124           Config to enable ADMAIF which is the interface between ADMA and
0125           Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
0126           from AHUB must interface through an ADMAIF channel. ADMA channel
0127           sending data to AHUB pairs with an ADMAIF Tx channel, where as
0128           ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
0129           channel. Buffer size is configurable for each ADMAIIF channel.
0130           Say Y or M if you want to add support for Tegra210 ADMAIF module.
0131 
0132 config SND_SOC_TEGRA210_MVC
0133         tristate "Tegra210 MVC module"
0134         help
0135           Config to enable the digital Master Volume Controller (MVC) which
0136           provides gain or attenuation to a digital signal path. It can be
0137           used in input or output signal path. It can be used either for
0138           per-stream volume control or for master volume control.
0139           Say Y or M if you want to add support for Tegra210 MVC module.
0140 
0141 config SND_SOC_TEGRA210_SFC
0142         tristate "Tegra210 SFC module"
0143         help
0144           Config to enable the Sampling Frequency Converter (SFC) which
0145           converts the sampling frequency of input signal to another
0146           frequency. It supports sampling frequency conversion of streams
0147           upto 2 channels (stereo).
0148           Say Y or M if you want to add support for Tegra210 SFC module.
0149 
0150 config SND_SOC_TEGRA210_AMX
0151         tristate "Tegra210 AMX module"
0152         help
0153           Config to enable the Audio Multiplexer (AMX) which can multiplex
0154           four input streams (each of up to 16 channels) and generate
0155           output stream (of up to 16 channels). A byte RAM helps to form an
0156           output frame by any combination of bytes from the input frames.
0157           Say Y or M if you want to add support for Tegra210 AMX module.
0158 
0159 config SND_SOC_TEGRA210_ADX
0160         tristate "Tegra210 ADX module"
0161         help
0162           Config to enable the Audio Demultiplexer (ADX) which takes an
0163           input stream (up to 16 channels) and demultiplexes it into four
0164           output streams (each of up to 16 channels). A byte RAM helps to
0165           form output frames by any combination of bytes from the input
0166           frame. Its design is identical to that of byte RAM in the AMX
0167           except that the data flow direction is reversed.
0168           Say Y or M if you want to add support for Tegra210 ADX module.
0169 
0170 config SND_SOC_TEGRA210_MIXER
0171         tristate "Tegra210 Mixer module"
0172         help
0173           Config to enable the Mixer module which can help to mix multiple
0174           audio streams. It supports mixing of upto 10 input streams,
0175           where each stream can contain maximum of 8 channels. It supports
0176           5 output each of which can be a mix of any combination of 10
0177           input streams.
0178           Say Y or M if you want to add support for Tegra210 Mixer module.
0179 
0180 config SND_SOC_TEGRA_AUDIO_GRAPH_CARD
0181         tristate "Audio Graph Card based Tegra driver"
0182         depends on SND_AUDIO_GRAPH_CARD
0183         help
0184           Config to enable Tegra audio machine driver based on generic
0185           audio graph driver. It is a thin driver written to customize
0186           few things for Tegra audio. Most of the code is re-used from
0187           audio graph driver and the same DT bindings are used.
0188 
0189 config SND_SOC_TEGRA_MACHINE_DRV
0190         tristate
0191 
0192 config SND_SOC_TEGRA_RT5640
0193         tristate "SoC Audio support for Tegra boards using an RT5640 codec"
0194         depends on I2C && GPIOLIB
0195         select SND_SOC_TEGRA_MACHINE_DRV
0196         select SND_SOC_RT5640
0197         help
0198           Say Y or M here if you want to add support for SoC audio on Tegra
0199           boards using the RT5640 codec, such as Dalmore.
0200 
0201 config SND_SOC_TEGRA_WM8753
0202         tristate "SoC Audio support for Tegra boards using a WM8753 codec"
0203         depends on I2C && GPIOLIB
0204         select SND_SOC_TEGRA_MACHINE_DRV
0205         select SND_SOC_WM8753
0206         help
0207           Say Y or M here if you want to add support for SoC audio on Tegra
0208           boards using the WM8753 codec, such as Whistler.
0209 
0210 config SND_SOC_TEGRA_WM8903
0211         tristate "SoC Audio support for Tegra boards using a WM8903 codec"
0212         depends on I2C && GPIOLIB
0213         select SND_SOC_TEGRA_MACHINE_DRV
0214         select SND_SOC_WM8903
0215         help
0216           Say Y or M here if you want to add support for SoC audio on Tegra
0217           boards using the WM8093 codec. Currently, the supported boards are
0218           Harmony, Ventana, Seaboard, Kaen, and Aebl.
0219 
0220 config SND_SOC_TEGRA_WM9712
0221         tristate "SoC Audio support for Tegra boards using a WM9712 codec"
0222         depends on GPIOLIB
0223         select SND_SOC_TEGRA_MACHINE_DRV
0224         select SND_SOC_TEGRA20_AC97
0225         select SND_SOC_WM9712
0226         help
0227           Say Y or M here if you want to add support for SoC audio on Tegra
0228           boards using the WM9712 (or compatible) codec.
0229 
0230 config SND_SOC_TEGRA_TRIMSLICE
0231         tristate "SoC Audio support for TrimSlice board"
0232         depends on I2C
0233         select SND_SOC_TEGRA_MACHINE_DRV
0234         select SND_SOC_TLV320AIC23_I2C
0235         help
0236           Say Y or M here if you want to add support for SoC audio on the
0237           TrimSlice platform.
0238 
0239 config SND_SOC_TEGRA_ALC5632
0240         tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
0241         depends on I2C && GPIOLIB
0242         select SND_SOC_TEGRA_MACHINE_DRV
0243         select SND_SOC_ALC5632
0244         help
0245           Say Y or M here if you want to add support for SoC audio on the
0246           Toshiba AC100 netbook.
0247 
0248 config SND_SOC_TEGRA_MAX98090
0249         tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
0250         depends on I2C && GPIOLIB
0251         select SND_SOC_TEGRA_MACHINE_DRV
0252         select SND_SOC_MAX98090
0253         help
0254           Say Y or M here if you want to add support for SoC audio on Tegra
0255           boards using the MAX98090 codec, such as Venice2.
0256 
0257 config SND_SOC_TEGRA_RT5677
0258         tristate "SoC Audio support for Tegra boards using a RT5677 codec"
0259         depends on I2C && GPIOLIB
0260         select SND_SOC_TEGRA_MACHINE_DRV
0261         select SND_SOC_RT5677
0262         help
0263           Say Y or M here if you want to add support for SoC audio on Tegra
0264           boards using the RT5677 codec, such as Ryu.
0265 
0266 config SND_SOC_TEGRA_SGTL5000
0267         tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
0268         depends on I2C && GPIOLIB
0269         select SND_SOC_TEGRA_MACHINE_DRV
0270         select SND_SOC_SGTL5000
0271         help
0272           Say Y or M here if you want to add support for SoC audio on Tegra
0273           boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or
0274           Colibri T30.
0275 
0276 endif