GNU Linux-libre 5.10.217-gnu1
[releases.git] / sound / soc / tegra / Kconfig
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.
11
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
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
22 config 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
30 config 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
39 config 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
48 config 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
56 config 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
65 config 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
75 config 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
86 config 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
96 config 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
109 config 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
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
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
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
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
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
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
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
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
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
159         help
160           Say Y or M here if you want to add support for SoC audio on the
161           TrimSlice platform.
162
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
167         help
168           Say Y or M here if you want to add support for SoC audio on the
169           Toshiba AC100 netbook.
170
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
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
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
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
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
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.