162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenu "Audio support for Texas Instruments SoCs"
362306a36Sopenharmony_cidepends on DMA_OMAP || TI_EDMA || TI_K3_UDMA || COMPILE_TEST
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciconfig SND_SOC_TI_EDMA_PCM
662306a36Sopenharmony_ci	tristate
762306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciconfig SND_SOC_TI_SDMA_PCM
1062306a36Sopenharmony_ci	tristate
1162306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciconfig SND_SOC_TI_UDMA_PCM
1462306a36Sopenharmony_ci	tristate
1562306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cicomment "Texas Instruments DAI support for:"
1862306a36Sopenharmony_ciconfig SND_SOC_DAVINCI_ASP
1962306a36Sopenharmony_ci	tristate "daVinci Audio Serial Port (ASP) or McBSP support"
2062306a36Sopenharmony_ci	depends on ARCH_DAVINCI || COMPILE_TEST
2162306a36Sopenharmony_ci	select SND_SOC_TI_EDMA_PCM
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  Say Y or M here if you want audio support via daVinci ASP or McBSP.
2462306a36Sopenharmony_ci	  The driver only implements the ASP support which is a subset of
2562306a36Sopenharmony_ci	  daVinci McBSP (w/o the multichannel support).
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciconfig SND_SOC_DAVINCI_MCASP
2862306a36Sopenharmony_ci	tristate "Multichannel Audio Serial Port (McASP) support"
2962306a36Sopenharmony_ci	depends on COMMON_CLK
3062306a36Sopenharmony_ci	select SND_SOC_TI_EDMA_PCM
3162306a36Sopenharmony_ci	select SND_SOC_TI_SDMA_PCM
3262306a36Sopenharmony_ci	select SND_SOC_TI_UDMA_PCM
3362306a36Sopenharmony_ci	help
3462306a36Sopenharmony_ci	  Say Y or M here if you want to have support for McASP IP found in
3562306a36Sopenharmony_ci	  various Texas Instruments SoCs like:
3662306a36Sopenharmony_ci	  - daVinci devices
3762306a36Sopenharmony_ci	  - Sitara line of SoCs (AM335x, AM438x, etc)
3862306a36Sopenharmony_ci	  - OMAP4
3962306a36Sopenharmony_ci	  - DRA7x devices
4062306a36Sopenharmony_ci	  - Keystone devices
4162306a36Sopenharmony_ci	  - K3 devices (am654, j721e)
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig SND_SOC_OMAP_DMIC
4462306a36Sopenharmony_ci	tristate "Digital Microphone Module (DMIC) support"
4562306a36Sopenharmony_ci	depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST && COMMON_CLK
4662306a36Sopenharmony_ci	select SND_SOC_TI_SDMA_PCM
4762306a36Sopenharmony_ci	help
4862306a36Sopenharmony_ci	  Say Y or M here if you want to have support for DMIC IP found in
4962306a36Sopenharmony_ci	  OMAP4 and OMAP5.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig SND_SOC_OMAP_MCBSP
5262306a36Sopenharmony_ci	tristate "Multichannel Buffered Serial Port (McBSP) support"
5362306a36Sopenharmony_ci	depends on ARCH_OMAP || ARCH_OMAP1 || COMPILE_TEST && COMMON_CLK
5462306a36Sopenharmony_ci	select SND_SOC_TI_SDMA_PCM
5562306a36Sopenharmony_ci	help
5662306a36Sopenharmony_ci	  Say Y or M here if you want to have support for McBSP IP found in
5762306a36Sopenharmony_ci	  Texas Instruments OMAP1/2/3/4/5 SoCs.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig SND_SOC_OMAP_MCPDM
6062306a36Sopenharmony_ci	tristate "Multichannel PDM Controller (McPDM) support"
6162306a36Sopenharmony_ci	depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
6262306a36Sopenharmony_ci	select SND_SOC_TI_SDMA_PCM
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  Say Y or M here if you want to have support for McPDM IP found in
6562306a36Sopenharmony_ci	  OMAP4 and OMAP5.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_cicomment "Audio support for boards with Texas Instruments SoCs"
6862306a36Sopenharmony_ciconfig SND_SOC_NOKIA_N810
6962306a36Sopenharmony_ci	tristate "SoC Audio support for Nokia N810"
7062306a36Sopenharmony_ci	depends on MACH_NOKIA_N810 && I2C
7162306a36Sopenharmony_ci	select SND_SOC_OMAP_MCBSP
7262306a36Sopenharmony_ci	select SND_SOC_TLV320AIC3X
7362306a36Sopenharmony_ci	help
7462306a36Sopenharmony_ci	  Say Y or M if you want to add support for SoC audio on Nokia N810.
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciconfig SND_SOC_NOKIA_RX51
7762306a36Sopenharmony_ci	tristate "SoC Audio support for Nokia RX-51"
7862306a36Sopenharmony_ci	depends on ARCH_OMAP3 && I2C && GPIOLIB
7962306a36Sopenharmony_ci	select SND_SOC_OMAP_MCBSP
8062306a36Sopenharmony_ci	select SND_SOC_TLV320AIC3X
8162306a36Sopenharmony_ci	select SND_SOC_TPA6130A2
8262306a36Sopenharmony_ci	help
8362306a36Sopenharmony_ci	  Say Y or M if you want to add support for SoC audio on Nokia RX-51
8462306a36Sopenharmony_ci	  hardware. This is also known as Nokia N900 product.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ciconfig SND_SOC_OMAP3_PANDORA
8762306a36Sopenharmony_ci	tristate "SoC Audio support for OMAP3 Pandora"
8862306a36Sopenharmony_ci	depends on ARCH_OMAP3
8962306a36Sopenharmony_ci	depends on TWL4030_CORE
9062306a36Sopenharmony_ci	select SND_SOC_OMAP_MCBSP
9162306a36Sopenharmony_ci	select SND_SOC_TWL4030
9262306a36Sopenharmony_ci	help
9362306a36Sopenharmony_ci	  Say Y or M if you want to add support for SoC audio on the OMAP3 Pandora.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciconfig SND_SOC_OMAP3_TWL4030
9662306a36Sopenharmony_ci	tristate "SoC Audio support for OMAP3 based boards with twl4030 codec"
9762306a36Sopenharmony_ci	depends on ARCH_OMAP3 || COMPILE_TEST && COMMON_CLK
9862306a36Sopenharmony_ci	depends on TWL4030_CORE
9962306a36Sopenharmony_ci	select SND_SOC_OMAP_MCBSP
10062306a36Sopenharmony_ci	select SND_SOC_TWL4030
10162306a36Sopenharmony_ci	help
10262306a36Sopenharmony_ci	  Say Y or M if you want to add support for SoC audio on OMAP3 based
10362306a36Sopenharmony_ci	  boards using twl4030 as codec. This driver currently supports:
10462306a36Sopenharmony_ci	  - Beagleboard or Devkit8000
10562306a36Sopenharmony_ci	  - Gumstix Overo or CompuLab CM-T35/CM-T3730
10662306a36Sopenharmony_ci	  - IGEP v2
10762306a36Sopenharmony_ci	  - OMAP3EVM
10862306a36Sopenharmony_ci	  - SDP3430
10962306a36Sopenharmony_ci	  - Zoom2
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciconfig SND_SOC_OMAP_ABE_TWL6040
11262306a36Sopenharmony_ci	tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
11362306a36Sopenharmony_ci	depends on TWL6040_CORE && COMMON_CLK
11462306a36Sopenharmony_ci	depends on ARCH_OMAP4 || (SOC_OMAP5 && MFD_PALMAS) || COMPILE_TEST
11562306a36Sopenharmony_ci	select SND_SOC_OMAP_DMIC
11662306a36Sopenharmony_ci	select SND_SOC_OMAP_MCPDM
11762306a36Sopenharmony_ci	select SND_SOC_TWL6040
11862306a36Sopenharmony_ci	help
11962306a36Sopenharmony_ci	  Say Y or M if you want to add support for SoC audio on OMAP boards
12062306a36Sopenharmony_ci	  using ABE and twl6040 codec. This driver currently supports:
12162306a36Sopenharmony_ci	  - SDP4430/Blaze boards
12262306a36Sopenharmony_ci	  - PandaBoard (4430)
12362306a36Sopenharmony_ci	  - PandaBoardES (4460)
12462306a36Sopenharmony_ci	  - OMAP5 uEVM
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ciconfig SND_SOC_OMAP_AMS_DELTA
12762306a36Sopenharmony_ci	tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
12862306a36Sopenharmony_ci	depends on MACH_AMS_DELTA && TTY
12962306a36Sopenharmony_ci	select SND_SOC_OMAP_MCBSP
13062306a36Sopenharmony_ci	select SND_SOC_CX20442
13162306a36Sopenharmony_ci	help
13262306a36Sopenharmony_ci	  Say Y  or M if you want to add support  for SoC audio device
13362306a36Sopenharmony_ci	  connected to a handset and a speakerphone found on Amstrad E3 (Delta)
13462306a36Sopenharmony_ci	  videophone.
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci	  Note that in order to get those devices fully supported,  you have to
13762306a36Sopenharmony_ci	  build  the kernel  with  standard  serial port  driver  included  and
13862306a36Sopenharmony_ci	  configured for at least 4 ports.  Then, from userspace, you must load
13962306a36Sopenharmony_ci	  a line discipline #19 on the modem (ttyS3) serial line.  The simplest
14062306a36Sopenharmony_ci	  way to achieve this is to install util-linux-ng  and use the included
14162306a36Sopenharmony_ci	  ldattach  utility.  This  can be  started  automatically  from  udev,
14262306a36Sopenharmony_ci	  a simple rule like this one should do the trick (it does for me):
14362306a36Sopenharmony_ci		ACTION=="add", KERNEL=="controlC0", \
14462306a36Sopenharmony_ci				RUN+="/usr/sbin/ldattach 19 /dev/ttyS3"
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ciconfig SND_SOC_OMAP_HDMI
14762306a36Sopenharmony_ci	tristate "OMAP4/5 HDMI audio support"
14862306a36Sopenharmony_ci	depends on OMAP4_DSS_HDMI || OMAP5_DSS_HDMI || COMPILE_TEST
14962306a36Sopenharmony_ci	select SND_SOC_TI_SDMA_PCM
15062306a36Sopenharmony_ci	help
15162306a36Sopenharmony_ci	  For HDMI audio to work OMAPDSS HDMI support should be
15262306a36Sopenharmony_ci	  enabled.
15362306a36Sopenharmony_ci	  The hdmi audio driver implements cpu-dai component using the
15462306a36Sopenharmony_ci	  callbacks provided by OMAPDSS and registers the component
15562306a36Sopenharmony_ci	  under DSS HDMI device. Omap-pcm is registered for platform
15662306a36Sopenharmony_ci	  component also under DSS HDMI device. Dummy codec is used as
15762306a36Sopenharmony_ci	  as codec component. The hdmi audio driver implements also
15862306a36Sopenharmony_ci	  the card and registers it under its own platform device.
15962306a36Sopenharmony_ci	  The device for the driver is registered by OMAPDSS hdmi
16062306a36Sopenharmony_ci	  driver.
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ciconfig SND_SOC_OMAP_OSK5912
16362306a36Sopenharmony_ci	tristate "SoC Audio support for omap osk5912"
16462306a36Sopenharmony_ci	depends on MACH_OMAP_OSK && I2C
16562306a36Sopenharmony_ci	select SND_SOC_OMAP_MCBSP
16662306a36Sopenharmony_ci	select SND_SOC_TLV320AIC23_I2C
16762306a36Sopenharmony_ci	help
16862306a36Sopenharmony_ci	  Say Y or M if you want to add support for SoC audio on osk5912.
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ciconfig SND_SOC_DAVINCI_EVM
17162306a36Sopenharmony_ci	tristate "SoC Audio support for DaVinci EVMs"
17262306a36Sopenharmony_ci	depends on ARCH_DAVINCI && I2C
17362306a36Sopenharmony_ci	select SND_SOC_TLV320AIC3X
17462306a36Sopenharmony_ci	help
17562306a36Sopenharmony_ci	  Say Y if you want to add support for SoC audio on the following TI
17662306a36Sopenharmony_ci	  DaVinci EVM platforms:
17762306a36Sopenharmony_ci	  - DM355
17862306a36Sopenharmony_ci	  - DM365
17962306a36Sopenharmony_ci	  - DM6446
18062306a36Sopenharmony_ci	  - DM6447
18162306a36Sopenharmony_ci	  - DM830
18262306a36Sopenharmony_ci	  - DM850
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ciconfig SND_SOC_J721E_EVM
18562306a36Sopenharmony_ci	tristate "SoC Audio support for j721e EVM"
18662306a36Sopenharmony_ci	depends on ARCH_K3 || COMPILE_TEST && COMMON_CLK
18762306a36Sopenharmony_ci	depends on I2C
18862306a36Sopenharmony_ci	select SND_SOC_PCM3168A_I2C
18962306a36Sopenharmony_ci	select SND_SOC_DAVINCI_MCASP
19062306a36Sopenharmony_ci	help
19162306a36Sopenharmony_ci	  Say Y if you want to add support for SoC audio on j721e Common
19262306a36Sopenharmony_ci	  Processor Board and Infotainment expansion board.
19362306a36Sopenharmony_ciendmenu
19462306a36Sopenharmony_ci
195