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"
30 select SND_SOC_TI_EDMA_PCM
31 select SND_SOC_TI_SDMA_PCM
32 select SND_SOC_TI_UDMA_PCM
34 Say Y or M here if you want to have support for McASP IP found in
35 various Texas Instruments SoCs like:
37 - Sitara line of SoCs (AM335x, AM438x, etc)
40 - K3 devices (am654, j721e)
42 config 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
47 Say Y or M here if you want audio support via daVinci VCIF.
49 config 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
54 Say Y or M here if you want to have support for DMIC IP found in
57 config 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
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.
65 config 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
70 Say Y or M here if you want to have support for McPDM IP found in
73 comment "Audio support for boards with Texas Instruments SoCs"
74 config 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
80 Say Y or M if you want to add support for SoC audio on Nokia N810.
82 config 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
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.
92 config SND_SOC_OMAP3_PANDORA
93 tristate "SoC Audio support for OMAP3 Pandora"
95 depends on TWL4030_CORE
96 select SND_SOC_OMAP_MCBSP
97 select SND_SOC_TWL4030
99 Say Y or M if you want to add support for SoC audio on the OMAP3 Pandora.
101 config 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
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
117 config 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
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
129 - PandaBoardES (4460)
132 config 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
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)
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"
152 config 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
157 For HDMI audio to work OMAPDSS HDMI support should be
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
168 config 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
174 Say Y or M if you want to add support for SoC audio on osk5912.
176 config 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
189 Say Y if you want to add support for SoC audio on the following TI
190 DaVinci EVM platforms:
199 prompt "DM365 codec select"
200 depends on SND_SOC_DAVINCI_EVM
201 depends on MACH_DAVINCI_DM365_EVM
203 config SND_SOC_DM365_AIC3X_CODEC
204 bool "Audio Codec - AIC3101"
206 Say Y if you want to add support for AIC3101 audio codec
208 config SND_SOC_DM365_VOICE_CODEC
209 bool "Voice Codec - CQ93VC"
211 Say Y if you want to add support for SoC On-chip voice codec
214 config SND_SOC_DM365_VOICE_CODEC_MODULE
216 depends on SND_SOC_DM365_VOICE_CODEC && SND_SOC
217 select MFD_DAVINCI_VOICECODEC
218 select SND_SOC_CQ0093VC
220 The is an internal symbol needed to ensure that the codec
221 and MFD driver can be built as loadable modules if necessary.
223 config SND_SOC_J721E_EVM
224 tristate "SoC Audio support for j721e EVM"
225 depends on ARCH_K3 || COMPILE_TEST && COMMON_CLK
227 select SND_SOC_PCM3168A_I2C
228 select SND_SOC_DAVINCI_MCASP
230 Say Y if you want to add support for SoC audio on j721e Common
231 Processor Board and Infotainment expansion board.