Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
menu "Audio support for Texas Instruments SoCs"
depends on CONFIG_DMA_OMAP || CONFIG_TI_EDMA || CONFIG_COMPILE_TEST

config CONFIG_SND_SOC_TI_EDMA_PCM
	tristate
	select CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM

config CONFIG_SND_SOC_TI_SDMA_PCM
	tristate
	select CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM

comment "Texas Instruments DAI support for:"
config CONFIG_SND_SOC_DAVINCI_ASP
	tristate "daVinci Audio Serial Port (ASP) or McBSP support"
	depends on CONFIG_ARCH_DAVINCI || CONFIG_COMPILE_TEST
	select CONFIG_SND_SOC_TI_EDMA_PCM
	help
	  Say Y or CONFIG_M here if you want audio support via daVinci ASP or McBSP.
	  The driver only implements the ASP support which is a subset of
	  daVinci McBSP (w/o the multichannel support).

config CONFIG_SND_SOC_DAVINCI_MCASP
	tristate "Multichannel Audio Serial Port (McASP) support"
	select CONFIG_SND_SOC_TI_EDMA_PCM
	select CONFIG_SND_SOC_TI_SDMA_PCM
	help
	  Say Y or CONFIG_M here if you want to have support for McASP IP found in
	  various Texas Instruments SoCs like:
	  - daVinci devices
	  - Sitara line of SoCs (AM335x, AM438x, etc)
	  - DRA7x devices
	  - Keystone devices

config CONFIG_SND_SOC_DAVINCI_VCIF
	tristate "daVinci Voice Interface (VCIF) support"
	depends on CONFIG_ARCH_DAVINCI || CONFIG_COMPILE_TEST
	select CONFIG_SND_SOC_TI_EDMA_PCM
	help
	  Say Y or CONFIG_M here if you want audio support via daVinci VCIF.

config CONFIG_SND_SOC_OMAP_DMIC
	tristate "Digital Microphone Module (DMIC) support"
	depends on CONFIG_ARCH_OMAP4 || CONFIG_SOC_OMAP5 || CONFIG_COMPILE_TEST
	select CONFIG_SND_SOC_TI_SDMA_PCM
	help
	  Say Y or CONFIG_M here if you want to have support for DMIC IP found in
	  OMAP4 and OMAP5.

config CONFIG_SND_SOC_OMAP_MCBSP
	tristate "Multichannel Buffered Serial Port (McBSP) support"
	depends on CONFIG_ARCH_OMAP || CONFIG_ARCH_OMAP1 || CONFIG_COMPILE_TEST
	select CONFIG_SND_SOC_TI_SDMA_PCM
	help
	  Say Y or CONFIG_M here if you want to have support for McBSP IP found in
	  Texas Instruments OMAP1/2/3/4/5 SoCs.

config CONFIG_SND_SOC_OMAP_MCPDM
	tristate "Multichannel PDM Controller (McPDM) support"
	depends on CONFIG_ARCH_OMAP4 || CONFIG_SOC_OMAP5 || CONFIG_COMPILE_TEST
	select CONFIG_SND_SOC_TI_SDMA_PCM
	help
	  Say Y or CONFIG_M here if you want to have support for McPDM IP found in
	  OMAP4 and OMAP5.

comment "Audio support for boards with Texas Instruments SoCs"
config CONFIG_SND_SOC_NOKIA_N810
	tristate "SoC Audio support for Nokia N810"
	depends on CONFIG_MACH_NOKIA_N810 && CONFIG_I2C
	select CONFIG_SND_SOC_OMAP_MCBSP
	select CONFIG_SND_SOC_TLV320AIC3X
	help
	  Say Y or CONFIG_M if you want to add support for SoC audio on Nokia N810.

config CONFIG_SND_SOC_NOKIA_RX51
	tristate "SoC Audio support for Nokia RX-51"
	depends on CONFIG_ARCH_OMAP3 && CONFIG_I2C && CONFIG_GPIOLIB
	select CONFIG_SND_SOC_OMAP_MCBSP
	select CONFIG_SND_SOC_TLV320AIC3X
	select CONFIG_SND_SOC_TPA6130A2
	help
	  Say Y or CONFIG_M if you want to add support for SoC audio on Nokia RX-51
	  hardware. This is also known as Nokia N900 product.

config CONFIG_SND_SOC_OMAP3_PANDORA
	tristate "SoC Audio support for OMAP3 Pandora"
	depends on CONFIG_ARCH_OMAP3
	depends on CONFIG_TWL4030_CORE
	select CONFIG_SND_SOC_OMAP_MCBSP
	select CONFIG_SND_SOC_TWL4030
	help
	  Say Y or CONFIG_M if you want to add support for SoC audio on the OMAP3 Pandora.

config CONFIG_SND_SOC_OMAP3_TWL4030
	tristate "SoC Audio support for OMAP3 based boards with twl4030 codec"
	depends on CONFIG_ARCH_OMAP3 || CONFIG_COMPILE_TEST
	depends on CONFIG_TWL4030_CORE
	select CONFIG_SND_SOC_OMAP_MCBSP
	select CONFIG_SND_SOC_TWL4030
	help
	  Say Y or CONFIG_M if you want to add support for SoC audio on OMAP3 based
	  boards using twl4030 as codec. This driver currently supports:
	  - Beagleboard or Devkit8000
	  - Gumstix Overo or CompuLab CM-T35/CM-T3730
	  - IGEP v2
	  - OMAP3EVM
	  - SDP3430
	  - Zoom2

config CONFIG_SND_SOC_OMAP_ABE_TWL6040
	tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
	depends on CONFIG_TWL6040_CORE && CONFIG_COMMON_CLK
	depends on CONFIG_ARCH_OMAP4 || (CONFIG_SOC_OMAP5 && CONFIG_MFD_PALMAS) || CONFIG_COMPILE_TEST
	select CONFIG_SND_SOC_OMAP_DMIC
	select CONFIG_SND_SOC_OMAP_MCPDM
	select CONFIG_SND_SOC_TWL6040
	help
	  Say Y or CONFIG_M if you want to add support for SoC audio on OMAP boards
	  using ABE and twl6040 codec. This driver currently supports:
	  - SDP4430/Blaze boards
	  - PandaBoard (4430)
	  - PandaBoardES (4460)
	  - OMAP5 uEVM

config CONFIG_SND_SOC_OMAP_AMS_DELTA
	tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
	depends on CONFIG_MACH_AMS_DELTA && CONFIG_TTY
	select CONFIG_SND_SOC_OMAP_MCBSP
	select CONFIG_SND_SOC_CX20442
	help
	  Say Y  or CONFIG_M if you want to add support  for SoC audio device
	  connected to a handset and a speakerphone found on Amstrad E3 (Delta)
	  videophone.

	  Note that in order to get those devices fully supported,  you have to
	  build  the kernel  with  standard  serial port  driver  included  and
	  configured for at least 4 ports.  Then, from userspace, you must load
	  a line discipline #19 on the modem (ttyS3) serial line.  The simplest
	  way to achieve this is to install util-linux-ng  and use the included
	  ldattach  utility.  This  can be  started  automatically  from  udev,
	  a simple rule like this one should do the trick (it does for me):
		ACTION=="add", KERNEL=="controlC0", \
				RUN+="/usr/sbin/ldattach 19 /dev/ttyS3"

config CONFIG_SND_SOC_OMAP_HDMI
	tristate "OMAP4/5 HDMI audio support"
	depends on CONFIG_OMAP4_DSS_HDMI || CONFIG_OMAP5_DSS_HDMI || CONFIG_COMPILE_TEST
	select CONFIG_SND_SOC_TI_SDMA_PCM
	help
	  For CONFIG_HDMI audio to work OMAPDSS CONFIG_HDMI support should be
	  enabled.
	  The hdmi audio driver implements cpu-dai component using the
	  callbacks provided by OMAPDSS and registers the component
	  under DSS CONFIG_HDMI device. Omap-pcm is registered for platform
	  component also under DSS CONFIG_HDMI device. Dummy codec is used as
	  as codec component. The hdmi audio driver implements also
	  the card and registers it under its own platform device.
	  The device for the driver is registered by OMAPDSS hdmi
	  driver.

config CONFIG_SND_SOC_OMAP_OSK5912
	tristate "SoC Audio support for omap osk5912"
	depends on CONFIG_MACH_OMAP_OSK && CONFIG_I2C
	select CONFIG_SND_SOC_OMAP_MCBSP
	select CONFIG_SND_SOC_TLV320AIC23_I2C
	help
	  Say Y or CONFIG_M if you want to add support for SoC audio on osk5912.

config CONFIG_SND_SOC_DAVINCI_EVM
	tristate "SoC Audio support for DaVinci EVMs"
	depends on CONFIG_ARCH_DAVINCI && CONFIG_I2C
	select CONFIG_SND_SOC_DAVINCI_ASP if CONFIG_MACH_DAVINCI_DM355_EVM
	select CONFIG_SND_SOC_DAVINCI_ASP if CONFIG_SND_SOC_DM365_AIC3X_CODEC
	select CONFIG_SND_SOC_DAVINCI_VCIF if CONFIG_SND_SOC_DM365_VOICE_CODEC
	select CONFIG_SND_SOC_DAVINCI_ASP if CONFIG_MACH_DAVINCI_EVM # DM6446
	select CONFIG_SND_SOC_DAVINCI_MCASP if CONFIG_MACH_DAVINCI_DM6467_EVM
	select CONFIG_SND_SOC_SPDIF if CONFIG_MACH_DAVINCI_DM6467_EVM
	select CONFIG_SND_SOC_DAVINCI_MCASP if CONFIG_MACH_DAVINCI_DA830_EVM
	select CONFIG_SND_SOC_DAVINCI_MCASP if CONFIG_MACH_DAVINCI_DA850_EVM
	select CONFIG_SND_SOC_TLV320AIC3X
	help
	  Say Y if you want to add support for SoC audio on the following TI
	  DaVinci CONFIG_EVM platforms:
	  - DM355
	  - DM365
	  - DM6446
	  - DM6447
	  - DM830
	  - DM850

choice
	prompt "DM365 codec select"
	depends on CONFIG_SND_SOC_DAVINCI_EVM
	depends on CONFIG_MACH_DAVINCI_DM365_EVM

config CONFIG_SND_SOC_DM365_AIC3X_CODEC
	bool "Audio Codec - AIC3101"
	help
	  Say Y if you want to add support for AIC3101 audio codec

config CONFIG_SND_SOC_DM365_VOICE_CODEC
	bool "Voice Codec - CQ93VC"
	help
	  Say Y if you want to add support for SoC On-chip voice codec
endchoice

config CONFIG_SND_SOC_DM365_VOICE_CODEC_MODULE
	def_tristate y
	depends on CONFIG_SND_SOC_DM365_VOICE_CODEC && CONFIG_SND_SOC
	select CONFIG_MFD_DAVINCI_VOICECODEC
	select CONFIG_SND_SOC_CQ0093VC
	help
	  The is an internal symbol needed to ensure that the codec
	  and MFD driver can be built as loadable modules if necessary.

endmenu