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)
41 - K3 devices (am654, j721e)
43 config SND_SOC_OMAP_DMIC
44 tristate "Digital Microphone Module (DMIC) support"
45 depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST && COMMON_CLK
46 select SND_SOC_TI_SDMA_PCM
48 Say Y or M here if you want to have support for DMIC IP found in
51 config SND_SOC_OMAP_MCBSP
52 tristate "Multichannel Buffered Serial Port (McBSP) support"
53 depends on ARCH_OMAP || ARCH_OMAP1 || COMPILE_TEST && COMMON_CLK
54 select SND_SOC_TI_SDMA_PCM
56 Say Y or M here if you want to have support for McBSP IP found in
57 Texas Instruments OMAP1/2/3/4/5 SoCs.
59 config SND_SOC_OMAP_MCPDM
60 tristate "Multichannel PDM Controller (McPDM) support"
61 depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
62 select SND_SOC_TI_SDMA_PCM
64 Say Y or M here if you want to have support for McPDM IP found in
67 comment "Audio support for boards with Texas Instruments SoCs"
68 config SND_SOC_NOKIA_N810
69 tristate "SoC Audio support for Nokia N810"
70 depends on MACH_NOKIA_N810 && I2C
71 select SND_SOC_OMAP_MCBSP
72 select SND_SOC_TLV320AIC3X
74 Say Y or M if you want to add support for SoC audio on Nokia N810.
76 config SND_SOC_NOKIA_RX51
77 tristate "SoC Audio support for Nokia RX-51"
78 depends on ARCH_OMAP3 && I2C && GPIOLIB
79 select SND_SOC_OMAP_MCBSP
80 select SND_SOC_TLV320AIC3X
81 select SND_SOC_TPA6130A2
83 Say Y or M if you want to add support for SoC audio on Nokia RX-51
84 hardware. This is also known as Nokia N900 product.
86 config SND_SOC_OMAP3_PANDORA
87 tristate "SoC Audio support for OMAP3 Pandora"
89 depends on TWL4030_CORE
90 select SND_SOC_OMAP_MCBSP
91 select SND_SOC_TWL4030
93 Say Y or M if you want to add support for SoC audio on the OMAP3 Pandora.
95 config SND_SOC_OMAP3_TWL4030
96 tristate "SoC Audio support for OMAP3 based boards with twl4030 codec"
97 depends on ARCH_OMAP3 || COMPILE_TEST && COMMON_CLK
98 depends on TWL4030_CORE
99 select SND_SOC_OMAP_MCBSP
100 select SND_SOC_TWL4030
102 Say Y or M if you want to add support for SoC audio on OMAP3 based
103 boards using twl4030 as codec. This driver currently supports:
104 - Beagleboard or Devkit8000
105 - Gumstix Overo or CompuLab CM-T35/CM-T3730
111 config SND_SOC_OMAP_ABE_TWL6040
112 tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
113 depends on TWL6040_CORE && COMMON_CLK
114 depends on ARCH_OMAP4 || (SOC_OMAP5 && MFD_PALMAS) || COMPILE_TEST
115 select SND_SOC_OMAP_DMIC
116 select SND_SOC_OMAP_MCPDM
117 select SND_SOC_TWL6040
119 Say Y or M if you want to add support for SoC audio on OMAP boards
120 using ABE and twl6040 codec. This driver currently supports:
121 - SDP4430/Blaze boards
123 - PandaBoardES (4460)
126 config SND_SOC_OMAP_AMS_DELTA
127 tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
128 depends on MACH_AMS_DELTA || COMPILE_TEST
130 select SND_SOC_OMAP_MCBSP if COMMON_CLK
131 select SND_SOC_CX20442
133 Say Y or M if you want to add support for SoC audio device
134 connected to a handset and a speakerphone found on Amstrad E3 (Delta)
137 Note that in order to get those devices fully supported, you have to
138 build the kernel with standard serial port driver included and
139 configured for at least 4 ports. Then, from userspace, you must load
140 a line discipline #19 on the modem (ttyS3) serial line. The simplest
141 way to achieve this is to install util-linux-ng and use the included
142 ldattach utility. This can be started automatically from udev,
143 a simple rule like this one should do the trick (it does for me):
144 ACTION=="add", KERNEL=="controlC0", \
145 RUN+="/usr/sbin/ldattach 19 /dev/ttyS3"
147 config SND_SOC_OMAP_HDMI
148 tristate "OMAP4/5 HDMI audio support"
149 depends on OMAP4_DSS_HDMI || OMAP5_DSS_HDMI || COMPILE_TEST
150 select SND_SOC_TI_SDMA_PCM
152 For HDMI audio to work OMAPDSS HDMI support should be
154 The hdmi audio driver implements cpu-dai component using the
155 callbacks provided by OMAPDSS and registers the component
156 under DSS HDMI device. Omap-pcm is registered for platform
157 component also under DSS HDMI device. Dummy codec is used as
158 as codec component. The hdmi audio driver implements also
159 the card and registers it under its own platform device.
160 The device for the driver is registered by OMAPDSS hdmi
163 config SND_SOC_OMAP_OSK5912
164 tristate "SoC Audio support for omap osk5912"
165 depends on MACH_OMAP_OSK && I2C
166 select SND_SOC_OMAP_MCBSP
167 select SND_SOC_TLV320AIC23_I2C
169 Say Y or M if you want to add support for SoC audio on osk5912.
171 config SND_SOC_DAVINCI_EVM
172 tristate "SoC Audio support for DaVinci EVMs"
173 depends on ARCH_DAVINCI && I2C
174 select SND_SOC_TLV320AIC3X
176 Say Y if you want to add support for SoC audio on the following TI
177 DaVinci EVM platforms:
185 config SND_SOC_J721E_EVM
186 tristate "SoC Audio support for j721e EVM"
187 depends on ARCH_K3 || COMPILE_TEST && COMMON_CLK
189 select SND_SOC_PCM3168A_I2C
190 select SND_SOC_DAVINCI_MCASP
192 Say Y if you want to add support for SoC audio on j721e Common
193 Processor Board and Infotainment expansion board.