Linux Audio

Check our new training course

Loading...
v6.2
  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_TEGRA210_OPE
 89	tristate "Tegra210 OPE module"
 90	help
 91	  Config to enable the Output Processing Engine (OPE) which includes
 92	  Parametric Equalizer (PEQ) and Multi Band Dynamic Range Compressor
 93	  (MBDRC) sub blocks for data processing. It can support up to 8
 94	  channels.
 95	  Say Y or M if you want to add support for Tegra210 OPE module.
 96
 97config SND_SOC_TEGRA186_ASRC
 98	tristate "Tegra186 ASRC module"
 99	help
100	  Config to enable the Asynchronous Sample Rate Converter (ASRC),
101	  which converts the sampling frequency of the input signal from
102	  one frequency to another. It can handle over a wide range of
103	  sample rate ratios (freq_in/freq_out) from 1:24 to 24:1.
104	  ASRC has two modes of operation. One where ratio can be programmed
105	  in SW and the other where it gets information from ratio estimator
106	  module.
107	  Say Y or M if you want to add support for Tegra186 ASRC module.
108
109config SND_SOC_TEGRA186_DSPK
110	tristate "Tegra186 DSPK module"
 
111	help
112	  Config to enable the Digital Speaker Controller (DSPK) which
113	  converts the multi-bit Pulse Code Modulation (PCM) audio input to
114	  oversampled 1-bit Pulse Density Modulation (PDM) output. From the
115	  signal flow perspective DSPK can be viewed as a PDM transmitter
116	  that up-samples the input to the desired sampling rate by
117	  interpolation and then converts the oversampled PCM input to
118	  the desired 1-bit output via Delta Sigma Modulation (DSM).
119	  Say Y or M if you want to add support for Tegra186 DSPK module.
120
121config SND_SOC_TEGRA210_ADMAIF
122	tristate "Tegra210 ADMAIF module"
 
123	help
124	  Config to enable ADMAIF which is the interface between ADMA and
125	  Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
126	  from AHUB must interface through an ADMAIF channel. ADMA channel
127	  sending data to AHUB pairs with an ADMAIF Tx channel, where as
128	  ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
129	  channel. Buffer size is configurable for each ADMAIIF channel.
130	  Say Y or M if you want to add support for Tegra210 ADMAIF module.
131
132config SND_SOC_TEGRA210_MVC
133	tristate "Tegra210 MVC module"
134	help
135	  Config to enable the digital Master Volume Controller (MVC) which
136	  provides gain or attenuation to a digital signal path. It can be
137	  used in input or output signal path. It can be used either for
138	  per-stream volume control or for master volume control.
139	  Say Y or M if you want to add support for Tegra210 MVC module.
140
141config SND_SOC_TEGRA210_SFC
142	tristate "Tegra210 SFC module"
143	help
144	  Config to enable the Sampling Frequency Converter (SFC) which
145	  converts the sampling frequency of input signal to another
146	  frequency. It supports sampling frequency conversion of streams
147	  upto 2 channels (stereo).
148	  Say Y or M if you want to add support for Tegra210 SFC module.
149
150config SND_SOC_TEGRA210_AMX
151	tristate "Tegra210 AMX module"
152	help
153	  Config to enable the Audio Multiplexer (AMX) which can multiplex
154	  four input streams (each of up to 16 channels) and generate
155	  output stream (of up to 16 channels). A byte RAM helps to form an
156	  output frame by any combination of bytes from the input frames.
157	  Say Y or M if you want to add support for Tegra210 AMX module.
158
159config SND_SOC_TEGRA210_ADX
160	tristate "Tegra210 ADX module"
161	help
162	  Config to enable the Audio Demultiplexer (ADX) which takes an
163	  input stream (up to 16 channels) and demultiplexes it into four
164	  output streams (each of up to 16 channels). A byte RAM helps to
165	  form output frames by any combination of bytes from the input
166	  frame. Its design is identical to that of byte RAM in the AMX
167	  except that the data flow direction is reversed.
168	  Say Y or M if you want to add support for Tegra210 ADX module.
169
170config SND_SOC_TEGRA210_MIXER
171	tristate "Tegra210 Mixer module"
172	help
173	  Config to enable the Mixer module which can help to mix multiple
174	  audio streams. It supports mixing of upto 10 input streams,
175	  where each stream can contain maximum of 8 channels. It supports
176	  5 output each of which can be a mix of any combination of 10
177	  input streams.
178	  Say Y or M if you want to add support for Tegra210 Mixer module.
179
180config SND_SOC_TEGRA_AUDIO_GRAPH_CARD
181	tristate "Audio Graph Card based Tegra driver"
182	depends on SND_AUDIO_GRAPH_CARD
183	help
184	  Config to enable Tegra audio machine driver based on generic
185	  audio graph driver. It is a thin driver written to customize
186	  few things for Tegra audio. Most of the code is re-used from
187	  audio graph driver and the same DT bindings are used.
188
189config SND_SOC_TEGRA_MACHINE_DRV
190	tristate
191
192config SND_SOC_TEGRA_RT5640
193	tristate "SoC Audio support for Tegra boards using an RT5640 codec"
194	depends on I2C && GPIOLIB
195	select SND_SOC_TEGRA_MACHINE_DRV
196	select SND_SOC_RT5640
197	help
198	  Say Y or M here if you want to add support for SoC audio on Tegra
199	  boards using the RT5640 codec, such as Dalmore.
200
201config SND_SOC_TEGRA_WM8753
202	tristate "SoC Audio support for Tegra boards using a WM8753 codec"
203	depends on I2C && GPIOLIB
204	select SND_SOC_TEGRA_MACHINE_DRV
205	select SND_SOC_WM8753
206	help
207	  Say Y or M here if you want to add support for SoC audio on Tegra
208	  boards using the WM8753 codec, such as Whistler.
209
210config SND_SOC_TEGRA_WM8903
211	tristate "SoC Audio support for Tegra boards using a WM8903 codec"
212	depends on I2C && GPIOLIB
213	select SND_SOC_TEGRA_MACHINE_DRV
214	select SND_SOC_WM8903
215	help
216	  Say Y or M here if you want to add support for SoC audio on Tegra
217	  boards using the WM8093 codec. Currently, the supported boards are
218	  Harmony, Ventana, Seaboard, Kaen, and Aebl.
219
220config SND_SOC_TEGRA_WM9712
221	tristate "SoC Audio support for Tegra boards using a WM9712 codec"
222	depends on GPIOLIB
223	select SND_SOC_TEGRA_MACHINE_DRV
224	select SND_SOC_TEGRA20_AC97
225	select SND_SOC_WM9712
226	help
227	  Say Y or M here if you want to add support for SoC audio on Tegra
228	  boards using the WM9712 (or compatible) codec.
229
230config SND_SOC_TEGRA_TRIMSLICE
231	tristate "SoC Audio support for TrimSlice board"
232	depends on I2C
233	select SND_SOC_TEGRA_MACHINE_DRV
234	select SND_SOC_TLV320AIC23_I2C
235	help
236	  Say Y or M here if you want to add support for SoC audio on the
237	  TrimSlice platform.
238
239config SND_SOC_TEGRA_ALC5632
240	tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
241	depends on I2C && GPIOLIB
242	select SND_SOC_TEGRA_MACHINE_DRV
243	select SND_SOC_ALC5632
244	help
245	  Say Y or M here if you want to add support for SoC audio on the
246	  Toshiba AC100 netbook.
247
248config SND_SOC_TEGRA_MAX98090
249	tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
250	depends on I2C && GPIOLIB
251	select SND_SOC_TEGRA_MACHINE_DRV
252	select SND_SOC_MAX98090
253	help
254	  Say Y or M here if you want to add support for SoC audio on Tegra
255	  boards using the MAX98090 codec, such as Venice2.
256
257config SND_SOC_TEGRA_RT5677
258	tristate "SoC Audio support for Tegra boards using a RT5677 codec"
259	depends on I2C && GPIOLIB
260	select SND_SOC_TEGRA_MACHINE_DRV
261	select SND_SOC_RT5677
262	help
263	  Say Y or M here if you want to add support for SoC audio on Tegra
264	  boards using the RT5677 codec, such as Ryu.
265
266config SND_SOC_TEGRA_SGTL5000
267	tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
268	depends on I2C && GPIOLIB
269	select SND_SOC_TEGRA_MACHINE_DRV
270	select SND_SOC_SGTL5000
271	help
272	  Say Y or M here if you want to add support for SoC audio on Tegra
273	  boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or
274	  Colibri T30.
275
276endif
v5.9
  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
 
 
 12config SND_SOC_TEGRA20_AC97
 13	tristate "Tegra20 AC97 interface"
 14	depends on SND_SOC_TEGRA
 15	select SND_SOC_AC97_BUS
 16	select SND_SOC_TEGRA20_DAS
 17	help
 18	  Say Y or M if you want to add support for codecs attached to the
 19	  Tegra20 AC97 interface. You will also need to select the individual
 20	  machine drivers to support below.
 21
 22config SND_SOC_TEGRA20_DAS
 23	tristate "Tegra20 DAS module"
 24	depends on SND_SOC_TEGRA
 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	depends on SND_SOC_TEGRA
 33	select SND_SOC_TEGRA20_DAS
 34	help
 35	  Say Y or M if you want to add support for codecs attached to the
 36	  Tegra20 I2S interface. You will also need to select the individual
 37	  machine drivers to support below.
 38
 39config SND_SOC_TEGRA20_SPDIF
 40	tristate "Tegra20 SPDIF interface"
 41	depends on SND_SOC_TEGRA
 42	default m
 43	help
 44	  Say Y or M if you want to add support for the Tegra20 SPDIF interface.
 45	  You will also need to select the individual machine drivers to support
 46	  below.
 47
 48config SND_SOC_TEGRA30_AHUB
 49	tristate "Tegra30 AHUB module"
 50	depends on SND_SOC_TEGRA
 51	help
 52	  Say Y or M if you want to add support for the Tegra30 AHUB module.
 53	  You will also need to select the individual machine drivers to
 54	  support below.
 55
 56config SND_SOC_TEGRA30_I2S
 57	tristate "Tegra30 I2S interface"
 58	depends on SND_SOC_TEGRA
 59	select SND_SOC_TEGRA30_AHUB
 60	help
 61	  Say Y or M if you want to add support for codecs attached to the
 62	  Tegra30 I2S interface. You will also need to select the individual
 63	  machine drivers to support below.
 64
 65config SND_SOC_TEGRA210_AHUB
 66	tristate "Tegra210 AHUB module"
 67	depends on SND_SOC_TEGRA
 68	help
 69	  Config to enable Audio Hub (AHUB) module, which comprises of a
 70	  switch called Audio Crossbar (AXBAR) used to configure or modify
 71	  the audio routing path between various HW accelerators present in
 72	  AHUB.
 73	  Say Y or M if you want to add support for Tegra210 AHUB module.
 74
 75config SND_SOC_TEGRA210_DMIC
 76	tristate "Tegra210 DMIC module"
 77	depends on SND_SOC_TEGRA
 78	help
 79	  Config to enable the Digital MIC (DMIC) controller which is used
 80	  to interface with Pulse Density Modulation (PDM) input devices.
 81	  The DMIC controller implements a converter to convert PDM signals
 82	  to Pulse Code Modulation (PCM) signals. This can be viewed as a
 83	  PDM receiver.
 84	  Say Y or M if you want to add support for Tegra210 DMIC module.
 85
 86config SND_SOC_TEGRA210_I2S
 87	tristate "Tegra210 I2S module"
 88	depends on SND_SOC_TEGRA
 89	help
 90	  Config to enable the Inter-IC Sound (I2S) Controller which
 91	  implements full-duplex and bidirectional and single direction
 92	  point-to-point serial interfaces. It can interface with I2S
 93	  compatible devices.
 94	  Say Y or M if you want to add support for Tegra210 I2S module.
 95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 96config SND_SOC_TEGRA186_DSPK
 97	tristate "Tegra186 DSPK module"
 98	depends on SND_SOC_TEGRA
 99	help
100	  Config to enable the Digital Speaker Controller (DSPK) which
101	  converts the multi-bit Pulse Code Modulation (PCM) audio input to
102	  oversampled 1-bit Pulse Density Modulation (PDM) output. From the
103	  signal flow perspective DSPK can be viewed as a PDM transmitter
104	  that up-samples the input to the desired sampling rate by
105	  interpolation and then converts the oversampled PCM input to
106	  the desired 1-bit output via Delta Sigma Modulation (DSM).
107	  Say Y or M if you want to add support for Tegra186 DSPK module.
108
109config SND_SOC_TEGRA210_ADMAIF
110	tristate "Tegra210 ADMAIF module"
111	depends on SND_SOC_TEGRA
112	help
113	  Config to enable ADMAIF which is the interface between ADMA and
114	  Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
115	  from AHUB must interface through an ADMAIF channel. ADMA channel
116	  sending data to AHUB pairs with an ADMAIF Tx channel, where as
117	  ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
118	  channel. Buffer size is configurable for each ADMAIIF channel.
119	  Say Y or M if you want to add support for Tegra210 ADMAIF module.
120
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121config SND_SOC_TEGRA_RT5640
122	tristate "SoC Audio support for Tegra boards using an RT5640 codec"
123	depends on SND_SOC_TEGRA && I2C && GPIOLIB
 
124	select SND_SOC_RT5640
125	help
126	  Say Y or M here if you want to add support for SoC audio on Tegra
127	  boards using the RT5640 codec, such as Dalmore.
128
129config SND_SOC_TEGRA_WM8753
130	tristate "SoC Audio support for Tegra boards using a WM8753 codec"
131	depends on SND_SOC_TEGRA && I2C && GPIOLIB
 
132	select SND_SOC_WM8753
133	help
134	  Say Y or M here if you want to add support for SoC audio on Tegra
135	  boards using the WM8753 codec, such as Whistler.
136
137config SND_SOC_TEGRA_WM8903
138	tristate "SoC Audio support for Tegra boards using a WM8903 codec"
139	depends on SND_SOC_TEGRA && I2C && GPIOLIB
 
140	select SND_SOC_WM8903
141	help
142	  Say Y or M here if you want to add support for SoC audio on Tegra
143	  boards using the WM8093 codec. Currently, the supported boards are
144	  Harmony, Ventana, Seaboard, Kaen, and Aebl.
145
146config SND_SOC_TEGRA_WM9712
147	tristate "SoC Audio support for Tegra boards using a WM9712 codec"
148	depends on SND_SOC_TEGRA && GPIOLIB
 
149	select SND_SOC_TEGRA20_AC97
150	select SND_SOC_WM9712
151	help
152	  Say Y or M here if you want to add support for SoC audio on Tegra
153	  boards using the WM9712 (or compatible) codec.
154
155config SND_SOC_TEGRA_TRIMSLICE
156	tristate "SoC Audio support for TrimSlice board"
157	depends on SND_SOC_TEGRA && I2C
 
158	select SND_SOC_TLV320AIC23_I2C
159	help
160	  Say Y or M here if you want to add support for SoC audio on the
161	  TrimSlice platform.
162
163config SND_SOC_TEGRA_ALC5632
164	tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
165	depends on SND_SOC_TEGRA && I2C && GPIOLIB
 
166	select SND_SOC_ALC5632
167	help
168	  Say Y or M here if you want to add support for SoC audio on the
169	  Toshiba AC100 netbook.
170
171config SND_SOC_TEGRA_MAX98090
172	tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
173	depends on SND_SOC_TEGRA && I2C && GPIOLIB
 
174	select SND_SOC_MAX98090
175	help
176	  Say Y or M here if you want to add support for SoC audio on Tegra
177	  boards using the MAX98090 codec, such as Venice2.
178
179config SND_SOC_TEGRA_RT5677
180	tristate "SoC Audio support for Tegra boards using a RT5677 codec"
181	depends on SND_SOC_TEGRA && I2C && GPIOLIB
 
182	select SND_SOC_RT5677
183	help
184	  Say Y or M here if you want to add support for SoC audio on Tegra
185	  boards using the RT5677 codec, such as Ryu.
186
187config SND_SOC_TEGRA_SGTL5000
188	tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
189	depends on SND_SOC_TEGRA && I2C && GPIOLIB
 
190	select SND_SOC_SGTL5000
191	help
192	  Say Y or M here if you want to add support for SoC audio on Tegra
193	  boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or
194	  Colibri T30.