xref: /openbmc/linux/sound/soc/fsl/Kconfig (revision 3bf90eca)
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	help
107	  Say Y if you want to add Audio Transceiver (XCVR) support for NXP
108	  iMX CPUs. XCVR is a digital module that supports HDMI2.1 eARC,
109	  HDMI1.4 ARC and SPDIF.
110
111config SND_SOC_FSL_AUD2HTX
112	tristate "AUDIO TO HDMI TX module support"
113	depends on ARCH_MXC || COMPILE_TEST
114	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
115	help
116	  Say Y if you want to add AUDIO TO HDMI TX support for NXP.
117
118config SND_SOC_FSL_UTILS
119	tristate
120
121config SND_SOC_FSL_RPMSG
122	tristate "NXP Audio Base On RPMSG support"
123	depends on COMMON_CLK
124	depends on RPMSG
125	depends on SND_IMX_SOC || SND_IMX_SOC = n
126	select SND_SOC_IMX_RPMSG if SND_IMX_SOC != n
127	help
128	  Say Y if you want to add rpmsg audio support for the Freescale CPUs.
129	  This option is only useful for out-of-tree drivers since
130	  in-tree drivers select it automatically.
131
132config SND_SOC_IMX_PCM_DMA
133	tristate
134	select SND_SOC_GENERIC_DMAENGINE_PCM
135
136config SND_SOC_IMX_AUDIO_RPMSG
137	tristate
138	depends on RPMSG
139
140config SND_SOC_IMX_PCM_RPMSG
141	tristate
142	depends on SND_SOC_IMX_AUDIO_RPMSG
143	select SND_SOC_GENERIC_DMAENGINE_PCM
144
145config SND_SOC_IMX_AUDMUX
146	tristate "Digital Audio Mux module support"
147	help
148	  Say Y if you want to add Digital Audio Mux (AUDMUX) support
149	  for the ARM i.MX CPUs.
150	  This option is only useful for out-of-tree drivers since
151	  in-tree drivers select it automatically.
152
153config SND_POWERPC_SOC
154	tristate "SoC Audio for Freescale PowerPC CPUs"
155	depends on FSL_SOC || PPC_MPC52xx
156	help
157	  Say Y or M if you want to add support for codecs attached to
158	  the PowerPC CPUs.
159
160config SND_IMX_SOC
161	tristate "SoC Audio for Freescale i.MX CPUs"
162	depends on ARCH_MXC || COMPILE_TEST
163	help
164	  Say Y or M if you want to add support for codecs attached to
165	  the i.MX CPUs.
166
167if SND_POWERPC_SOC
168
169config SND_MPC52xx_DMA
170	tristate
171
172config SND_SOC_POWERPC_DMA
173	tristate
174
175comment "SoC Audio support for Freescale PPC boards:"
176
177config SND_SOC_MPC8610_HPCD
178	tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
179	# I2C is necessary for the CS4270 driver
180	depends on MPC8610_HPCD && I2C
181	select SND_SOC_FSL_SSI
182	select SND_SOC_FSL_UTILS
183	select SND_SOC_POWERPC_DMA
184	select SND_SOC_CS4270
185	select SND_SOC_CS4270_VD33_ERRATA
186	default y if MPC8610_HPCD
187	help
188	  Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
189
190config SND_SOC_P1022_DS
191	tristate "ALSA SoC support for the Freescale P1022 DS board"
192	# I2C is necessary for the WM8776 driver
193	depends on P1022_DS && I2C
194	select SND_SOC_FSL_SSI
195	select SND_SOC_FSL_UTILS
196	select SND_SOC_POWERPC_DMA
197	select SND_SOC_WM8776
198	default y if P1022_DS
199	help
200	  Say Y if you want to enable audio on the Freescale P1022 DS board.
201	  This will also include the Wolfson Microelectronics WM8776 codec
202	  driver.
203
204config SND_SOC_P1022_RDK
205	tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
206	# I2C is necessary for the WM8960 driver
207	depends on P1022_RDK && I2C
208	select SND_SOC_FSL_SSI
209	select SND_SOC_FSL_UTILS
210	select SND_SOC_POWERPC_DMA
211	select SND_SOC_WM8960
212	default y if P1022_RDK
213	help
214	  Say Y if you want to enable audio on the Freescale / iVeia
215	  P1022 RDK board.  This will also include the Wolfson
216	  Microelectronics WM8960 codec driver.
217
218config SND_SOC_MPC5200_I2S
219	tristate "Freescale MPC5200 PSC in I2S mode driver"
220	depends on PPC_MPC52xx && PPC_BESTCOMM
221	select SND_MPC52xx_DMA
222	select PPC_BESTCOMM_GEN_BD
223	help
224	  Say Y here to support the MPC5200 PSCs in I2S mode.
225
226config SND_SOC_MPC5200_AC97
227	tristate "Freescale MPC5200 PSC in AC97 mode driver"
228	depends on PPC_MPC52xx && PPC_BESTCOMM
229	select SND_SOC_AC97_BUS
230	select SND_MPC52xx_DMA
231	select PPC_BESTCOMM_GEN_BD
232	help
233	  Say Y here to support the MPC5200 PSCs in AC97 mode.
234
235config SND_MPC52xx_SOC_PCM030
236	tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
237	depends on PPC_MPC5200_SIMPLE
238	select SND_SOC_MPC5200_AC97
239	select SND_SOC_WM9712
240	help
241	  Say Y if you want to add support for sound on the Phytec pcm030
242	  baseboard.
243
244config SND_MPC52xx_SOC_EFIKA
245	tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
246	depends on PPC_EFIKA
247	select SND_SOC_MPC5200_AC97
248	select SND_SOC_STAC9766
249	help
250	  Say Y if you want to add support for sound on the Efika.
251
252endif # SND_POWERPC_SOC
253
254config SND_SOC_IMX_PCM_FIQ
255	tristate
256	default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
257	select FIQ
258
259if SND_IMX_SOC
260
261comment "SoC Audio support for Freescale i.MX boards:"
262
263config SND_SOC_EUKREA_TLV320
264	tristate "Eukrea TLV320"
265	depends on ARCH_MXC && !ARM64 && I2C
266	select SND_SOC_TLV320AIC23_I2C
267	select SND_SOC_IMX_AUDMUX
268	select SND_SOC_FSL_SSI
269	select SND_SOC_IMX_PCM_DMA
270	help
271	  Enable I2S based access to the TLV320AIC23B codec attached
272	  to the SSI interface
273
274config SND_SOC_IMX_ES8328
275	tristate "SoC Audio support for i.MX boards with the ES8328 codec"
276	depends on OF && (I2C || SPI)
277	select SND_SOC_ES8328_I2C if I2C
278	select SND_SOC_ES8328_SPI if SPI_MASTER
279	select SND_SOC_IMX_PCM_DMA
280	select SND_SOC_IMX_AUDMUX
281	select SND_SOC_FSL_SSI
282	help
283	  Say Y if you want to add support for the ES8328 audio codec connected
284	  via SSI/I2S over either SPI or I2C.
285
286config SND_SOC_IMX_SGTL5000
287	tristate "SoC Audio support for i.MX boards with sgtl5000"
288	depends on OF && I2C
289	select SND_SOC_SGTL5000
290	select SND_SOC_IMX_PCM_DMA
291	select SND_SOC_IMX_AUDMUX
292	select SND_SOC_FSL_SSI
293	help
294	  Say Y if you want to add support for SoC audio on an i.MX board with
295	  a sgtl5000 codec.
296
297config SND_SOC_IMX_SPDIF
298	tristate "SoC Audio support for i.MX boards with S/PDIF"
299	select SND_SOC_IMX_PCM_DMA
300	select SND_SOC_FSL_SPDIF
301	help
302	  SoC Audio support for i.MX boards with S/PDIF
303	  Say Y if you want to add support for SoC audio on an i.MX board with
304	  a S/DPDIF.
305
306config SND_SOC_FSL_ASOC_CARD
307	tristate "Generic ASoC Sound Card with ASRC support"
308	depends on OF && I2C
309	# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
310	depends on SND_AC97_CODEC || SND_AC97_CODEC=n
311	select SND_SIMPLE_CARD_UTILS
312	select SND_SOC_IMX_AUDMUX
313	select SND_SOC_IMX_PCM_DMA
314	select SND_SOC_FSL_ESAI
315	select SND_SOC_FSL_SAI
316	select SND_SOC_FSL_SSI
317	select SND_SOC_TLV320AIC31XX
318	select SND_SOC_WM8994
319	select MFD_WM8994
320	help
321	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
322	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
323	 CS4271, CS4272, SGTL5000 and TLV320AIC32x4.
324	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.
325
326config SND_SOC_IMX_AUDMIX
327	tristate "SoC Audio support for i.MX boards with AUDMIX"
328	select SND_SOC_FSL_AUDMIX
329	select SND_SOC_FSL_SAI
330	help
331	  SoC Audio support for i.MX boards with Audio Mixer
332	  Say Y if you want to add support for SoC audio on an i.MX board with
333	  an Audio Mixer.
334
335config SND_SOC_IMX_HDMI
336	tristate "SoC Audio support for i.MX boards with HDMI port"
337	select SND_SOC_FSL_SAI
338	select SND_SOC_FSL_AUD2HTX
339	select SND_SOC_HDMI_CODEC
340	help
341	  ALSA SoC Audio support with HDMI feature for Freescale SoCs that have
342	  SAI/AUD2HTX and connect with internal HDMI IP or external module
343	  SII902X.
344	  Say Y if you want to add support for SoC audio on an i.MX board with
345	  IMX HDMI.
346
347config SND_SOC_IMX_RPMSG
348	tristate "SoC Audio support for i.MX boards with rpmsg"
349	depends on RPMSG
350	select SND_SOC_IMX_PCM_RPMSG
351	select SND_SOC_IMX_AUDIO_RPMSG
352	help
353	  SoC Audio support for i.MX boards with rpmsg.
354	  There should be rpmsg devices defined in other core (M core)
355	  Say Y if you want to add support for SoC audio on an i.MX board with
356	  a rpmsg devices.
357
358config SND_SOC_IMX_CARD
359	tristate "SoC Audio Graph Sound Card support for i.MX boards"
360	depends on OF && I2C
361	select SND_SOC_AK4458
362	select SND_SOC_AK5558
363	select SND_SOC_IMX_PCM_DMA
364	select SND_SOC_FSL_SAI
365	select SND_SIMPLE_CARD_UTILS
366	help
367	  This option enables audio sound card support for i.MX boards
368	  with OF-graph DT bindings.
369	  It also support DPCM of single CPU multi Codec ststem.
370
371endif # SND_IMX_SOC
372
373endmenu
374