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