xref: /linux/sound/soc/tegra/Kconfig (revision b2f74ec53a6cc0f2bb6cdb61d430828337d0e069)
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_TEGRA186_DSPK
89	tristate "Tegra186 DSPK module"
90	help
91	  Config to enable the Digital Speaker Controller (DSPK) which
92	  converts the multi-bit Pulse Code Modulation (PCM) audio input to
93	  oversampled 1-bit Pulse Density Modulation (PDM) output. From the
94	  signal flow perspective DSPK can be viewed as a PDM transmitter
95	  that up-samples the input to the desired sampling rate by
96	  interpolation and then converts the oversampled PCM input to
97	  the desired 1-bit output via Delta Sigma Modulation (DSM).
98	  Say Y or M if you want to add support for Tegra186 DSPK module.
99
100config SND_SOC_TEGRA210_ADMAIF
101	tristate "Tegra210 ADMAIF module"
102	help
103	  Config to enable ADMAIF which is the interface between ADMA and
104	  Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
105	  from AHUB must interface through an ADMAIF channel. ADMA channel
106	  sending data to AHUB pairs with an ADMAIF Tx channel, where as
107	  ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
108	  channel. Buffer size is configurable for each ADMAIIF channel.
109	  Say Y or M if you want to add support for Tegra210 ADMAIF module.
110
111config SND_SOC_TEGRA210_MVC
112	tristate "Tegra210 MVC module"
113	help
114	  Config to enable the digital Master Volume Controller (MVC) which
115	  provides gain or attenuation to a digital signal path. It can be
116	  used in input or output signal path. It can be used either for
117	  per-stream volume control or for master volume control.
118	  Say Y or M if you want to add support for Tegra210 MVC module.
119
120config SND_SOC_TEGRA210_SFC
121	tristate "Tegra210 SFC module"
122	help
123	  Config to enable the Sampling Frequency Converter (SFC) which
124	  converts the sampling frequency of input signal to another
125	  frequency. It supports sampling frequency conversion of streams
126	  upto 2 channels (stereo).
127	  Say Y or M if you want to add support for Tegra210 SFC module.
128
129config SND_SOC_TEGRA_AUDIO_GRAPH_CARD
130	tristate "Audio Graph Card based Tegra driver"
131	depends on SND_AUDIO_GRAPH_CARD
132	help
133	  Config to enable Tegra audio machine driver based on generic
134	  audio graph driver. It is a thin driver written to customize
135	  few things for Tegra audio. Most of the code is re-used from
136	  audio graph driver and the same DT bindings are used.
137
138config SND_SOC_TEGRA_MACHINE_DRV
139	tristate
140
141config SND_SOC_TEGRA_RT5640
142	tristate "SoC Audio support for Tegra boards using an RT5640 codec"
143	depends on I2C && GPIOLIB
144	select SND_SOC_TEGRA_MACHINE_DRV
145	select SND_SOC_RT5640
146	help
147	  Say Y or M here if you want to add support for SoC audio on Tegra
148	  boards using the RT5640 codec, such as Dalmore.
149
150config SND_SOC_TEGRA_WM8753
151	tristate "SoC Audio support for Tegra boards using a WM8753 codec"
152	depends on I2C && GPIOLIB
153	select SND_SOC_TEGRA_MACHINE_DRV
154	select SND_SOC_WM8753
155	help
156	  Say Y or M here if you want to add support for SoC audio on Tegra
157	  boards using the WM8753 codec, such as Whistler.
158
159config SND_SOC_TEGRA_WM8903
160	tristate "SoC Audio support for Tegra boards using a WM8903 codec"
161	depends on I2C && GPIOLIB
162	select SND_SOC_TEGRA_MACHINE_DRV
163	select SND_SOC_WM8903
164	help
165	  Say Y or M here if you want to add support for SoC audio on Tegra
166	  boards using the WM8093 codec. Currently, the supported boards are
167	  Harmony, Ventana, Seaboard, Kaen, and Aebl.
168
169config SND_SOC_TEGRA_WM9712
170	tristate "SoC Audio support for Tegra boards using a WM9712 codec"
171	depends on GPIOLIB
172	select SND_SOC_TEGRA_MACHINE_DRV
173	select SND_SOC_TEGRA20_AC97
174	select SND_SOC_WM9712
175	help
176	  Say Y or M here if you want to add support for SoC audio on Tegra
177	  boards using the WM9712 (or compatible) codec.
178
179config SND_SOC_TEGRA_TRIMSLICE
180	tristate "SoC Audio support for TrimSlice board"
181	depends on I2C
182	select SND_SOC_TEGRA_MACHINE_DRV
183	select SND_SOC_TLV320AIC23_I2C
184	help
185	  Say Y or M here if you want to add support for SoC audio on the
186	  TrimSlice platform.
187
188config SND_SOC_TEGRA_ALC5632
189	tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
190	depends on I2C && GPIOLIB
191	select SND_SOC_TEGRA_MACHINE_DRV
192	select SND_SOC_ALC5632
193	help
194	  Say Y or M here if you want to add support for SoC audio on the
195	  Toshiba AC100 netbook.
196
197config SND_SOC_TEGRA_MAX98090
198	tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
199	depends on I2C && GPIOLIB
200	select SND_SOC_TEGRA_MACHINE_DRV
201	select SND_SOC_MAX98090
202	help
203	  Say Y or M here if you want to add support for SoC audio on Tegra
204	  boards using the MAX98090 codec, such as Venice2.
205
206config SND_SOC_TEGRA_RT5677
207	tristate "SoC Audio support for Tegra boards using a RT5677 codec"
208	depends on I2C && GPIOLIB
209	select SND_SOC_TEGRA_MACHINE_DRV
210	select SND_SOC_RT5677
211	help
212	  Say Y or M here if you want to add support for SoC audio on Tegra
213	  boards using the RT5677 codec, such as Ryu.
214
215config SND_SOC_TEGRA_SGTL5000
216	tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
217	depends on I2C && GPIOLIB
218	select SND_SOC_TEGRA_MACHINE_DRV
219	select SND_SOC_SGTL5000
220	help
221	  Say Y or M here if you want to add support for SoC audio on Tegra
222	  boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or
223	  Colibri T30.
224
225endif
226