summaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl/Kconfig
blob: 33b67db8794e367b5a0d4e7e5d603b8a1f48bb2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
# SPDX-License-Identifier: GPL-2.0-only
menu "SoC Audio for Freescale CPUs"

comment "Common SoC Audio options for Freescale CPUs:"

config SND_SOC_FSL_ASRC
	tristate "Asynchronous Sample Rate Converter (ASRC) module support"
	depends on HAS_DMA
	select REGMAP_MMIO
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y if you want to add Asynchronous Sample Rate Converter (ASRC)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

config SND_SOC_FSL_SAI
	tristate "Synchronous Audio Interface (SAI) module support"
	select REGMAP_MMIO
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	select SND_SOC_GENERIC_DMAENGINE_PCM
	select SND_SOC_FSL_UTILS
	help
	  Say Y if you want to add Synchronous Audio Interface (SAI)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

config SND_SOC_FSL_MQS
	tristate "Medium Quality Sound (MQS) module support"
	depends on SND_SOC_FSL_SAI
	select REGMAP_MMIO
	help
	  Say Y if you want to add Medium Quality Sound (MQS)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

config SND_SOC_FSL_AUDMIX
	tristate "Audio Mixer (AUDMIX) module support"
	select REGMAP_MMIO
	help
	  Say Y if you want to add Audio Mixer (AUDMIX)
	  support for the NXP iMX CPUs.

config SND_SOC_FSL_SSI
	tristate "Synchronous Serial Interface module (SSI) support"
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
	select REGMAP_MMIO
	help
	  Say Y if you want to add Synchronous Serial Interface (SSI)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

config SND_SOC_FSL_SPDIF
	tristate "Sony/Philips Digital Interface (S/PDIF) module support"
	select REGMAP_MMIO
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
	select BITREVERSE
	select SND_SOC_FSL_UTILS
	help
	  Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

config SND_SOC_FSL_ESAI
	tristate "Enhanced Serial Audio Interface (ESAI) module support"
	select REGMAP_MMIO
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	help
	  Say Y if you want to add Enhanced Synchronous Audio Interface
	  (ESAI) support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

config SND_SOC_FSL_MICFIL
	tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
	select REGMAP_MMIO
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	select SND_SOC_GENERIC_DMAENGINE_PCM
	select SND_SOC_FSL_UTILS
	help
	  Say Y if you want to add Pulse Density Modulation microphone
	  interface (MICFIL) support for NXP.

config SND_SOC_FSL_EASRC
	tristate "Enhanced Asynchronous Sample Rate Converter (EASRC) module support"
	depends on SND_SOC_FSL_ASRC
	select REGMAP_MMIO
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is
	  a digital module that converts audio from a source sample rate to a
	  destination sample rate. It is a new design module compare with the
	  old ASRC.

config SND_SOC_FSL_XCVR
	tristate "NXP Audio Transceiver (XCVR) module support"
	select REGMAP_MMIO
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y if you want to add Audio Transceiver (XCVR) support for NXP
	  iMX CPUs. XCVR is a digital module that supports HDMI2.1 eARC,
	  HDMI1.4 ARC and SPDIF.

config SND_SOC_FSL_AUD2HTX
	tristate "AUDIO TO HDMI TX module support"
	depends on ARCH_MXC || COMPILE_TEST
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	help
	  Say Y if you want to add AUDIO TO HDMI TX support for NXP.

config SND_SOC_FSL_UTILS
	tristate

config SND_SOC_FSL_RPMSG
	tristate "NXP Audio Base On RPMSG support"
	depends on COMMON_CLK
	depends on RPMSG
	depends on SND_IMX_SOC || SND_IMX_SOC = n
	select SND_SOC_IMX_RPMSG if SND_IMX_SOC != n
	help
	  Say Y if you want to add rpmsg audio support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

config SND_SOC_IMX_PCM_DMA
	tristate
	select SND_SOC_GENERIC_DMAENGINE_PCM

config SND_SOC_IMX_AUDIO_RPMSG
	tristate
	depends on RPMSG

config SND_SOC_IMX_PCM_RPMSG
	tristate
	depends on SND_SOC_IMX_AUDIO_RPMSG
	select SND_SOC_GENERIC_DMAENGINE_PCM

config SND_SOC_IMX_AUDMUX
	tristate "Digital Audio Mux module support"
	help
	  Say Y if you want to add Digital Audio Mux (AUDMUX) support
	  for the ARM i.MX CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

config SND_POWERPC_SOC
	tristate "SoC Audio for Freescale PowerPC CPUs"
	depends on FSL_SOC || PPC_MPC52xx
	help
	  Say Y or M if you want to add support for codecs attached to
	  the PowerPC CPUs.

config SND_IMX_SOC
	tristate "SoC Audio for Freescale i.MX CPUs"
	depends on ARCH_MXC || COMPILE_TEST
	help
	  Say Y or M if you want to add support for codecs attached to
	  the i.MX CPUs.

if SND_POWERPC_SOC

config SND_MPC52xx_DMA
	tristate

config SND_SOC_POWERPC_DMA
	tristate

comment "SoC Audio support for Freescale PPC boards:"

config SND_SOC_MPC8610_HPCD
	tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
	# I2C is necessary for the CS4270 driver
	depends on MPC8610_HPCD && I2C
	select SND_SOC_FSL_SSI
	select SND_SOC_FSL_UTILS
	select SND_SOC_POWERPC_DMA
	select SND_SOC_CS4270
	select SND_SOC_CS4270_VD33_ERRATA
	default y if MPC8610_HPCD
	help
	  Say Y if you want to enable audio on the Freescale MPC8610 HPCD.

config SND_SOC_P1022_DS
	tristate "ALSA SoC support for the Freescale P1022 DS board"
	# I2C is necessary for the WM8776 driver
	depends on P1022_DS && I2C
	select SND_SOC_FSL_SSI
	select SND_SOC_FSL_UTILS
	select SND_SOC_POWERPC_DMA
	select SND_SOC_WM8776
	default y if P1022_DS
	help
	  Say Y if you want to enable audio on the Freescale P1022 DS board.
	  This will also include the Wolfson Microelectronics WM8776 codec
	  driver.

config SND_SOC_P1022_RDK
	tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
	# I2C is necessary for the WM8960 driver
	depends on P1022_RDK && I2C
	select SND_SOC_FSL_SSI
	select SND_SOC_FSL_UTILS
	select SND_SOC_POWERPC_DMA
	select SND_SOC_WM8960
	default y if P1022_RDK
	help
	  Say Y if you want to enable audio on the Freescale / iVeia
	  P1022 RDK board.  This will also include the Wolfson
	  Microelectronics WM8960 codec driver.

config SND_SOC_MPC5200_I2S
	tristate "Freescale MPC5200 PSC in I2S mode driver"
	depends on PPC_MPC52xx && PPC_BESTCOMM
	select SND_MPC52xx_DMA
	select PPC_BESTCOMM_GEN_BD
	help
	  Say Y here to support the MPC5200 PSCs in I2S mode.

config SND_SOC_MPC5200_AC97
	tristate "Freescale MPC5200 PSC in AC97 mode driver"
	depends on PPC_MPC52xx && PPC_BESTCOMM
	select SND_SOC_AC97_BUS
	select SND_MPC52xx_DMA
	select PPC_BESTCOMM_GEN_BD
	help
	  Say Y here to support the MPC5200 PSCs in AC97 mode.

config SND_MPC52xx_SOC_PCM030
	tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
	depends on PPC_MPC5200_SIMPLE
	select SND_SOC_MPC5200_AC97
	select SND_SOC_WM9712
	help
	  Say Y if you want to add support for sound on the Phytec pcm030
	  baseboard.

config SND_MPC52xx_SOC_EFIKA
	tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
	depends on PPC_EFIKA
	select SND_SOC_MPC5200_AC97
	select SND_SOC_STAC9766
	help
	  Say Y if you want to add support for sound on the Efika.

endif # SND_POWERPC_SOC

config SND_SOC_IMX_PCM_FIQ
	tristate
	default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
	select FIQ

if SND_IMX_SOC

comment "SoC Audio support for Freescale i.MX boards:"

config SND_SOC_EUKREA_TLV320
	tristate "Eukrea TLV320"
	depends on ARCH_MXC && !ARM64 && I2C
	select SND_SOC_TLV320AIC23_I2C
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_FSL_SSI
	select SND_SOC_IMX_PCM_DMA
	help
	  Enable I2S based access to the TLV320AIC23B codec attached
	  to the SSI interface

config SND_SOC_IMX_ES8328
	tristate "SoC Audio support for i.MX boards with the ES8328 codec"
	depends on OF && (I2C || SPI)
	select SND_SOC_ES8328_I2C if I2C
	select SND_SOC_ES8328_SPI if SPI_MASTER
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_FSL_SSI
	help
	  Say Y if you want to add support for the ES8328 audio codec connected
	  via SSI/I2S over either SPI or I2C.

config SND_SOC_IMX_SGTL5000
	tristate "SoC Audio support for i.MX boards with sgtl5000"
	depends on OF && I2C
	select SND_SOC_SGTL5000
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_FSL_SSI
	help
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  a sgtl5000 codec.

	  Note that this is an old driver. Consider enabling
	  SND_SOC_FSL_ASOC_CARD and SND_SOC_SGTL5000 to use the newer
	  driver.

config SND_SOC_IMX_SPDIF
	tristate "SoC Audio support for i.MX boards with S/PDIF"
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_FSL_SPDIF
	help
	  SoC Audio support for i.MX boards with S/PDIF
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  a S/DPDIF.

config SND_SOC_FSL_ASOC_CARD
	tristate "Generic ASoC Sound Card with ASRC support"
	depends on OF && I2C
	# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
	depends on SND_AC97_CODEC || SND_AC97_CODEC=n
	select SND_SIMPLE_CARD_UTILS
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_FSL_ESAI
	select SND_SOC_FSL_SAI
	select SND_SOC_FSL_SSI
	select SND_SOC_TLV320AIC31XX
	select SND_SOC_WM8994
	select MFD_WM8994
	help
	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
	 CS4271, CS4272, SGTL5000 and TLV320AIC32x4.
	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.

config SND_SOC_IMX_AUDMIX
	tristate "SoC Audio support for i.MX boards with AUDMIX"
	select SND_SOC_FSL_AUDMIX
	select SND_SOC_FSL_SAI
	help
	  SoC Audio support for i.MX boards with Audio Mixer
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  an Audio Mixer.

config SND_SOC_IMX_HDMI
	tristate "SoC Audio support for i.MX boards with HDMI port"
	select SND_SOC_FSL_SAI
	select SND_SOC_FSL_AUD2HTX
	select SND_SOC_HDMI_CODEC
	help
	  ALSA SoC Audio support with HDMI feature for Freescale SoCs that have
	  SAI/AUD2HTX and connect with internal HDMI IP or external module
	  SII902X.
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  IMX HDMI.

config SND_SOC_IMX_RPMSG
	tristate "SoC Audio support for i.MX boards with rpmsg"
	depends on RPMSG
	select SND_SOC_IMX_PCM_RPMSG
	select SND_SOC_IMX_AUDIO_RPMSG
	help
	  SoC Audio support for i.MX boards with rpmsg.
	  There should be rpmsg devices defined in other core (M core)
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  a rpmsg devices.

config SND_SOC_IMX_CARD
	tristate "SoC Audio Graph Sound Card support for i.MX boards"
	depends on OF && I2C
	select SND_SOC_AK4458
	select SND_SOC_AK5558
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_FSL_SAI
	select SND_SIMPLE_CARD_UTILS
	help
	  This option enables audio sound card support for i.MX boards
	  with OF-graph DT bindings.
	  It also support DPCM of single CPU multi Codec ststem.

endif # SND_IMX_SOC

endmenu