GNU Linux-libre 5.19-rc6-gnu
[releases.git] / sound / soc / ti / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Audio support for Texas Instruments SoCs"
3 depends on DMA_OMAP || TI_EDMA || TI_K3_UDMA || COMPILE_TEST
4
5 config SND_SOC_TI_EDMA_PCM
6         tristate
7         select SND_SOC_GENERIC_DMAENGINE_PCM
8
9 config SND_SOC_TI_SDMA_PCM
10         tristate
11         select SND_SOC_GENERIC_DMAENGINE_PCM
12
13 config SND_SOC_TI_UDMA_PCM
14         tristate
15         select SND_SOC_GENERIC_DMAENGINE_PCM
16
17 comment "Texas Instruments DAI support for:"
18 config 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
27 config 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
43 config 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
50 config 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
58 config 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
66 config 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
74 comment "Audio support for boards with Texas Instruments SoCs"
75 config 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
83 config 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
93 config 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
102 config 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
118 config 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
133 config 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
153 config 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
169 config 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
177 config 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
199 choice
200         prompt "DM365 codec select"
201         depends on SND_SOC_DAVINCI_EVM
202         depends on MACH_DAVINCI_DM365_EVM
203
204 config 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
209 config 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
213 endchoice
214
215 config 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
224 config 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.
233 endmenu
234