xref: /OK3568_Linux_fs/kernel/sound/soc/tegra/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyunconfig SND_SOC_TEGRA
3*4882a593Smuzhiyun	tristate "SoC Audio for the Tegra System-on-Chip"
4*4882a593Smuzhiyun	depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST
5*4882a593Smuzhiyun	depends on COMMON_CLK
6*4882a593Smuzhiyun	depends on RESET_CONTROLLER
7*4882a593Smuzhiyun	select REGMAP_MMIO
8*4882a593Smuzhiyun	select SND_SOC_GENERIC_DMAENGINE_PCM
9*4882a593Smuzhiyun	help
10*4882a593Smuzhiyun	  Say Y or M here if you want support for SoC audio on Tegra.
11*4882a593Smuzhiyun
12*4882a593Smuzhiyunconfig SND_SOC_TEGRA20_AC97
13*4882a593Smuzhiyun	tristate "Tegra20 AC97 interface"
14*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
15*4882a593Smuzhiyun	select SND_SOC_AC97_BUS
16*4882a593Smuzhiyun	select SND_SOC_TEGRA20_DAS
17*4882a593Smuzhiyun	help
18*4882a593Smuzhiyun	  Say Y or M if you want to add support for codecs attached to the
19*4882a593Smuzhiyun	  Tegra20 AC97 interface. You will also need to select the individual
20*4882a593Smuzhiyun	  machine drivers to support below.
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunconfig SND_SOC_TEGRA20_DAS
23*4882a593Smuzhiyun	tristate "Tegra20 DAS module"
24*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
25*4882a593Smuzhiyun	help
26*4882a593Smuzhiyun	  Say Y or M if you want to add support for the Tegra20 DAS module.
27*4882a593Smuzhiyun	  You will also need to select the individual machine drivers to
28*4882a593Smuzhiyun	  support below.
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunconfig SND_SOC_TEGRA20_I2S
31*4882a593Smuzhiyun	tristate "Tegra20 I2S interface"
32*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
33*4882a593Smuzhiyun	select SND_SOC_TEGRA20_DAS
34*4882a593Smuzhiyun	help
35*4882a593Smuzhiyun	  Say Y or M if you want to add support for codecs attached to the
36*4882a593Smuzhiyun	  Tegra20 I2S interface. You will also need to select the individual
37*4882a593Smuzhiyun	  machine drivers to support below.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyunconfig SND_SOC_TEGRA20_SPDIF
40*4882a593Smuzhiyun	tristate "Tegra20 SPDIF interface"
41*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
42*4882a593Smuzhiyun	default m
43*4882a593Smuzhiyun	help
44*4882a593Smuzhiyun	  Say Y or M if you want to add support for the Tegra20 SPDIF interface.
45*4882a593Smuzhiyun	  You will also need to select the individual machine drivers to support
46*4882a593Smuzhiyun	  below.
47*4882a593Smuzhiyun
48*4882a593Smuzhiyunconfig SND_SOC_TEGRA30_AHUB
49*4882a593Smuzhiyun	tristate "Tegra30 AHUB module"
50*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
51*4882a593Smuzhiyun	help
52*4882a593Smuzhiyun	  Say Y or M if you want to add support for the Tegra30 AHUB module.
53*4882a593Smuzhiyun	  You will also need to select the individual machine drivers to
54*4882a593Smuzhiyun	  support below.
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunconfig SND_SOC_TEGRA30_I2S
57*4882a593Smuzhiyun	tristate "Tegra30 I2S interface"
58*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
59*4882a593Smuzhiyun	select SND_SOC_TEGRA30_AHUB
60*4882a593Smuzhiyun	help
61*4882a593Smuzhiyun	  Say Y or M if you want to add support for codecs attached to the
62*4882a593Smuzhiyun	  Tegra30 I2S interface. You will also need to select the individual
63*4882a593Smuzhiyun	  machine drivers to support below.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyunconfig SND_SOC_TEGRA210_AHUB
66*4882a593Smuzhiyun	tristate "Tegra210 AHUB module"
67*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
68*4882a593Smuzhiyun	help
69*4882a593Smuzhiyun	  Config to enable Audio Hub (AHUB) module, which comprises of a
70*4882a593Smuzhiyun	  switch called Audio Crossbar (AXBAR) used to configure or modify
71*4882a593Smuzhiyun	  the audio routing path between various HW accelerators present in
72*4882a593Smuzhiyun	  AHUB.
73*4882a593Smuzhiyun	  Say Y or M if you want to add support for Tegra210 AHUB module.
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunconfig SND_SOC_TEGRA210_DMIC
76*4882a593Smuzhiyun	tristate "Tegra210 DMIC module"
77*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
78*4882a593Smuzhiyun	help
79*4882a593Smuzhiyun	  Config to enable the Digital MIC (DMIC) controller which is used
80*4882a593Smuzhiyun	  to interface with Pulse Density Modulation (PDM) input devices.
81*4882a593Smuzhiyun	  The DMIC controller implements a converter to convert PDM signals
82*4882a593Smuzhiyun	  to Pulse Code Modulation (PCM) signals. This can be viewed as a
83*4882a593Smuzhiyun	  PDM receiver.
84*4882a593Smuzhiyun	  Say Y or M if you want to add support for Tegra210 DMIC module.
85*4882a593Smuzhiyun
86*4882a593Smuzhiyunconfig SND_SOC_TEGRA210_I2S
87*4882a593Smuzhiyun	tristate "Tegra210 I2S module"
88*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
89*4882a593Smuzhiyun	help
90*4882a593Smuzhiyun	  Config to enable the Inter-IC Sound (I2S) Controller which
91*4882a593Smuzhiyun	  implements full-duplex and bidirectional and single direction
92*4882a593Smuzhiyun	  point-to-point serial interfaces. It can interface with I2S
93*4882a593Smuzhiyun	  compatible devices.
94*4882a593Smuzhiyun	  Say Y or M if you want to add support for Tegra210 I2S module.
95*4882a593Smuzhiyun
96*4882a593Smuzhiyunconfig SND_SOC_TEGRA186_DSPK
97*4882a593Smuzhiyun	tristate "Tegra186 DSPK module"
98*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
99*4882a593Smuzhiyun	help
100*4882a593Smuzhiyun	  Config to enable the Digital Speaker Controller (DSPK) which
101*4882a593Smuzhiyun	  converts the multi-bit Pulse Code Modulation (PCM) audio input to
102*4882a593Smuzhiyun	  oversampled 1-bit Pulse Density Modulation (PDM) output. From the
103*4882a593Smuzhiyun	  signal flow perspective DSPK can be viewed as a PDM transmitter
104*4882a593Smuzhiyun	  that up-samples the input to the desired sampling rate by
105*4882a593Smuzhiyun	  interpolation and then converts the oversampled PCM input to
106*4882a593Smuzhiyun	  the desired 1-bit output via Delta Sigma Modulation (DSM).
107*4882a593Smuzhiyun	  Say Y or M if you want to add support for Tegra186 DSPK module.
108*4882a593Smuzhiyun
109*4882a593Smuzhiyunconfig SND_SOC_TEGRA210_ADMAIF
110*4882a593Smuzhiyun	tristate "Tegra210 ADMAIF module"
111*4882a593Smuzhiyun	depends on SND_SOC_TEGRA
112*4882a593Smuzhiyun	help
113*4882a593Smuzhiyun	  Config to enable ADMAIF which is the interface between ADMA and
114*4882a593Smuzhiyun	  Audio Hub (AHUB). Each ADMA channel that sends/receives data to/
115*4882a593Smuzhiyun	  from AHUB must interface through an ADMAIF channel. ADMA channel
116*4882a593Smuzhiyun	  sending data to AHUB pairs with an ADMAIF Tx channel, where as
117*4882a593Smuzhiyun	  ADMA channel receiving data from AHUB pairs with an ADMAIF Rx
118*4882a593Smuzhiyun	  channel. Buffer size is configurable for each ADMAIIF channel.
119*4882a593Smuzhiyun	  Say Y or M if you want to add support for Tegra210 ADMAIF module.
120*4882a593Smuzhiyun
121*4882a593Smuzhiyunconfig SND_SOC_TEGRA_RT5640
122*4882a593Smuzhiyun	tristate "SoC Audio support for Tegra boards using an RT5640 codec"
123*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && I2C && GPIOLIB
124*4882a593Smuzhiyun	select SND_SOC_RT5640
125*4882a593Smuzhiyun	help
126*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on Tegra
127*4882a593Smuzhiyun	  boards using the RT5640 codec, such as Dalmore.
128*4882a593Smuzhiyun
129*4882a593Smuzhiyunconfig SND_SOC_TEGRA_WM8753
130*4882a593Smuzhiyun	tristate "SoC Audio support for Tegra boards using a WM8753 codec"
131*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && I2C && GPIOLIB
132*4882a593Smuzhiyun	select SND_SOC_WM8753
133*4882a593Smuzhiyun	help
134*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on Tegra
135*4882a593Smuzhiyun	  boards using the WM8753 codec, such as Whistler.
136*4882a593Smuzhiyun
137*4882a593Smuzhiyunconfig SND_SOC_TEGRA_WM8903
138*4882a593Smuzhiyun	tristate "SoC Audio support for Tegra boards using a WM8903 codec"
139*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && I2C && GPIOLIB
140*4882a593Smuzhiyun	select SND_SOC_WM8903
141*4882a593Smuzhiyun	help
142*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on Tegra
143*4882a593Smuzhiyun	  boards using the WM8093 codec. Currently, the supported boards are
144*4882a593Smuzhiyun	  Harmony, Ventana, Seaboard, Kaen, and Aebl.
145*4882a593Smuzhiyun
146*4882a593Smuzhiyunconfig SND_SOC_TEGRA_WM9712
147*4882a593Smuzhiyun	tristate "SoC Audio support for Tegra boards using a WM9712 codec"
148*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && GPIOLIB
149*4882a593Smuzhiyun	select SND_SOC_TEGRA20_AC97
150*4882a593Smuzhiyun	select SND_SOC_WM9712
151*4882a593Smuzhiyun	help
152*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on Tegra
153*4882a593Smuzhiyun	  boards using the WM9712 (or compatible) codec.
154*4882a593Smuzhiyun
155*4882a593Smuzhiyunconfig SND_SOC_TEGRA_TRIMSLICE
156*4882a593Smuzhiyun	tristate "SoC Audio support for TrimSlice board"
157*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && I2C
158*4882a593Smuzhiyun	select SND_SOC_TLV320AIC23_I2C
159*4882a593Smuzhiyun	help
160*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on the
161*4882a593Smuzhiyun	  TrimSlice platform.
162*4882a593Smuzhiyun
163*4882a593Smuzhiyunconfig SND_SOC_TEGRA_ALC5632
164*4882a593Smuzhiyun	tristate "SoC Audio support for Tegra boards using an ALC5632 codec"
165*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && I2C && GPIOLIB
166*4882a593Smuzhiyun	select SND_SOC_ALC5632
167*4882a593Smuzhiyun	help
168*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on the
169*4882a593Smuzhiyun	  Toshiba AC100 netbook.
170*4882a593Smuzhiyun
171*4882a593Smuzhiyunconfig SND_SOC_TEGRA_MAX98090
172*4882a593Smuzhiyun	tristate "SoC Audio support for Tegra boards using a MAX98090 codec"
173*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && I2C && GPIOLIB
174*4882a593Smuzhiyun	select SND_SOC_MAX98090
175*4882a593Smuzhiyun	help
176*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on Tegra
177*4882a593Smuzhiyun	  boards using the MAX98090 codec, such as Venice2.
178*4882a593Smuzhiyun
179*4882a593Smuzhiyunconfig SND_SOC_TEGRA_RT5677
180*4882a593Smuzhiyun	tristate "SoC Audio support for Tegra boards using a RT5677 codec"
181*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && I2C && GPIOLIB
182*4882a593Smuzhiyun	select SND_SOC_RT5677
183*4882a593Smuzhiyun	help
184*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on Tegra
185*4882a593Smuzhiyun	  boards using the RT5677 codec, such as Ryu.
186*4882a593Smuzhiyun
187*4882a593Smuzhiyunconfig SND_SOC_TEGRA_SGTL5000
188*4882a593Smuzhiyun	tristate "SoC Audio support for Tegra boards using a SGTL5000 codec"
189*4882a593Smuzhiyun	depends on SND_SOC_TEGRA && I2C && GPIOLIB
190*4882a593Smuzhiyun	select SND_SOC_SGTL5000
191*4882a593Smuzhiyun	help
192*4882a593Smuzhiyun	  Say Y or M here if you want to add support for SoC audio on Tegra
193*4882a593Smuzhiyun	  boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or
194*4882a593Smuzhiyun	  Colibri T30.
195