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
43 Say Y or M if you want to add support for the Tegra20 SPDIF interface.
44 You will also need to select the individual machine drivers to support
47 config SND_SOC_TEGRA30_AHUB
48 tristate "Tegra30 AHUB module"
49 depends on SND_SOC_TEGRA
51 Say Y or M if you want to add support for the Tegra30 AHUB module.
52 You will also need to select the individual machine drivers to
55 config SND_SOC_TEGRA30_I2S
56 tristate "Tegra30 I2S interface"
57 depends on SND_SOC_TEGRA
58 select SND_SOC_TEGRA30_AHUB
60 Say Y or M if you want to add support for codecs attached to the
61 Tegra30 I2S interface. You will also need to select the individual
62 machine drivers to support below.
64 config SND_SOC_TEGRA210_AHUB
65 tristate "Tegra210 AHUB module"
66 depends on SND_SOC_TEGRA
68 Config to enable Audio Hub (AHUB) module, which comprises of a
69 switch called Audio Crossbar (AXBAR) used to configure or modify
70 the audio routing path between various HW accelerators present in
72 Say Y or M if you want to add support for Tegra210 AHUB module.
74 config SND_SOC_TEGRA210_DMIC
75 tristate "Tegra210 DMIC module"
76 depends on SND_SOC_TEGRA
78 Config to enable the Digital MIC (DMIC) controller which is used
79 to interface with Pulse Density Modulation (PDM) input devices.
80 The DMIC controller implements a converter to convert PDM signals
81 to Pulse Code Modulation (PCM) signals. This can be viewed as a
83 Say Y or M if you want to add support for Tegra210 DMIC module.
85 config SND_SOC_TEGRA210_I2S
86 tristate "Tegra210 I2S module"
87 depends on SND_SOC_TEGRA
89 Config to enable the Inter-IC Sound (I2S) Controller which
90 implements full-duplex and bidirectional and single direction
91 point-to-point serial interfaces. It can interface with I2S
93 Say Y or M if you want to add support for Tegra210 I2S module.
95 config SND_SOC_TEGRA186_DSPK
96 tristate "Tegra186 DSPK module"
97 depends on SND_SOC_TEGRA
99 Config to enable the Digital Speaker Controller (DSPK) which
100 converts the multi-bit Pulse Code Modulation (PCM) audio input to
101 oversampled 1-bit Pulse Density Modulation (PDM) output. From the
102 signal flow perspective DSPK can be viewed as a PDM transmitter
103 that up-samples the input to the desired sampling rate by
104 interpolation and then converts the oversampled PCM input to
105 the desired 1-bit output via Delta Sigma Modulation (DSM).
106 Say Y or M if you want to add support for Tegra186 DSPK module.
108 config SND_SOC_TEGRA210_ADMAIF
109 tristate "Tegra210 ADMAIF module"
110 depends on SND_SOC_TEGRA
112 Config to enable ADMAIF which is the interface between ADMA and
113 Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
114 from AHUB must interface through an ADMAIF channel. ADMA channel
115 sending data to AHUB pairs with an ADMAIF Tx channel, where as
116 ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
117 channel. Buffer size is configurable for each ADMAIIF channel.
118 Say Y or M if you want to add support for Tegra210 ADMAIF module.
120 config SND_SOC_TEGRA_RT5640
121 tristate "SoC Audio support for Tegra boards using an RT5640 codec"
122 depends on SND_SOC_TEGRA && I2C && GPIOLIB
123 select SND_SOC_RT5640
125 Say Y or M here if you want to add support for SoC audio on Tegra
126 boards using the RT5640 codec, such as Dalmore.
128 config SND_SOC_TEGRA_WM8753
129 tristate "SoC Audio support for Tegra boards using a WM8753 codec"
130 depends on SND_SOC_TEGRA && I2C && GPIOLIB
131 select SND_SOC_WM8753
133 Say Y or M here if you want to add support for SoC audio on Tegra
134 boards using the WM8753 codec, such as Whistler.
136 config SND_SOC_TEGRA_WM8903
137 tristate "SoC Audio support for Tegra boards using a WM8903 codec"
138 depends on SND_SOC_TEGRA && I2C && GPIOLIB
139 select SND_SOC_WM8903
141 Say Y or M here if you want to add support for SoC audio on Tegra
142 boards using the WM8093 codec. Currently, the supported boards are
143 Harmony, Ventana, Seaboard, Kaen, and Aebl.
145 config SND_SOC_TEGRA_WM9712
146 tristate "SoC Audio support for Tegra boards using a WM9712 codec"
147 depends on SND_SOC_TEGRA && GPIOLIB
148 select SND_SOC_TEGRA20_AC97
149 select SND_SOC_WM9712
151 Say Y or M here if you want to add support for SoC audio on Tegra
152 boards using the WM9712 (or compatible) codec.
154 config SND_SOC_TEGRA_TRIMSLICE
155 tristate "SoC Audio support for TrimSlice board"
156 depends on SND_SOC_TEGRA && I2C
157 select SND_SOC_TLV320AIC23_I2C
159 Say Y or M here if you want to add support for SoC audio on the
162 config SND_SOC_TEGRA_ALC5632
163 tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
164 depends on SND_SOC_TEGRA && I2C && GPIOLIB
165 select SND_SOC_ALC5632
167 Say Y or M here if you want to add support for SoC audio on the
168 Toshiba AC100 netbook.
170 config SND_SOC_TEGRA_MAX98090
171 tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
172 depends on SND_SOC_TEGRA && I2C && GPIOLIB
173 select SND_SOC_MAX98090
175 Say Y or M here if you want to add support for SoC audio on Tegra
176 boards using the MAX98090 codec, such as Venice2.
178 config SND_SOC_TEGRA_RT5677
179 tristate "SoC Audio support for Tegra boards using a RT5677 codec"
180 depends on SND_SOC_TEGRA && I2C && GPIOLIB
181 select SND_SOC_RT5677
183 Say Y or M here if you want to add support for SoC audio on Tegra
184 boards using the RT5677 codec, such as Ryu.
186 config SND_SOC_TEGRA_SGTL5000
187 tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
188 depends on SND_SOC_TEGRA && I2C && GPIOLIB
189 select SND_SOC_SGTL5000
191 Say Y or M here if you want to add support for SoC audio on Tegra
192 boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or