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