18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_cimenu "Audio support for Texas Instruments SoCs" 38c2ecf20Sopenharmony_cidepends on DMA_OMAP || TI_EDMA || TI_K3_UDMA || COMPILE_TEST 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciconfig SND_SOC_TI_EDMA_PCM 68c2ecf20Sopenharmony_ci tristate 78c2ecf20Sopenharmony_ci select SND_SOC_GENERIC_DMAENGINE_PCM 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciconfig SND_SOC_TI_SDMA_PCM 108c2ecf20Sopenharmony_ci tristate 118c2ecf20Sopenharmony_ci select SND_SOC_GENERIC_DMAENGINE_PCM 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciconfig SND_SOC_TI_UDMA_PCM 148c2ecf20Sopenharmony_ci tristate 158c2ecf20Sopenharmony_ci select SND_SOC_GENERIC_DMAENGINE_PCM 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_cicomment "Texas Instruments DAI support for:" 188c2ecf20Sopenharmony_ciconfig SND_SOC_DAVINCI_ASP 198c2ecf20Sopenharmony_ci tristate "daVinci Audio Serial Port (ASP) or McBSP support" 208c2ecf20Sopenharmony_ci depends on ARCH_DAVINCI || COMPILE_TEST 218c2ecf20Sopenharmony_ci select SND_SOC_TI_EDMA_PCM 228c2ecf20Sopenharmony_ci help 238c2ecf20Sopenharmony_ci Say Y or M here if you want audio support via daVinci ASP or McBSP. 248c2ecf20Sopenharmony_ci The driver only implements the ASP support which is a subset of 258c2ecf20Sopenharmony_ci daVinci McBSP (w/o the multichannel support). 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciconfig SND_SOC_DAVINCI_MCASP 288c2ecf20Sopenharmony_ci tristate "Multichannel Audio Serial Port (McASP) support" 298c2ecf20Sopenharmony_ci select SND_SOC_TI_EDMA_PCM 308c2ecf20Sopenharmony_ci select SND_SOC_TI_SDMA_PCM 318c2ecf20Sopenharmony_ci select SND_SOC_TI_UDMA_PCM 328c2ecf20Sopenharmony_ci help 338c2ecf20Sopenharmony_ci Say Y or M here if you want to have support for McASP IP found in 348c2ecf20Sopenharmony_ci various Texas Instruments SoCs like: 358c2ecf20Sopenharmony_ci - daVinci devices 368c2ecf20Sopenharmony_ci - Sitara line of SoCs (AM335x, AM438x, etc) 378c2ecf20Sopenharmony_ci - DRA7x devices 388c2ecf20Sopenharmony_ci - Keystone devices 398c2ecf20Sopenharmony_ci - K3 devices (am654, j721e) 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig SND_SOC_DAVINCI_VCIF 428c2ecf20Sopenharmony_ci tristate "daVinci Voice Interface (VCIF) support" 438c2ecf20Sopenharmony_ci depends on ARCH_DAVINCI || COMPILE_TEST 448c2ecf20Sopenharmony_ci select SND_SOC_TI_EDMA_PCM 458c2ecf20Sopenharmony_ci help 468c2ecf20Sopenharmony_ci Say Y or M here if you want audio support via daVinci VCIF. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP_DMIC 498c2ecf20Sopenharmony_ci tristate "Digital Microphone Module (DMIC) support" 508c2ecf20Sopenharmony_ci depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST 518c2ecf20Sopenharmony_ci select SND_SOC_TI_SDMA_PCM 528c2ecf20Sopenharmony_ci help 538c2ecf20Sopenharmony_ci Say Y or M here if you want to have support for DMIC IP found in 548c2ecf20Sopenharmony_ci OMAP4 and OMAP5. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP_MCBSP 578c2ecf20Sopenharmony_ci tristate "Multichannel Buffered Serial Port (McBSP) support" 588c2ecf20Sopenharmony_ci depends on ARCH_OMAP || ARCH_OMAP1 || COMPILE_TEST 598c2ecf20Sopenharmony_ci select SND_SOC_TI_SDMA_PCM 608c2ecf20Sopenharmony_ci help 618c2ecf20Sopenharmony_ci Say Y or M here if you want to have support for McBSP IP found in 628c2ecf20Sopenharmony_ci Texas Instruments OMAP1/2/3/4/5 SoCs. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP_MCPDM 658c2ecf20Sopenharmony_ci tristate "Multichannel PDM Controller (McPDM) support" 668c2ecf20Sopenharmony_ci depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST 678c2ecf20Sopenharmony_ci select SND_SOC_TI_SDMA_PCM 688c2ecf20Sopenharmony_ci help 698c2ecf20Sopenharmony_ci Say Y or M here if you want to have support for McPDM IP found in 708c2ecf20Sopenharmony_ci OMAP4 and OMAP5. 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_cicomment "Audio support for boards with Texas Instruments SoCs" 738c2ecf20Sopenharmony_ciconfig SND_SOC_NOKIA_N810 748c2ecf20Sopenharmony_ci tristate "SoC Audio support for Nokia N810" 758c2ecf20Sopenharmony_ci depends on MACH_NOKIA_N810 && I2C 768c2ecf20Sopenharmony_ci select SND_SOC_OMAP_MCBSP 778c2ecf20Sopenharmony_ci select SND_SOC_TLV320AIC3X 788c2ecf20Sopenharmony_ci help 798c2ecf20Sopenharmony_ci Say Y or M if you want to add support for SoC audio on Nokia N810. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ciconfig SND_SOC_NOKIA_RX51 828c2ecf20Sopenharmony_ci tristate "SoC Audio support for Nokia RX-51" 838c2ecf20Sopenharmony_ci depends on ARCH_OMAP3 && I2C && GPIOLIB 848c2ecf20Sopenharmony_ci select SND_SOC_OMAP_MCBSP 858c2ecf20Sopenharmony_ci select SND_SOC_TLV320AIC3X 868c2ecf20Sopenharmony_ci select SND_SOC_TPA6130A2 878c2ecf20Sopenharmony_ci help 888c2ecf20Sopenharmony_ci Say Y or M if you want to add support for SoC audio on Nokia RX-51 898c2ecf20Sopenharmony_ci hardware. This is also known as Nokia N900 product. 908c2ecf20Sopenharmony_ci 918c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP3_PANDORA 928c2ecf20Sopenharmony_ci tristate "SoC Audio support for OMAP3 Pandora" 938c2ecf20Sopenharmony_ci depends on ARCH_OMAP3 948c2ecf20Sopenharmony_ci depends on TWL4030_CORE 958c2ecf20Sopenharmony_ci select SND_SOC_OMAP_MCBSP 968c2ecf20Sopenharmony_ci select SND_SOC_TWL4030 978c2ecf20Sopenharmony_ci help 988c2ecf20Sopenharmony_ci Say Y or M if you want to add support for SoC audio on the OMAP3 Pandora. 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP3_TWL4030 1018c2ecf20Sopenharmony_ci tristate "SoC Audio support for OMAP3 based boards with twl4030 codec" 1028c2ecf20Sopenharmony_ci depends on ARCH_OMAP3 || COMPILE_TEST 1038c2ecf20Sopenharmony_ci depends on TWL4030_CORE 1048c2ecf20Sopenharmony_ci select SND_SOC_OMAP_MCBSP 1058c2ecf20Sopenharmony_ci select SND_SOC_TWL4030 1068c2ecf20Sopenharmony_ci help 1078c2ecf20Sopenharmony_ci Say Y or M if you want to add support for SoC audio on OMAP3 based 1088c2ecf20Sopenharmony_ci boards using twl4030 as codec. This driver currently supports: 1098c2ecf20Sopenharmony_ci - Beagleboard or Devkit8000 1108c2ecf20Sopenharmony_ci - Gumstix Overo or CompuLab CM-T35/CM-T3730 1118c2ecf20Sopenharmony_ci - IGEP v2 1128c2ecf20Sopenharmony_ci - OMAP3EVM 1138c2ecf20Sopenharmony_ci - SDP3430 1148c2ecf20Sopenharmony_ci - Zoom2 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP_ABE_TWL6040 1178c2ecf20Sopenharmony_ci tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec" 1188c2ecf20Sopenharmony_ci depends on TWL6040_CORE && COMMON_CLK 1198c2ecf20Sopenharmony_ci depends on ARCH_OMAP4 || (SOC_OMAP5 && MFD_PALMAS) || COMPILE_TEST 1208c2ecf20Sopenharmony_ci select SND_SOC_OMAP_DMIC 1218c2ecf20Sopenharmony_ci select SND_SOC_OMAP_MCPDM 1228c2ecf20Sopenharmony_ci select SND_SOC_TWL6040 1238c2ecf20Sopenharmony_ci help 1248c2ecf20Sopenharmony_ci Say Y or M if you want to add support for SoC audio on OMAP boards 1258c2ecf20Sopenharmony_ci using ABE and twl6040 codec. This driver currently supports: 1268c2ecf20Sopenharmony_ci - SDP4430/Blaze boards 1278c2ecf20Sopenharmony_ci - PandaBoard (4430) 1288c2ecf20Sopenharmony_ci - PandaBoardES (4460) 1298c2ecf20Sopenharmony_ci - OMAP5 uEVM 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP_AMS_DELTA 1328c2ecf20Sopenharmony_ci tristate "SoC Audio support for Amstrad E3 (Delta) videophone" 1338c2ecf20Sopenharmony_ci depends on MACH_AMS_DELTA && TTY 1348c2ecf20Sopenharmony_ci select SND_SOC_OMAP_MCBSP 1358c2ecf20Sopenharmony_ci select SND_SOC_CX20442 1368c2ecf20Sopenharmony_ci help 1378c2ecf20Sopenharmony_ci Say Y or M if you want to add support for SoC audio device 1388c2ecf20Sopenharmony_ci connected to a handset and a speakerphone found on Amstrad E3 (Delta) 1398c2ecf20Sopenharmony_ci videophone. 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci Note that in order to get those devices fully supported, you have to 1428c2ecf20Sopenharmony_ci build the kernel with standard serial port driver included and 1438c2ecf20Sopenharmony_ci configured for at least 4 ports. Then, from userspace, you must load 1448c2ecf20Sopenharmony_ci a line discipline #19 on the modem (ttyS3) serial line. The simplest 1458c2ecf20Sopenharmony_ci way to achieve this is to install util-linux-ng and use the included 1468c2ecf20Sopenharmony_ci ldattach utility. This can be started automatically from udev, 1478c2ecf20Sopenharmony_ci a simple rule like this one should do the trick (it does for me): 1488c2ecf20Sopenharmony_ci ACTION=="add", KERNEL=="controlC0", \ 1498c2ecf20Sopenharmony_ci RUN+="/usr/sbin/ldattach 19 /dev/ttyS3" 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP_HDMI 1528c2ecf20Sopenharmony_ci tristate "OMAP4/5 HDMI audio support" 1538c2ecf20Sopenharmony_ci depends on OMAP4_DSS_HDMI || OMAP5_DSS_HDMI || COMPILE_TEST 1548c2ecf20Sopenharmony_ci select SND_SOC_TI_SDMA_PCM 1558c2ecf20Sopenharmony_ci help 1568c2ecf20Sopenharmony_ci For HDMI audio to work OMAPDSS HDMI support should be 1578c2ecf20Sopenharmony_ci enabled. 1588c2ecf20Sopenharmony_ci The hdmi audio driver implements cpu-dai component using the 1598c2ecf20Sopenharmony_ci callbacks provided by OMAPDSS and registers the component 1608c2ecf20Sopenharmony_ci under DSS HDMI device. Omap-pcm is registered for platform 1618c2ecf20Sopenharmony_ci component also under DSS HDMI device. Dummy codec is used as 1628c2ecf20Sopenharmony_ci as codec component. The hdmi audio driver implements also 1638c2ecf20Sopenharmony_ci the card and registers it under its own platform device. 1648c2ecf20Sopenharmony_ci The device for the driver is registered by OMAPDSS hdmi 1658c2ecf20Sopenharmony_ci driver. 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ciconfig SND_SOC_OMAP_OSK5912 1688c2ecf20Sopenharmony_ci tristate "SoC Audio support for omap osk5912" 1698c2ecf20Sopenharmony_ci depends on MACH_OMAP_OSK && I2C 1708c2ecf20Sopenharmony_ci select SND_SOC_OMAP_MCBSP 1718c2ecf20Sopenharmony_ci select SND_SOC_TLV320AIC23_I2C 1728c2ecf20Sopenharmony_ci help 1738c2ecf20Sopenharmony_ci Say Y or M if you want to add support for SoC audio on osk5912. 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ciconfig SND_SOC_DAVINCI_EVM 1768c2ecf20Sopenharmony_ci tristate "SoC Audio support for DaVinci EVMs" 1778c2ecf20Sopenharmony_ci depends on ARCH_DAVINCI && I2C 1788c2ecf20Sopenharmony_ci select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_DM355_EVM 1798c2ecf20Sopenharmony_ci select SND_SOC_DAVINCI_ASP if SND_SOC_DM365_AIC3X_CODEC 1808c2ecf20Sopenharmony_ci select SND_SOC_DAVINCI_VCIF if SND_SOC_DM365_VOICE_CODEC 1818c2ecf20Sopenharmony_ci select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_EVM # DM6446 1828c2ecf20Sopenharmony_ci select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DM6467_EVM 1838c2ecf20Sopenharmony_ci select SND_SOC_SPDIF if MACH_DAVINCI_DM6467_EVM 1848c2ecf20Sopenharmony_ci select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA830_EVM 1858c2ecf20Sopenharmony_ci select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA850_EVM 1868c2ecf20Sopenharmony_ci select SND_SOC_TLV320AIC3X 1878c2ecf20Sopenharmony_ci help 1888c2ecf20Sopenharmony_ci Say Y if you want to add support for SoC audio on the following TI 1898c2ecf20Sopenharmony_ci DaVinci EVM platforms: 1908c2ecf20Sopenharmony_ci - DM355 1918c2ecf20Sopenharmony_ci - DM365 1928c2ecf20Sopenharmony_ci - DM6446 1938c2ecf20Sopenharmony_ci - DM6447 1948c2ecf20Sopenharmony_ci - DM830 1958c2ecf20Sopenharmony_ci - DM850 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_cichoice 1988c2ecf20Sopenharmony_ci prompt "DM365 codec select" 1998c2ecf20Sopenharmony_ci depends on SND_SOC_DAVINCI_EVM 2008c2ecf20Sopenharmony_ci depends on MACH_DAVINCI_DM365_EVM 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ciconfig SND_SOC_DM365_AIC3X_CODEC 2038c2ecf20Sopenharmony_ci bool "Audio Codec - AIC3101" 2048c2ecf20Sopenharmony_ci help 2058c2ecf20Sopenharmony_ci Say Y if you want to add support for AIC3101 audio codec 2068c2ecf20Sopenharmony_ci 2078c2ecf20Sopenharmony_ciconfig SND_SOC_DM365_VOICE_CODEC 2088c2ecf20Sopenharmony_ci bool "Voice Codec - CQ93VC" 2098c2ecf20Sopenharmony_ci help 2108c2ecf20Sopenharmony_ci Say Y if you want to add support for SoC On-chip voice codec 2118c2ecf20Sopenharmony_ciendchoice 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ciconfig SND_SOC_DM365_VOICE_CODEC_MODULE 2148c2ecf20Sopenharmony_ci def_tristate y 2158c2ecf20Sopenharmony_ci depends on SND_SOC_DM365_VOICE_CODEC && SND_SOC 2168c2ecf20Sopenharmony_ci select MFD_DAVINCI_VOICECODEC 2178c2ecf20Sopenharmony_ci select SND_SOC_CQ0093VC 2188c2ecf20Sopenharmony_ci help 2198c2ecf20Sopenharmony_ci The is an internal symbol needed to ensure that the codec 2208c2ecf20Sopenharmony_ci and MFD driver can be built as loadable modules if necessary. 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ciconfig SND_SOC_J721E_EVM 2238c2ecf20Sopenharmony_ci tristate "SoC Audio support for j721e EVM" 2248c2ecf20Sopenharmony_ci depends on ARCH_K3 || COMPILE_TEST 2258c2ecf20Sopenharmony_ci depends on I2C 2268c2ecf20Sopenharmony_ci select SND_SOC_PCM3168A_I2C 2278c2ecf20Sopenharmony_ci select SND_SOC_DAVINCI_MCASP 2288c2ecf20Sopenharmony_ci help 2298c2ecf20Sopenharmony_ci Say Y if you want to add support for SoC audio on j721e Common 2308c2ecf20Sopenharmony_ci Processor Board and Infotainment expansion board. 2318c2ecf20Sopenharmony_ciendmenu 2328c2ecf20Sopenharmony_ci 233