xref: /openbmc/linux/sound/soc/tegra/Kconfig (revision 80ade22c)
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	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
48config 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
56config 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
65config 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
75config 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
86config 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
96config 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
109config 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
121config 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
129config 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
137config 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
146config 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
155config 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
163config 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
171config 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
179config 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
187config 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.
195