xref: /kernel/linux/linux-5.10/sound/soc/ti/Kconfig (revision 8c2ecf20)
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