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
5 config SND_SOC_TI_EDMA_PCM
7 select SND_SOC_GENERIC_DMAENGINE_PCM
9 config SND_SOC_TI_SDMA_PCM
11 select SND_SOC_GENERIC_DMAENGINE_PCM
13 config SND_SOC_TI_UDMA_PCM
15 select SND_SOC_GENERIC_DMAENGINE_PCM
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
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).
27 config SND_SOC_DAVINCI_MCASP
28 tristate "Multichannel Audio Serial Port (McASP) support"
29 select SND_SOC_TI_EDMA_PCM
30 select SND_SOC_TI_SDMA_PCM
31 select SND_SOC_TI_UDMA_PCM
33 Say Y or M here if you want to have support for McASP IP found in
34 various Texas Instruments SoCs like:
36 - Sitara line of SoCs (AM335x, AM438x, etc)
39 - K3 devices (am654, j721e)
41 config SND_SOC_DAVINCI_VCIF
42 tristate "daVinci Voice Interface (VCIF) support"
43 depends on ARCH_DAVINCI || COMPILE_TEST
44 select SND_SOC_TI_EDMA_PCM
46 Say Y or M here if you want audio support via daVinci VCIF.
48 config SND_SOC_OMAP_DMIC
49 tristate "Digital Microphone Module (DMIC) support"
50 depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
51 select SND_SOC_TI_SDMA_PCM
53 Say Y or M here if you want to have support for DMIC IP found in
56 config SND_SOC_OMAP_MCBSP
57 tristate "Multichannel Buffered Serial Port (McBSP) support"
58 depends on ARCH_OMAP || ARCH_OMAP1 || COMPILE_TEST
59 select SND_SOC_TI_SDMA_PCM
61 Say Y or M here if you want to have support for McBSP IP found in
62 Texas Instruments OMAP1/2/3/4/5 SoCs.
64 config SND_SOC_OMAP_MCPDM
65 tristate "Multichannel PDM Controller (McPDM) support"
66 depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
67 select SND_SOC_TI_SDMA_PCM
69 Say Y or M here if you want to have support for McPDM IP found in
72 comment "Audio support for boards with Texas Instruments SoCs"
73 config SND_SOC_NOKIA_N810
74 tristate "SoC Audio support for Nokia N810"
75 depends on MACH_NOKIA_N810 && I2C
76 select SND_SOC_OMAP_MCBSP
77 select SND_SOC_TLV320AIC3X
79 Say Y or M if you want to add support for SoC audio on Nokia N810.
81 config SND_SOC_NOKIA_RX51
82 tristate "SoC Audio support for Nokia RX-51"
83 depends on ARCH_OMAP3 && I2C && GPIOLIB
84 select SND_SOC_OMAP_MCBSP
85 select SND_SOC_TLV320AIC3X
86 select SND_SOC_TPA6130A2
88 Say Y or M if you want to add support for SoC audio on Nokia RX-51
89 hardware. This is also known as Nokia N900 product.
91 config SND_SOC_OMAP3_PANDORA
92 tristate "SoC Audio support for OMAP3 Pandora"
94 depends on TWL4030_CORE
95 select SND_SOC_OMAP_MCBSP
96 select SND_SOC_TWL4030
98 Say Y or M if you want to add support for SoC audio on the OMAP3 Pandora.
100 config SND_SOC_OMAP3_TWL4030
101 tristate "SoC Audio support for OMAP3 based boards with twl4030 codec"
102 depends on ARCH_OMAP3 || COMPILE_TEST
103 depends on TWL4030_CORE
104 select SND_SOC_OMAP_MCBSP
105 select SND_SOC_TWL4030
107 Say Y or M if you want to add support for SoC audio on OMAP3 based
108 boards using twl4030 as codec. This driver currently supports:
109 - Beagleboard or Devkit8000
110 - Gumstix Overo or CompuLab CM-T35/CM-T3730
116 config SND_SOC_OMAP_ABE_TWL6040
117 tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
118 depends on TWL6040_CORE && COMMON_CLK
119 depends on ARCH_OMAP4 || (SOC_OMAP5 && MFD_PALMAS) || COMPILE_TEST
120 select SND_SOC_OMAP_DMIC
121 select SND_SOC_OMAP_MCPDM
122 select SND_SOC_TWL6040
124 Say Y or M if you want to add support for SoC audio on OMAP boards
125 using ABE and twl6040 codec. This driver currently supports:
126 - SDP4430/Blaze boards
128 - PandaBoardES (4460)
131 config SND_SOC_OMAP_AMS_DELTA
132 tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
133 depends on MACH_AMS_DELTA && TTY
134 select SND_SOC_OMAP_MCBSP
135 select SND_SOC_CX20442
137 Say Y or M if you want to add support for SoC audio device
138 connected to a handset and a speakerphone found on Amstrad E3 (Delta)
141 Note that in order to get those devices fully supported, you have to
142 build the kernel with standard serial port driver included and
143 configured for at least 4 ports. Then, from userspace, you must load
144 a line discipline #19 on the modem (ttyS3) serial line. The simplest
145 way to achieve this is to install util-linux-ng and use the included
146 ldattach utility. This can be started automatically from udev,
147 a simple rule like this one should do the trick (it does for me):
148 ACTION=="add", KERNEL=="controlC0", \
149 RUN+="/usr/sbin/ldattach 19 /dev/ttyS3"
151 config SND_SOC_OMAP_HDMI
152 tristate "OMAP4/5 HDMI audio support"
153 depends on OMAP4_DSS_HDMI || OMAP5_DSS_HDMI || COMPILE_TEST
154 select SND_SOC_TI_SDMA_PCM
156 For HDMI audio to work OMAPDSS HDMI support should be
158 The hdmi audio driver implements cpu-dai component using the
159 callbacks provided by OMAPDSS and registers the component
160 under DSS HDMI device. Omap-pcm is registered for platform
161 component also under DSS HDMI device. Dummy codec is used as
162 as codec component. The hdmi audio driver implements also
163 the card and registers it under its own platform device.
164 The device for the driver is registered by OMAPDSS hdmi
167 config SND_SOC_OMAP_OSK5912
168 tristate "SoC Audio support for omap osk5912"
169 depends on MACH_OMAP_OSK && I2C
170 select SND_SOC_OMAP_MCBSP
171 select SND_SOC_TLV320AIC23_I2C
173 Say Y or M if you want to add support for SoC audio on osk5912.
175 config SND_SOC_DAVINCI_EVM
176 tristate "SoC Audio support for DaVinci EVMs"
177 depends on ARCH_DAVINCI && I2C
178 select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_DM355_EVM
179 select SND_SOC_DAVINCI_ASP if SND_SOC_DM365_AIC3X_CODEC
180 select SND_SOC_DAVINCI_VCIF if SND_SOC_DM365_VOICE_CODEC
181 select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_EVM # DM6446
182 select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DM6467_EVM
183 select SND_SOC_SPDIF if MACH_DAVINCI_DM6467_EVM
184 select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA830_EVM
185 select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA850_EVM
186 select SND_SOC_TLV320AIC3X
188 Say Y if you want to add support for SoC audio on the following TI
189 DaVinci EVM platforms:
198 prompt "DM365 codec select"
199 depends on SND_SOC_DAVINCI_EVM
200 depends on MACH_DAVINCI_DM365_EVM
202 config SND_SOC_DM365_AIC3X_CODEC
203 bool "Audio Codec - AIC3101"
205 Say Y if you want to add support for AIC3101 audio codec
207 config SND_SOC_DM365_VOICE_CODEC
208 bool "Voice Codec - CQ93VC"
210 Say Y if you want to add support for SoC On-chip voice codec
213 config SND_SOC_DM365_VOICE_CODEC_MODULE
215 depends on SND_SOC_DM365_VOICE_CODEC && SND_SOC
216 select MFD_DAVINCI_VOICECODEC
217 select SND_SOC_CQ0093VC
219 The is an internal symbol needed to ensure that the codec
220 and MFD driver can be built as loadable modules if necessary.
222 config SND_SOC_J721E_EVM
223 tristate "SoC Audio support for j721e EVM"
224 depends on ARCH_K3 || COMPILE_TEST
226 select SND_SOC_PCM3168A_I2C
227 select SND_SOC_DAVINCI_MCASP
229 Say Y if you want to add support for SoC audio on j721e Common
230 Processor Board and Infotainment expansion board.