1# SPDX-License-Identifier: GPL-2.0-only
2menu "Audio support for Texas Instruments SoCs"
3depends on DMA_OMAP || TI_EDMA || TI_K3_UDMA || COMPILE_TEST
4
5config SND_SOC_TI_EDMA_PCM
6	tristate
7	select SND_SOC_GENERIC_DMAENGINE_PCM
8
9config SND_SOC_TI_SDMA_PCM
10	tristate
11	select SND_SOC_GENERIC_DMAENGINE_PCM
12
13config SND_SOC_TI_UDMA_PCM
14	tristate
15	select SND_SOC_GENERIC_DMAENGINE_PCM
16
17comment "Texas Instruments DAI support for:"
18config SND_SOC_DAVINCI_ASP
19	tristate "daVinci Audio Serial Port (ASP) or McBSP support"
20	depends on ARCH_DAVINCI || COMPILE_TEST
21	select SND_SOC_TI_EDMA_PCM
22	help
23	  Say Y or M here if you want audio support via daVinci ASP or McBSP.
24	  The driver only implements the ASP support which is a subset of
25	  daVinci McBSP (w/o the multichannel support).
26
27config SND_SOC_DAVINCI_MCASP
28	tristate "Multichannel Audio Serial Port (McASP) support"
29	depends on COMMON_CLK
30	select SND_SOC_TI_EDMA_PCM
31	select SND_SOC_TI_SDMA_PCM
32	select SND_SOC_TI_UDMA_PCM
33	help
34	  Say Y or M here if you want to have support for McASP IP found in
35	  various Texas Instruments SoCs like:
36	  - daVinci devices
37	  - Sitara line of SoCs (AM335x, AM438x, etc)
38	  - OMAP4
39	  - DRA7x devices
40	  - Keystone devices
41	  - K3 devices (am654, j721e)
42
43config SND_SOC_DAVINCI_VCIF
44	tristate "daVinci Voice Interface (VCIF) support"
45	depends on ARCH_DAVINCI || COMPILE_TEST
46	select SND_SOC_TI_EDMA_PCM
47	help
48	  Say Y or M here if you want audio support via daVinci VCIF.
49
50config SND_SOC_OMAP_DMIC
51	tristate "Digital Microphone Module (DMIC) support"
52	depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST && COMMON_CLK
53	select SND_SOC_TI_SDMA_PCM
54	help
55	  Say Y or M here if you want to have support for DMIC IP found in
56	  OMAP4 and OMAP5.
57
58config SND_SOC_OMAP_MCBSP
59	tristate "Multichannel Buffered Serial Port (McBSP) support"
60	depends on ARCH_OMAP || ARCH_OMAP1 || COMPILE_TEST && COMMON_CLK
61	select SND_SOC_TI_SDMA_PCM
62	help
63	  Say Y or M here if you want to have support for McBSP IP found in
64	  Texas Instruments OMAP1/2/3/4/5 SoCs.
65
66config SND_SOC_OMAP_MCPDM
67	tristate "Multichannel PDM Controller (McPDM) support"
68	depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
69	select SND_SOC_TI_SDMA_PCM
70	help
71	  Say Y or M here if you want to have support for McPDM IP found in
72	  OMAP4 and OMAP5.
73
74comment "Audio support for boards with Texas Instruments SoCs"
75config SND_SOC_NOKIA_N810
76	tristate "SoC Audio support for Nokia N810"
77	depends on MACH_NOKIA_N810 && I2C
78	select SND_SOC_OMAP_MCBSP
79	select SND_SOC_TLV320AIC3X
80	help
81	  Say Y or M if you want to add support for SoC audio on Nokia N810.
82
83config SND_SOC_NOKIA_RX51
84	tristate "SoC Audio support for Nokia RX-51"
85	depends on ARCH_OMAP3 && I2C && GPIOLIB
86	select SND_SOC_OMAP_MCBSP
87	select SND_SOC_TLV320AIC3X
88	select SND_SOC_TPA6130A2
89	help
90	  Say Y or M if you want to add support for SoC audio on Nokia RX-51
91	  hardware. This is also known as Nokia N900 product.
92
93config SND_SOC_OMAP3_PANDORA
94	tristate "SoC Audio support for OMAP3 Pandora"
95	depends on ARCH_OMAP3
96	depends on TWL4030_CORE
97	select SND_SOC_OMAP_MCBSP
98	select SND_SOC_TWL4030
99	help
100	  Say Y or M if you want to add support for SoC audio on the OMAP3 Pandora.
101
102config SND_SOC_OMAP3_TWL4030
103	tristate "SoC Audio support for OMAP3 based boards with twl4030 codec"
104	depends on ARCH_OMAP3 || COMPILE_TEST && COMMON_CLK
105	depends on TWL4030_CORE
106	select SND_SOC_OMAP_MCBSP
107	select SND_SOC_TWL4030
108	help
109	  Say Y or M if you want to add support for SoC audio on OMAP3 based
110	  boards using twl4030 as codec. This driver currently supports:
111	  - Beagleboard or Devkit8000
112	  - Gumstix Overo or CompuLab CM-T35/CM-T3730
113	  - IGEP v2
114	  - OMAP3EVM
115	  - SDP3430
116	  - Zoom2
117
118config SND_SOC_OMAP_ABE_TWL6040
119	tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
120	depends on TWL6040_CORE && COMMON_CLK
121	depends on ARCH_OMAP4 || (SOC_OMAP5 && MFD_PALMAS) || COMPILE_TEST
122	select SND_SOC_OMAP_DMIC
123	select SND_SOC_OMAP_MCPDM
124	select SND_SOC_TWL6040
125	help
126	  Say Y or M if you want to add support for SoC audio on OMAP boards
127	  using ABE and twl6040 codec. This driver currently supports:
128	  - SDP4430/Blaze boards
129	  - PandaBoard (4430)
130	  - PandaBoardES (4460)
131	  - OMAP5 uEVM
132
133config SND_SOC_OMAP_AMS_DELTA
134	tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
135	depends on MACH_AMS_DELTA && TTY
136	select SND_SOC_OMAP_MCBSP
137	select SND_SOC_CX20442
138	help
139	  Say Y  or M if you want to add support  for SoC audio device
140	  connected to a handset and a speakerphone found on Amstrad E3 (Delta)
141	  videophone.
142
143	  Note that in order to get those devices fully supported,  you have to
144	  build  the kernel  with  standard  serial port  driver  included  and
145	  configured for at least 4 ports.  Then, from userspace, you must load
146	  a line discipline #19 on the modem (ttyS3) serial line.  The simplest
147	  way to achieve this is to install util-linux-ng  and use the included
148	  ldattach  utility.  This  can be  started  automatically  from  udev,
149	  a simple rule like this one should do the trick (it does for me):
150		ACTION=="add", KERNEL=="controlC0", \
151				RUN+="/usr/sbin/ldattach 19 /dev/ttyS3"
152
153config SND_SOC_OMAP_HDMI
154	tristate "OMAP4/5 HDMI audio support"
155	depends on OMAP4_DSS_HDMI || OMAP5_DSS_HDMI || COMPILE_TEST
156	select SND_SOC_TI_SDMA_PCM
157	help
158	  For HDMI audio to work OMAPDSS HDMI support should be
159	  enabled.
160	  The hdmi audio driver implements cpu-dai component using the
161	  callbacks provided by OMAPDSS and registers the component
162	  under DSS HDMI device. Omap-pcm is registered for platform
163	  component also under DSS HDMI device. Dummy codec is used as
164	  as codec component. The hdmi audio driver implements also
165	  the card and registers it under its own platform device.
166	  The device for the driver is registered by OMAPDSS hdmi
167	  driver.
168
169config SND_SOC_OMAP_OSK5912
170	tristate "SoC Audio support for omap osk5912"
171	depends on MACH_OMAP_OSK && I2C
172	select SND_SOC_OMAP_MCBSP
173	select SND_SOC_TLV320AIC23_I2C
174	help
175	  Say Y or M if you want to add support for SoC audio on osk5912.
176
177config SND_SOC_DAVINCI_EVM
178	tristate "SoC Audio support for DaVinci EVMs"
179	depends on ARCH_DAVINCI && I2C
180	select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_DM355_EVM
181	select SND_SOC_DAVINCI_ASP if SND_SOC_DM365_AIC3X_CODEC
182	select SND_SOC_DAVINCI_VCIF if SND_SOC_DM365_VOICE_CODEC
183	select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_EVM # DM6446
184	select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DM6467_EVM
185	select SND_SOC_SPDIF if MACH_DAVINCI_DM6467_EVM
186	select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA830_EVM
187	select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA850_EVM
188	select SND_SOC_TLV320AIC3X
189	help
190	  Say Y if you want to add support for SoC audio on the following TI
191	  DaVinci EVM platforms:
192	  - DM355
193	  - DM365
194	  - DM6446
195	  - DM6447
196	  - DM830
197	  - DM850
198
199choice
200	prompt "DM365 codec select"
201	depends on SND_SOC_DAVINCI_EVM
202	depends on MACH_DAVINCI_DM365_EVM
203
204config SND_SOC_DM365_AIC3X_CODEC
205	bool "Audio Codec - AIC3101"
206	help
207	  Say Y if you want to add support for AIC3101 audio codec
208
209config SND_SOC_DM365_VOICE_CODEC
210	bool "Voice Codec - CQ93VC"
211	help
212	  Say Y if you want to add support for SoC On-chip voice codec
213endchoice
214
215config SND_SOC_DM365_SELECT_VOICE_CODECS
216	def_tristate y
217	depends on SND_SOC_DM365_VOICE_CODEC && SND_SOC
218	select MFD_DAVINCI_VOICECODEC
219	select SND_SOC_CQ0093VC
220	help
221	  The is an internal symbol needed to ensure that the codec
222	  and MFD driver can be built as loadable modules if necessary.
223
224config SND_SOC_J721E_EVM
225	tristate "SoC Audio support for j721e EVM"
226	depends on ARCH_K3 || COMPILE_TEST && COMMON_CLK
227	depends on I2C
228	select SND_SOC_PCM3168A_I2C
229	select SND_SOC_DAVINCI_MCASP
230	help
231	  Say Y if you want to add support for SoC audio on j721e Common
232	  Processor Board and Infotainment expansion board.
233endmenu
234
235