Revert "unicode: Don't special case ignorable code points"
[linux.git] / sound / soc / tegra / Kconfig
blob2463c22e9cf6d76af6d24e7343ee0adbb00f5b49
1 # SPDX-License-Identifier: GPL-2.0-only
2 config 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.
12 if SND_SOC_TEGRA
14 config 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.
23 config 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.
30 config 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.
38 config 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.
45 config 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.
52 config 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.
60 config 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.
69 config 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.
79 config SND_SOC_TEGRA210_I2S
80         tristate "Tegra210 I2S module"
81         select SND_SIMPLE_CARD_UTILS
82         help
83           Config to enable the Inter-IC Sound (I2S) Controller which
84           implements full-duplex and bidirectional and single direction
85           point-to-point serial interfaces. It can interface with I2S
86           compatible devices.
87           Say Y or M if you want to add support for Tegra210 I2S module.
89 config SND_SOC_TEGRA210_OPE
90         tristate "Tegra210 OPE module"
91         help
92           Config to enable the Output Processing Engine (OPE) which includes
93           Parametric Equalizer (PEQ) and Multi Band Dynamic Range Compressor
94           (MBDRC) sub blocks for data processing. It can support up to 8
95           channels.
96           Say Y or M if you want to add support for Tegra210 OPE module.
98 config SND_SOC_TEGRA186_ASRC
99         tristate "Tegra186 ASRC module"
100         help
101           Config to enable the Asynchronous Sample Rate Converter (ASRC),
102           which converts the sampling frequency of the input signal from
103           one frequency to another. It can handle over a wide range of
104           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 programmed
106           in SW and the other where it gets information from ratio estimator
107           module.
108           Say Y or M if you want to add support for Tegra186 ASRC module.
110 config SND_SOC_TEGRA186_DSPK
111         tristate "Tegra186 DSPK module"
112         help
113           Config to enable the Digital Speaker Controller (DSPK) which
114           converts the multi-bit Pulse Code Modulation (PCM) audio input to
115           oversampled 1-bit Pulse Density Modulation (PDM) output. From the
116           signal flow perspective DSPK can be viewed as a PDM transmitter
117           that up-samples the input to the desired sampling rate by
118           interpolation and then converts the oversampled PCM input to
119           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.
122 config SND_SOC_TEGRA210_ADMAIF
123         tristate "Tegra210 ADMAIF module"
124         help
125           Config to enable ADMAIF which is the interface between ADMA and
126           Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
127           from AHUB must interface through an ADMAIF channel. ADMA channel
128           sending data to AHUB pairs with an ADMAIF Tx channel, where as
129           ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
130           channel. Buffer size is configurable for each ADMAIIF channel.
131           Say Y or M if you want to add support for Tegra210 ADMAIF module.
133 config SND_SOC_TEGRA210_MVC
134         tristate "Tegra210 MVC module"
135         help
136           Config to enable the digital Master Volume Controller (MVC) which
137           provides gain or attenuation to a digital signal path. It can be
138           used in input or output signal path. It can be used either for
139           per-stream volume control or for master volume control.
140           Say Y or M if you want to add support for Tegra210 MVC module.
142 config SND_SOC_TEGRA210_SFC
143         tristate "Tegra210 SFC module"
144         help
145           Config to enable the Sampling Frequency Converter (SFC) which
146           converts the sampling frequency of input signal to another
147           frequency. It supports sampling frequency conversion of streams
148           up to 2 channels (stereo).
149           Say Y or M if you want to add support for Tegra210 SFC module.
151 config SND_SOC_TEGRA210_AMX
152         tristate "Tegra210 AMX module"
153         help
154           Config to enable the Audio Multiplexer (AMX) which can multiplex
155           four input streams (each of up to 16 channels) and generate
156           output stream (of up to 16 channels). A byte RAM helps to form an
157           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.
160 config SND_SOC_TEGRA210_ADX
161         tristate "Tegra210 ADX module"
162         help
163           Config to enable the Audio Demultiplexer (ADX) which takes an
164           input stream (up to 16 channels) and demultiplexes it into four
165           output streams (each of up to 16 channels). A byte RAM helps to
166           form output frames by any combination of bytes from the input
167           frame. Its design is identical to that of byte RAM in the AMX
168           except that the data flow direction is reversed.
169           Say Y or M if you want to add support for Tegra210 ADX module.
171 config SND_SOC_TEGRA210_MIXER
172         tristate "Tegra210 Mixer module"
173         help
174           Config to enable the Mixer module which can help to mix multiple
175           audio streams. It supports mixing of up to 10 input streams,
176           where each stream can contain maximum of 8 channels. It supports
177           5 output each of which can be a mix of any combination of 10
178           input streams.
179           Say Y or M if you want to add support for Tegra210 Mixer module.
181 config SND_SOC_TEGRA_AUDIO_GRAPH_CARD
182         tristate "Audio Graph Card based Tegra driver"
183         depends on SND_AUDIO_GRAPH_CARD
184         help
185           Config to enable Tegra audio machine driver based on generic
186           audio graph driver. It is a thin driver written to customize
187           few things for Tegra audio. Most of the code is re-used from
188           audio graph driver and the same DT bindings are used.
190 config SND_SOC_TEGRA_MACHINE_DRV
191         tristate
193 config SND_SOC_TEGRA_RT5631
194         tristate "SoC Audio support for Tegra boards using an RT5631 codec"
195         depends on SND_SOC_TEGRA && I2C && GPIOLIB
196         select SND_SOC_TEGRA_MACHINE_DRV
197         select SND_SOC_RT5631
198         help
199           Say Y or M here if you want to add support for SoC audio on Tegra
200           boards using the RT5631 codec, such as Transformer.
202 config SND_SOC_TEGRA_RT5640
203         tristate "SoC Audio support for Tegra boards using an RT5640 codec"
204         depends on I2C && GPIOLIB
205         select SND_SOC_TEGRA_MACHINE_DRV
206         select SND_SOC_RT5640
207         help
208           Say Y or M here if you want to add support for SoC audio on Tegra
209           boards using the RT5640 codec, such as Dalmore.
211 config SND_SOC_TEGRA_WM8753
212         tristate "SoC Audio support for Tegra boards using a WM8753 codec"
213         depends on I2C && GPIOLIB
214         select SND_SOC_TEGRA_MACHINE_DRV
215         select SND_SOC_WM8753
216         help
217           Say Y or M here if you want to add support for SoC audio on Tegra
218           boards using the WM8753 codec, such as Whistler.
220 config SND_SOC_TEGRA_WM8903
221         tristate "SoC Audio support for Tegra boards using a WM8903 codec"
222         depends on I2C && GPIOLIB
223         select SND_SOC_TEGRA_MACHINE_DRV
224         select SND_SOC_WM8903
225         help
226           Say Y or M here if you want to add support for SoC audio on Tegra
227           boards using the WM8093 codec. Currently, the supported boards are
228           Harmony, Ventana, Seaboard, Kaen, and Aebl.
230 config SND_SOC_TEGRA_WM9712
231         tristate "SoC Audio support for Tegra boards using a WM9712 codec"
232         depends on GPIOLIB
233         select SND_SOC_TEGRA_MACHINE_DRV
234         select SND_SOC_TEGRA20_AC97
235         select SND_SOC_WM9712
236         help
237           Say Y or M here if you want to add support for SoC audio on Tegra
238           boards using the WM9712 (or compatible) codec.
240 config SND_SOC_TEGRA_TRIMSLICE
241         tristate "SoC Audio support for TrimSlice board"
242         depends on I2C
243         select SND_SOC_TEGRA_MACHINE_DRV
244         select SND_SOC_TLV320AIC23_I2C
245         help
246           Say Y or M here if you want to add support for SoC audio on the
247           TrimSlice platform.
249 config SND_SOC_TEGRA_ALC5632
250         tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
251         depends on I2C && GPIOLIB
252         select SND_SOC_TEGRA_MACHINE_DRV
253         select SND_SOC_ALC5632
254         help
255           Say Y or M here if you want to add support for SoC audio on the
256           Toshiba AC100 netbook.
258 config SND_SOC_TEGRA_MAX98090
259         tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
260         depends on I2C && GPIOLIB
261         select SND_SOC_TEGRA_MACHINE_DRV
262         select SND_SOC_MAX98090
263         help
264           Say Y or M here if you want to add support for SoC audio on Tegra
265           boards using the MAX98090 codec, such as Venice2.
267 config SND_SOC_TEGRA_MAX98088
268         tristate "SoC Audio support for Tegra boards using a MAX9808x codec"
269         depends on I2C && GPIOLIB
270         select SND_SOC_TEGRA_MACHINE_DRV
271         select SND_SOC_MAX98088
272         help
273           Say Y or M here if you want to add support for SoC audio on Tegra
274           boards using the MAX98088 codec, such as LG X3.
276 config SND_SOC_TEGRA_RT5677
277         tristate "SoC Audio support for Tegra boards using a RT5677 codec"
278         depends on I2C && GPIOLIB
279         select SND_SOC_TEGRA_MACHINE_DRV
280         select SND_SOC_RT5677
281         help
282           Say Y or M here if you want to add support for SoC audio on Tegra
283           boards using the RT5677 codec, such as Ryu.
285 config SND_SOC_TEGRA_SGTL5000
286         tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
287         depends on I2C && GPIOLIB
288         select SND_SOC_TEGRA_MACHINE_DRV
289         select SND_SOC_SGTL5000
290         help
291           Say Y or M here if you want to add support for SoC audio on Tegra
292           boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or
293           Colibri T30.
295 endif