1 # SPDX-License-Identifier: GPL-2.0-only
3 tristate "SoC Audio for the Tegra System-on-Chip"
4 depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
6 depends on RESET_CONTROLLER
8 select SND_SOC_GENERIC_DMAENGINE_PCM
10 Say Y or M here if you want support for SoC audio on Tegra.
12 config 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
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.
22 config SND_SOC_TEGRA20_DAS
23 tristate "Tegra20 DAS module"
24 depends on SND_SOC_TEGRA
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
30 config SND_SOC_TEGRA20_I2S
31 tristate "Tegra20 I2S interface"
32 depends on SND_SOC_TEGRA
33 select SND_SOC_TEGRA20_DAS
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.
39 config SND_SOC_TEGRA20_SPDIF
40 tristate "Tegra20 SPDIF interface"
41 depends on SND_SOC_TEGRA
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
48 config SND_SOC_TEGRA30_AHUB
49 tristate "Tegra30 AHUB module"
50 depends on SND_SOC_TEGRA
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
56 config SND_SOC_TEGRA30_I2S
57 tristate "Tegra30 I2S interface"
58 depends on SND_SOC_TEGRA
59 select SND_SOC_TEGRA30_AHUB
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.
65 config SND_SOC_TEGRA210_AHUB
66 tristate "Tegra210 AHUB module"
67 depends on SND_SOC_TEGRA
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
73 Say Y or M if you want to add support for Tegra210 AHUB module.
75 config SND_SOC_TEGRA210_DMIC
76 tristate "Tegra210 DMIC module"
77 depends on SND_SOC_TEGRA
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
84 Say Y or M if you want to add support for Tegra210 DMIC module.
86 config SND_SOC_TEGRA210_I2S
87 tristate "Tegra210 I2S module"
88 depends on SND_SOC_TEGRA
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
94 Say Y or M if you want to add support for Tegra210 I2S module.
96 config SND_SOC_TEGRA186_DSPK
97 tristate "Tegra186 DSPK module"
98 depends on SND_SOC_TEGRA
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.
109 config SND_SOC_TEGRA210_ADMAIF
110 tristate "Tegra210 ADMAIF module"
111 depends on SND_SOC_TEGRA
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.
121 config 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
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.
129 config 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
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.
137 config 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
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.
146 config 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
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.
155 config 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
160 Say Y or M here if you want to add support for SoC audio on the
163 config 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
168 Say Y or M here if you want to add support for SoC audio on the
169 Toshiba AC100 netbook.
171 config 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
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.
179 config 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
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.
187 config 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
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