xref: /openbmc/linux/sound/soc/tegra/Kconfig (revision 33fb626b)
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	help
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
45	  below.
46
47config SND_SOC_TEGRA30_AHUB
48	tristate "Tegra30 AHUB module"
49	depends on SND_SOC_TEGRA
50	help
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
53	  support below.
54
55config SND_SOC_TEGRA30_I2S
56	tristate "Tegra30 I2S interface"
57	depends on SND_SOC_TEGRA
58	select SND_SOC_TEGRA30_AHUB
59	help
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.
63
64config SND_SOC_TEGRA210_AHUB
65	tristate "Tegra210 AHUB module"
66	depends on SND_SOC_TEGRA
67	help
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
71	  AHUB.
72	  Say Y or M if you want to add support for Tegra210 AHUB module.
73
74config SND_SOC_TEGRA210_DMIC
75	tristate "Tegra210 DMIC module"
76	depends on SND_SOC_TEGRA
77	help
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
82	  PDM receiver.
83	  Say Y or M if you want to add support for Tegra210 DMIC module.
84
85config SND_SOC_TEGRA210_I2S
86	tristate "Tegra210 I2S module"
87	depends on SND_SOC_TEGRA
88	help
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
92	  compatible devices.
93	  Say Y or M if you want to add support for Tegra210 I2S module.
94
95config SND_SOC_TEGRA186_DSPK
96	tristate "Tegra186 DSPK module"
97	depends on SND_SOC_TEGRA
98	help
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.
107
108config SND_SOC_TEGRA210_ADMAIF
109	tristate "Tegra210 ADMAIF module"
110	depends on SND_SOC_TEGRA
111	help
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.
119
120config 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
124	help
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.
127
128config 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
132	help
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.
135
136config 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
140	help
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.
144
145config 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
150	help
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.
153
154config 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
158	help
159	  Say Y or M here if you want to add support for SoC audio on the
160	  TrimSlice platform.
161
162config 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
166	help
167	  Say Y or M here if you want to add support for SoC audio on the
168	  Toshiba AC100 netbook.
169
170config 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
174	help
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.
177
178config 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
182	help
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.
185
186config 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
190	help
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
193	  Colibri T30.
194