xref: /openbmc/linux/sound/soc/fsl/Kconfig (revision 4e95bc26)
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_AUDMIX
29	tristate "Audio Mixer (AUDMIX) module support"
30	select REGMAP_MMIO
31	help
32	  Say Y if you want to add Audio Mixer (AUDMIX)
33	  support for the NXP iMX CPUs.
34
35config SND_SOC_FSL_SSI
36	tristate "Synchronous Serial Interface module (SSI) support"
37	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
38	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
39	select REGMAP_MMIO
40	help
41	  Say Y if you want to add Synchronous Serial Interface (SSI)
42	  support for the Freescale CPUs.
43	  This option is only useful for out-of-tree drivers since
44	  in-tree drivers select it automatically.
45
46config SND_SOC_FSL_SPDIF
47	tristate "Sony/Philips Digital Interface (S/PDIF) module support"
48	select REGMAP_MMIO
49	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
50	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
51	select BITREVERSE
52	help
53	  Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
54	  support for the Freescale CPUs.
55	  This option is only useful for out-of-tree drivers since
56	  in-tree drivers select it automatically.
57
58config SND_SOC_FSL_ESAI
59	tristate "Enhanced Serial Audio Interface (ESAI) module support"
60	select REGMAP_MMIO
61	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
62	help
63	  Say Y if you want to add Enhanced Synchronous Audio Interface
64	  (ESAI) 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_MICFIL
69	tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
70	select REGMAP_MMIO
71	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
72	select SND_SOC_GENERIC_DMAENGINE_PCM
73	help
74	  Say Y if you want to add Pulse Density Modulation microphone
75	  interface (MICFIL) support for NXP.
76
77config SND_SOC_FSL_UTILS
78	tristate
79
80config SND_SOC_IMX_PCM_DMA
81	tristate
82	select SND_SOC_GENERIC_DMAENGINE_PCM
83
84config SND_SOC_IMX_AUDMUX
85	tristate "Digital Audio Mux module support"
86	help
87	  Say Y if you want to add Digital Audio Mux (AUDMUX) support
88	  for the ARM i.MX CPUs.
89	  This option is only useful for out-of-tree drivers since
90	  in-tree drivers select it automatically.
91
92config SND_POWERPC_SOC
93	tristate "SoC Audio for Freescale PowerPC CPUs"
94	depends on FSL_SOC || PPC_MPC52xx
95	help
96	  Say Y or M if you want to add support for codecs attached to
97	  the PowerPC CPUs.
98
99config SND_IMX_SOC
100	tristate "SoC Audio for Freescale i.MX CPUs"
101	depends on ARCH_MXC || COMPILE_TEST
102	help
103	  Say Y or M if you want to add support for codecs attached to
104	  the i.MX CPUs.
105
106if SND_POWERPC_SOC
107
108config SND_MPC52xx_DMA
109	tristate
110
111config SND_SOC_POWERPC_DMA
112	tristate
113
114comment "SoC Audio support for Freescale PPC boards:"
115
116config SND_SOC_MPC8610_HPCD
117	tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
118	# I2C is necessary for the CS4270 driver
119	depends on MPC8610_HPCD && I2C
120	select SND_SOC_FSL_SSI
121	select SND_SOC_FSL_UTILS
122	select SND_SOC_POWERPC_DMA
123	select SND_SOC_CS4270
124	select SND_SOC_CS4270_VD33_ERRATA
125	default y if MPC8610_HPCD
126	help
127	  Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
128
129config SND_SOC_P1022_DS
130	tristate "ALSA SoC support for the Freescale P1022 DS board"
131	# I2C is necessary for the WM8776 driver
132	depends on P1022_DS && I2C
133	select SND_SOC_FSL_SSI
134	select SND_SOC_FSL_UTILS
135	select SND_SOC_POWERPC_DMA
136	select SND_SOC_WM8776
137	default y if P1022_DS
138	help
139	  Say Y if you want to enable audio on the Freescale P1022 DS board.
140	  This will also include the Wolfson Microelectronics WM8776 codec
141	  driver.
142
143config SND_SOC_P1022_RDK
144	tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
145	# I2C is necessary for the WM8960 driver
146	depends on P1022_RDK && I2C
147	select SND_SOC_FSL_SSI
148	select SND_SOC_FSL_UTILS
149	select SND_SOC_POWERPC_DMA
150	select SND_SOC_WM8960
151	default y if P1022_RDK
152	help
153	  Say Y if you want to enable audio on the Freescale / iVeia
154	  P1022 RDK board.  This will also include the Wolfson
155	  Microelectronics WM8960 codec driver.
156
157config SND_SOC_MPC5200_I2S
158	tristate "Freescale MPC5200 PSC in I2S mode driver"
159	depends on PPC_MPC52xx && PPC_BESTCOMM
160	select SND_MPC52xx_DMA
161	select PPC_BESTCOMM_GEN_BD
162	help
163	  Say Y here to support the MPC5200 PSCs in I2S mode.
164
165config SND_SOC_MPC5200_AC97
166	tristate "Freescale MPC5200 PSC in AC97 mode driver"
167	depends on PPC_MPC52xx && PPC_BESTCOMM
168	select SND_SOC_AC97_BUS
169	select SND_MPC52xx_DMA
170	select PPC_BESTCOMM_GEN_BD
171	help
172	  Say Y here to support the MPC5200 PSCs in AC97 mode.
173
174config SND_MPC52xx_SOC_PCM030
175	tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
176	depends on PPC_MPC5200_SIMPLE
177	select SND_SOC_MPC5200_AC97
178	select SND_SOC_WM9712
179	help
180	  Say Y if you want to add support for sound on the Phytec pcm030
181	  baseboard.
182
183config SND_MPC52xx_SOC_EFIKA
184	tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
185	depends on PPC_EFIKA
186	select SND_SOC_MPC5200_AC97
187	select SND_SOC_STAC9766
188	help
189	  Say Y if you want to add support for sound on the Efika.
190
191endif # SND_POWERPC_SOC
192
193config SND_SOC_IMX_PCM_FIQ
194	tristate
195	default y if SND_SOC_IMX_SSI=y && (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
196	select FIQ
197
198if SND_IMX_SOC
199
200config SND_SOC_IMX_SSI
201	tristate
202	select SND_SOC_FSL_UTILS
203
204comment "SoC Audio support for Freescale i.MX boards:"
205
206config SND_MXC_SOC_WM1133_EV1
207	tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted"
208	depends on MACH_MX31ADS_WM1133_EV1
209	select SND_SOC_WM8350
210	select SND_SOC_IMX_PCM_FIQ
211	select SND_SOC_IMX_AUDMUX
212	select SND_SOC_IMX_SSI
213	help
214	  Enable support for audio on the i.MX31ADS with the WM1133-EV1
215	  PMIC board with WM8835x fitted.
216
217config SND_SOC_MX27VIS_AIC32X4
218	tristate "SoC audio support for Visstrim M10 boards"
219	depends on MACH_IMX27_VISSTRIM_M10 && I2C
220	select SND_SOC_TLV320AIC32X4
221	select SND_SOC_IMX_PCM_DMA
222	select SND_SOC_IMX_AUDMUX
223	select SND_SOC_IMX_SSI
224	help
225	  Say Y if you want to add support for SoC audio on Visstrim SM10
226	  board with TLV320AIC32X4 codec.
227
228config SND_SOC_PHYCORE_AC97
229	tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
230	depends on MACH_PCM043 || MACH_PCA100
231	select SND_SOC_AC97_BUS
232	select SND_SOC_WM9712
233	select SND_SOC_IMX_PCM_FIQ
234	select SND_SOC_IMX_AUDMUX
235	select SND_SOC_IMX_SSI
236	help
237	  Say Y if you want to add support for SoC audio on Phytec phyCORE
238	  and phyCARD boards in AC97 mode
239
240config SND_SOC_EUKREA_TLV320
241	tristate "Eukrea TLV320"
242	depends on ARCH_MXC && !ARM64 && I2C
243	select SND_SOC_TLV320AIC23_I2C
244	select SND_SOC_IMX_AUDMUX
245	select SND_SOC_IMX_SSI
246	select SND_SOC_FSL_SSI
247	select SND_SOC_IMX_PCM_DMA
248	help
249	  Enable I2S based access to the TLV320AIC23B codec attached
250	  to the SSI interface
251
252config SND_SOC_IMX_ES8328
253	tristate "SoC Audio support for i.MX boards with the ES8328 codec"
254	depends on OF && (I2C || SPI)
255	select SND_SOC_ES8328_I2C if I2C
256	select SND_SOC_ES8328_SPI if SPI_MASTER
257	select SND_SOC_IMX_PCM_DMA
258	select SND_SOC_IMX_AUDMUX
259	select SND_SOC_FSL_SSI
260	help
261	  Say Y if you want to add support for the ES8328 audio codec connected
262	  via SSI/I2S over either SPI or I2C.
263
264config SND_SOC_IMX_SGTL5000
265	tristate "SoC Audio support for i.MX boards with sgtl5000"
266	depends on OF && I2C
267	select SND_SOC_SGTL5000
268	select SND_SOC_IMX_PCM_DMA
269	select SND_SOC_IMX_AUDMUX
270	select SND_SOC_FSL_SSI
271	help
272	  Say Y if you want to add support for SoC audio on an i.MX board with
273	  a sgtl5000 codec.
274
275config SND_SOC_IMX_SPDIF
276	tristate "SoC Audio support for i.MX boards with S/PDIF"
277	select SND_SOC_IMX_PCM_DMA
278	select SND_SOC_FSL_SPDIF
279	help
280	  SoC Audio support for i.MX boards with S/PDIF
281	  Say Y if you want to add support for SoC audio on an i.MX board with
282	  a S/DPDIF.
283
284config SND_SOC_IMX_MC13783
285	tristate "SoC Audio support for I.MX boards with mc13783"
286	depends on MFD_MC13XXX && ARM
287	select SND_SOC_IMX_SSI
288	select SND_SOC_IMX_AUDMUX
289	select SND_SOC_MC13783
290	select SND_SOC_IMX_PCM_DMA
291
292config SND_SOC_FSL_ASOC_CARD
293	tristate "Generic ASoC Sound Card with ASRC support"
294	depends on OF && I2C
295	# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
296	depends on SND_AC97_CODEC || SND_AC97_CODEC=n
297	select SND_SOC_IMX_AUDMUX
298	select SND_SOC_IMX_PCM_DMA
299	select SND_SOC_FSL_ESAI
300	select SND_SOC_FSL_SAI
301	select SND_SOC_FSL_SSI
302	help
303	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
304	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
305	 CS4271, CS4272 and SGTL5000.
306	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.
307
308config SND_SOC_IMX_AUDMIX
309	tristate "SoC Audio support for i.MX boards with AUDMIX"
310	select SND_SOC_FSL_AUDMIX
311	select SND_SOC_FSL_SAI
312	help
313	  SoC Audio support for i.MX boards with Audio Mixer
314	  Say Y if you want to add support for SoC audio on an i.MX board with
315	  an Audio Mixer.
316
317endif # SND_IMX_SOC
318
319endmenu
320