xref: /linux/sound/soc/fsl/Kconfig (revision 1c75adb22d49ca9389333ca5e6939052a7203111)
1# SPDX-License-Identifier: GPL-2.0-only
2menu "SoC Audio for Freescale CPUs"
3
4comment "Common SoC Audio options for Freescale CPUs:"
5
6config SND_SOC_FSL_ASRC
7	tristate "Asynchronous Sample Rate Converter (ASRC) module support"
8	depends on HAS_DMA
9	select REGMAP_MMIO
10	select SND_SOC_GENERIC_DMAENGINE_PCM
11	help
12	  Say Y if you want to add Asynchronous Sample Rate Converter (ASRC)
13	  support for the Freescale CPUs.
14	  This option is only useful for out-of-tree drivers since
15	  in-tree drivers select it automatically.
16
17config SND_SOC_FSL_SAI
18	tristate "Synchronous Audio Interface (SAI) module support"
19	select REGMAP_MMIO
20	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
21	select SND_SOC_GENERIC_DMAENGINE_PCM
22	select SND_SOC_FSL_UTILS
23	help
24	  Say Y if you want to add Synchronous Audio Interface (SAI)
25	  support for the Freescale CPUs.
26	  This option is only useful for out-of-tree drivers since
27	  in-tree drivers select it automatically.
28
29config SND_SOC_FSL_MQS
30	tristate "Medium Quality Sound (MQS) module support"
31	depends on SND_SOC_FSL_SAI
32	select REGMAP_MMIO
33	help
34	  Say Y if you want to add Medium Quality Sound (MQS)
35	  support for the Freescale CPUs.
36	  This option is only useful for out-of-tree drivers since
37	  in-tree drivers select it automatically.
38
39config SND_SOC_FSL_AUDMIX
40	tristate "Audio Mixer (AUDMIX) module support"
41	select REGMAP_MMIO
42	help
43	  Say Y if you want to add Audio Mixer (AUDMIX)
44	  support for the NXP iMX CPUs.
45
46config SND_SOC_FSL_SSI
47	tristate "Synchronous Serial Interface module (SSI) support"
48	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
49	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
50	select REGMAP_MMIO
51	help
52	  Say Y if you want to add Synchronous Serial Interface (SSI)
53	  support for the Freescale CPUs.
54	  This option is only useful for out-of-tree drivers since
55	  in-tree drivers select it automatically.
56
57config SND_SOC_FSL_SPDIF
58	tristate "Sony/Philips Digital Interface (S/PDIF) module support"
59	select REGMAP_MMIO
60	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
61	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
62	select BITREVERSE
63	select SND_SOC_FSL_UTILS
64	help
65	  Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
66	  support for the Freescale CPUs.
67	  This option is only useful for out-of-tree drivers since
68	  in-tree drivers select it automatically.
69
70config SND_SOC_FSL_ESAI
71	tristate "Enhanced Serial Audio Interface (ESAI) module support"
72	select REGMAP_MMIO
73	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
74	help
75	  Say Y if you want to add Enhanced Synchronous Audio Interface
76	  (ESAI) support for the Freescale CPUs.
77	  This option is only useful for out-of-tree drivers since
78	  in-tree drivers select it automatically.
79
80config SND_SOC_FSL_MICFIL
81	tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
82	select REGMAP_MMIO
83	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
84	select SND_SOC_GENERIC_DMAENGINE_PCM
85	select SND_SOC_FSL_UTILS
86	help
87	  Say Y if you want to add Pulse Density Modulation microphone
88	  interface (MICFIL) support for NXP.
89
90config SND_SOC_FSL_EASRC
91	tristate "Enhanced Asynchronous Sample Rate Converter (EASRC) module support"
92	depends on SND_SOC_FSL_ASRC
93	select REGMAP_MMIO
94	select SND_SOC_GENERIC_DMAENGINE_PCM
95	help
96	  Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is
97	  a digital module that converts audio from a source sample rate to a
98	  destination sample rate. It is a new design module compare with the
99	  old ASRC.
100
101config SND_SOC_FSL_XCVR
102	tristate "NXP Audio Transceiver (XCVR) module support"
103	select REGMAP_MMIO
104	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
105	select SND_SOC_GENERIC_DMAENGINE_PCM
106	select SND_SOC_FSL_UTILS
107	help
108	  Say Y if you want to add Audio Transceiver (XCVR) support for NXP
109	  iMX CPUs. XCVR is a digital module that supports HDMI2.1 eARC,
110	  HDMI1.4 ARC and SPDIF.
111
112config SND_SOC_FSL_AUD2HTX
113	tristate "AUDIO TO HDMI TX module support"
114	depends on ARCH_MXC || COMPILE_TEST
115	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
116	help
117	  Say Y if you want to add AUDIO TO HDMI TX support for NXP.
118
119config SND_SOC_FSL_UTILS
120	tristate
121
122config SND_SOC_FSL_RPMSG
123	tristate "NXP Audio Base On RPMSG support"
124	depends on COMMON_CLK
125	depends on OF && I2C
126	depends on RPMSG
127	depends on SND_IMX_SOC || SND_IMX_SOC = n
128	select SND_SOC_IMX_RPMSG if SND_IMX_SOC != n
129	help
130	  Say Y if you want to add rpmsg audio support for the Freescale CPUs.
131	  This option is only useful for out-of-tree drivers since
132	  in-tree drivers select it automatically.
133
134config SND_SOC_IMX_PCM_DMA
135	tristate
136	select SND_SOC_GENERIC_DMAENGINE_PCM
137
138config SND_SOC_IMX_AUDIO_RPMSG
139	tristate
140	depends on RPMSG
141
142config SND_SOC_IMX_PCM_RPMSG
143	tristate
144	depends on SND_SOC_IMX_AUDIO_RPMSG
145	select SND_SOC_GENERIC_DMAENGINE_PCM
146
147config SND_SOC_IMX_AUDMUX
148	tristate "Digital Audio Mux module support"
149	help
150	  Say Y if you want to add Digital Audio Mux (AUDMUX) support
151	  for the ARM i.MX CPUs.
152	  This option is only useful for out-of-tree drivers since
153	  in-tree drivers select it automatically.
154
155config SND_POWERPC_SOC
156	tristate "SoC Audio for Freescale PowerPC CPUs"
157	depends on FSL_SOC || PPC_MPC52xx
158	help
159	  Say Y or M if you want to add support for codecs attached to
160	  the PowerPC CPUs.
161
162config SND_IMX_SOC
163	tristate "SoC Audio for Freescale i.MX CPUs"
164	depends on ARCH_MXC || COMPILE_TEST
165	help
166	  Say Y or M if you want to add support for codecs attached to
167	  the i.MX CPUs.
168
169if SND_POWERPC_SOC
170
171config SND_MPC52xx_DMA
172	tristate
173
174config SND_SOC_POWERPC_DMA
175	tristate
176
177config SND_SOC_POWERPC_QMC_AUDIO
178	tristate "QMC ALSA SoC support"
179	depends on CPM_QMC
180	help
181	  ALSA SoC Audio support using the Freescale QUICC Multichannel
182	  Controller (QMC).
183	  Say Y or M if you want to add support for SoC audio using Freescale
184	  QMC.
185
186comment "SoC Audio support for Freescale PPC boards:"
187
188config SND_SOC_P1022_DS
189	tristate "ALSA SoC support for the Freescale P1022 DS board"
190	# I2C is necessary for the WM8776 driver
191	depends on P1022_DS && I2C
192	select SND_SOC_FSL_SSI
193	select SND_SOC_FSL_UTILS
194	select SND_SOC_POWERPC_DMA
195	select SND_SOC_WM8776
196	default y if P1022_DS
197	help
198	  Say Y if you want to enable audio on the Freescale P1022 DS board.
199	  This will also include the Wolfson Microelectronics WM8776 codec
200	  driver.
201
202config SND_SOC_P1022_RDK
203	tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
204	# I2C is necessary for the WM8960 driver
205	depends on P1022_RDK && I2C
206	select SND_SOC_FSL_SSI
207	select SND_SOC_FSL_UTILS
208	select SND_SOC_POWERPC_DMA
209	select SND_SOC_WM8960
210	default y if P1022_RDK
211	help
212	  Say Y if you want to enable audio on the Freescale / iVeia
213	  P1022 RDK board.  This will also include the Wolfson
214	  Microelectronics WM8960 codec driver.
215
216config SND_SOC_MPC5200_I2S
217	tristate "Freescale MPC5200 PSC in I2S mode driver"
218	depends on PPC_MPC52xx && PPC_BESTCOMM
219	select SND_MPC52xx_DMA
220	select PPC_BESTCOMM_GEN_BD
221	help
222	  Say Y here to support the MPC5200 PSCs in I2S mode.
223
224config SND_SOC_MPC5200_AC97
225	tristate "Freescale MPC5200 PSC in AC97 mode driver"
226	depends on PPC_MPC52xx && PPC_BESTCOMM
227	select SND_SOC_AC97_BUS
228	select SND_MPC52xx_DMA
229	select PPC_BESTCOMM_GEN_BD
230	help
231	  Say Y here to support the MPC5200 PSCs in AC97 mode.
232
233config SND_MPC52xx_SOC_PCM030
234	tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
235	depends on PPC_MPC5200_SIMPLE
236	select SND_SOC_MPC5200_AC97
237	select SND_SOC_WM9712
238	help
239	  Say Y if you want to add support for sound on the Phytec pcm030
240	  baseboard.
241
242config SND_MPC52xx_SOC_EFIKA
243	tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
244	depends on PPC_EFIKA
245	select SND_SOC_MPC5200_AC97
246	select SND_SOC_STAC9766
247	help
248	  Say Y if you want to add support for sound on the Efika.
249
250endif # SND_POWERPC_SOC
251
252config SND_SOC_IMX_PCM_FIQ
253	tristate
254	default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
255	select FIQ
256
257if SND_IMX_SOC
258
259comment "SoC Audio support for Freescale i.MX boards:"
260
261config SND_SOC_EUKREA_TLV320
262	tristate "Eukrea TLV320"
263	depends on ARCH_MXC && !ARM64 && I2C
264	select SND_SOC_TLV320AIC23_I2C
265	select SND_SOC_IMX_AUDMUX
266	select SND_SOC_FSL_SSI
267	select SND_SOC_IMX_PCM_DMA
268	help
269	  Enable I2S based access to the TLV320AIC23B codec attached
270	  to the SSI interface
271
272config SND_SOC_IMX_ES8328
273	tristate "SoC Audio support for i.MX boards with the ES8328 codec"
274	depends on OF && (I2C || SPI)
275	select SND_SOC_ES8328_I2C if I2C
276	select SND_SOC_ES8328_SPI if SPI_MASTER
277	select SND_SOC_IMX_PCM_DMA
278	select SND_SOC_IMX_AUDMUX
279	select SND_SOC_FSL_SSI
280	help
281	  Say Y if you want to add support for the ES8328 audio codec connected
282	  via SSI/I2S over either SPI or I2C.
283
284config SND_SOC_IMX_SGTL5000
285	tristate "SoC Audio support for i.MX boards with sgtl5000"
286	depends on OF && I2C
287	select SND_SOC_SGTL5000
288	select SND_SOC_IMX_PCM_DMA
289	select SND_SOC_IMX_AUDMUX
290	select SND_SOC_FSL_SSI
291	help
292	  Say Y if you want to add support for SoC audio on an i.MX board with
293	  a sgtl5000 codec.
294
295	  Note that this is an old driver. Consider enabling
296	  SND_SOC_FSL_ASOC_CARD and SND_SOC_SGTL5000 to use the newer
297	  driver.
298
299config SND_SOC_IMX_SPDIF
300	tristate "SoC Audio support for i.MX boards with S/PDIF"
301	select SND_SOC_IMX_PCM_DMA
302	select SND_SOC_FSL_SPDIF
303	help
304	  SoC Audio support for i.MX boards with S/PDIF
305	  Say Y if you want to add support for SoC audio on an i.MX board with
306	  a S/DPDIF.
307
308config SND_SOC_FSL_ASOC_CARD
309	tristate "Generic ASoC Sound Card with ASRC support"
310	depends on OF && I2C
311	# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
312	depends on SND_AC97_CODEC || SND_AC97_CODEC=n
313	select SND_SIMPLE_CARD_UTILS
314	select SND_SOC_IMX_AUDMUX
315	select SND_SOC_IMX_PCM_DMA
316	select SND_SOC_FSL_ESAI
317	select SND_SOC_FSL_SAI
318	select SND_SOC_FSL_SSI
319	select SND_SOC_TLV320AIC31XX
320	select SND_SOC_WM8994
321	select MFD_WM8994
322	help
323	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
324	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
325	 CS4271, CS4272, SGTL5000 and TLV320AIC32x4.
326	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.
327
328config SND_SOC_IMX_AUDMIX
329	tristate "SoC Audio support for i.MX boards with AUDMIX"
330	select SND_SOC_FSL_AUDMIX
331	select SND_SOC_FSL_SAI
332	help
333	  SoC Audio support for i.MX boards with Audio Mixer
334	  Say Y if you want to add support for SoC audio on an i.MX board with
335	  an Audio Mixer.
336
337config SND_SOC_IMX_HDMI
338	tristate "SoC Audio support for i.MX boards with HDMI port"
339	select SND_SOC_FSL_SAI
340	select SND_SOC_FSL_AUD2HTX
341	select SND_SOC_HDMI_CODEC
342	help
343	  ALSA SoC Audio support with HDMI feature for Freescale SoCs that have
344	  SAI/AUD2HTX and connect with internal HDMI IP or external module
345	  SII902X.
346	  Say Y if you want to add support for SoC audio on an i.MX board with
347	  IMX HDMI.
348
349config SND_SOC_IMX_RPMSG
350	tristate "SoC Audio support for i.MX boards with rpmsg"
351	depends on RPMSG
352	depends on OF && I2C
353	select SND_SOC_IMX_PCM_RPMSG
354	select SND_SOC_IMX_AUDIO_RPMSG
355	help
356	  SoC Audio support for i.MX boards with rpmsg.
357	  There should be rpmsg devices defined in other core (M core)
358	  Say Y if you want to add support for SoC audio on an i.MX board with
359	  a rpmsg devices.
360
361config SND_SOC_IMX_CARD
362	tristate "SoC Audio Graph Sound Card support for i.MX boards"
363	depends on OF && I2C
364	select SND_SOC_AK4458
365	select SND_SOC_AK5558
366	select SND_SOC_IMX_PCM_DMA
367	select SND_SOC_FSL_SAI
368	select SND_SIMPLE_CARD_UTILS
369	help
370	  This option enables audio sound card support for i.MX boards
371	  with OF-graph DT bindings.
372	  It also support DPCM of single CPU multi Codec ststem.
373
374endif # SND_IMX_SOC
375
376endmenu
377