0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menu "Audio support for Texas Instruments SoCs"
0003 depends on DMA_OMAP || TI_EDMA || TI_K3_UDMA || COMPILE_TEST
0004
0005 config SND_SOC_TI_EDMA_PCM
0006 tristate
0007 select SND_SOC_GENERIC_DMAENGINE_PCM
0008
0009 config SND_SOC_TI_SDMA_PCM
0010 tristate
0011 select SND_SOC_GENERIC_DMAENGINE_PCM
0012
0013 config SND_SOC_TI_UDMA_PCM
0014 tristate
0015 select SND_SOC_GENERIC_DMAENGINE_PCM
0016
0017 comment "Texas Instruments DAI support for:"
0018 config SND_SOC_DAVINCI_ASP
0019 tristate "daVinci Audio Serial Port (ASP) or McBSP support"
0020 depends on ARCH_DAVINCI || COMPILE_TEST
0021 select SND_SOC_TI_EDMA_PCM
0022 help
0023 Say Y or M here if you want audio support via daVinci ASP or McBSP.
0024 The driver only implements the ASP support which is a subset of
0025 daVinci McBSP (w/o the multichannel support).
0026
0027 config SND_SOC_DAVINCI_MCASP
0028 tristate "Multichannel Audio Serial Port (McASP) support"
0029 depends on COMMON_CLK
0030 select SND_SOC_TI_EDMA_PCM
0031 select SND_SOC_TI_SDMA_PCM
0032 select SND_SOC_TI_UDMA_PCM
0033 help
0034 Say Y or M here if you want to have support for McASP IP found in
0035 various Texas Instruments SoCs like:
0036 - daVinci devices
0037 - Sitara line of SoCs (AM335x, AM438x, etc)
0038 - OMAP4
0039 - DRA7x devices
0040 - Keystone devices
0041 - K3 devices (am654, j721e)
0042
0043 config SND_SOC_DAVINCI_VCIF
0044 tristate "daVinci Voice Interface (VCIF) support"
0045 depends on ARCH_DAVINCI || COMPILE_TEST
0046 select SND_SOC_TI_EDMA_PCM
0047 help
0048 Say Y or M here if you want audio support via daVinci VCIF.
0049
0050 config SND_SOC_OMAP_DMIC
0051 tristate "Digital Microphone Module (DMIC) support"
0052 depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST && COMMON_CLK
0053 select SND_SOC_TI_SDMA_PCM
0054 help
0055 Say Y or M here if you want to have support for DMIC IP found in
0056 OMAP4 and OMAP5.
0057
0058 config SND_SOC_OMAP_MCBSP
0059 tristate "Multichannel Buffered Serial Port (McBSP) support"
0060 depends on ARCH_OMAP || ARCH_OMAP1 || COMPILE_TEST && COMMON_CLK
0061 select SND_SOC_TI_SDMA_PCM
0062 help
0063 Say Y or M here if you want to have support for McBSP IP found in
0064 Texas Instruments OMAP1/2/3/4/5 SoCs.
0065
0066 config SND_SOC_OMAP_MCPDM
0067 tristate "Multichannel PDM Controller (McPDM) support"
0068 depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
0069 select SND_SOC_TI_SDMA_PCM
0070 help
0071 Say Y or M here if you want to have support for McPDM IP found in
0072 OMAP4 and OMAP5.
0073
0074 comment "Audio support for boards with Texas Instruments SoCs"
0075 config SND_SOC_NOKIA_N810
0076 tristate "SoC Audio support for Nokia N810"
0077 depends on MACH_NOKIA_N810 && I2C
0078 select SND_SOC_OMAP_MCBSP
0079 select SND_SOC_TLV320AIC3X
0080 help
0081 Say Y or M if you want to add support for SoC audio on Nokia N810.
0082
0083 config SND_SOC_NOKIA_RX51
0084 tristate "SoC Audio support for Nokia RX-51"
0085 depends on ARCH_OMAP3 && I2C && GPIOLIB
0086 select SND_SOC_OMAP_MCBSP
0087 select SND_SOC_TLV320AIC3X
0088 select SND_SOC_TPA6130A2
0089 help
0090 Say Y or M if you want to add support for SoC audio on Nokia RX-51
0091 hardware. This is also known as Nokia N900 product.
0092
0093 config SND_SOC_OMAP3_PANDORA
0094 tristate "SoC Audio support for OMAP3 Pandora"
0095 depends on ARCH_OMAP3
0096 depends on TWL4030_CORE
0097 select SND_SOC_OMAP_MCBSP
0098 select SND_SOC_TWL4030
0099 help
0100 Say Y or M if you want to add support for SoC audio on the OMAP3 Pandora.
0101
0102 config SND_SOC_OMAP3_TWL4030
0103 tristate "SoC Audio support for OMAP3 based boards with twl4030 codec"
0104 depends on ARCH_OMAP3 || COMPILE_TEST && COMMON_CLK
0105 depends on TWL4030_CORE
0106 select SND_SOC_OMAP_MCBSP
0107 select SND_SOC_TWL4030
0108 help
0109 Say Y or M if you want to add support for SoC audio on OMAP3 based
0110 boards using twl4030 as codec. This driver currently supports:
0111 - Beagleboard or Devkit8000
0112 - Gumstix Overo or CompuLab CM-T35/CM-T3730
0113 - IGEP v2
0114 - OMAP3EVM
0115 - SDP3430
0116 - Zoom2
0117
0118 config SND_SOC_OMAP_ABE_TWL6040
0119 tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
0120 depends on TWL6040_CORE && COMMON_CLK
0121 depends on ARCH_OMAP4 || (SOC_OMAP5 && MFD_PALMAS) || COMPILE_TEST
0122 select SND_SOC_OMAP_DMIC
0123 select SND_SOC_OMAP_MCPDM
0124 select SND_SOC_TWL6040
0125 help
0126 Say Y or M if you want to add support for SoC audio on OMAP boards
0127 using ABE and twl6040 codec. This driver currently supports:
0128 - SDP4430/Blaze boards
0129 - PandaBoard (4430)
0130 - PandaBoardES (4460)
0131 - OMAP5 uEVM
0132
0133 config SND_SOC_OMAP_AMS_DELTA
0134 tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
0135 depends on MACH_AMS_DELTA && TTY
0136 select SND_SOC_OMAP_MCBSP
0137 select SND_SOC_CX20442
0138 help
0139 Say Y or M if you want to add support for SoC audio device
0140 connected to a handset and a speakerphone found on Amstrad E3 (Delta)
0141 videophone.
0142
0143 Note that in order to get those devices fully supported, you have to
0144 build the kernel with standard serial port driver included and
0145 configured for at least 4 ports. Then, from userspace, you must load
0146 a line discipline #19 on the modem (ttyS3) serial line. The simplest
0147 way to achieve this is to install util-linux-ng and use the included
0148 ldattach utility. This can be started automatically from udev,
0149 a simple rule like this one should do the trick (it does for me):
0150 ACTION=="add", KERNEL=="controlC0", \
0151 RUN+="/usr/sbin/ldattach 19 /dev/ttyS3"
0152
0153 config SND_SOC_OMAP_HDMI
0154 tristate "OMAP4/5 HDMI audio support"
0155 depends on OMAP4_DSS_HDMI || OMAP5_DSS_HDMI || COMPILE_TEST
0156 select SND_SOC_TI_SDMA_PCM
0157 help
0158 For HDMI audio to work OMAPDSS HDMI support should be
0159 enabled.
0160 The hdmi audio driver implements cpu-dai component using the
0161 callbacks provided by OMAPDSS and registers the component
0162 under DSS HDMI device. Omap-pcm is registered for platform
0163 component also under DSS HDMI device. Dummy codec is used as
0164 as codec component. The hdmi audio driver implements also
0165 the card and registers it under its own platform device.
0166 The device for the driver is registered by OMAPDSS hdmi
0167 driver.
0168
0169 config SND_SOC_OMAP_OSK5912
0170 tristate "SoC Audio support for omap osk5912"
0171 depends on MACH_OMAP_OSK && I2C
0172 select SND_SOC_OMAP_MCBSP
0173 select SND_SOC_TLV320AIC23_I2C
0174 help
0175 Say Y or M if you want to add support for SoC audio on osk5912.
0176
0177 config SND_SOC_DAVINCI_EVM
0178 tristate "SoC Audio support for DaVinci EVMs"
0179 depends on ARCH_DAVINCI && I2C
0180 select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_DM355_EVM
0181 select SND_SOC_DAVINCI_ASP if SND_SOC_DM365_AIC3X_CODEC
0182 select SND_SOC_DAVINCI_VCIF if SND_SOC_DM365_VOICE_CODEC
0183 select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_EVM # DM6446
0184 select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DM6467_EVM
0185 select SND_SOC_SPDIF if MACH_DAVINCI_DM6467_EVM
0186 select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA830_EVM
0187 select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA850_EVM
0188 select SND_SOC_TLV320AIC3X
0189 help
0190 Say Y if you want to add support for SoC audio on the following TI
0191 DaVinci EVM platforms:
0192 - DM355
0193 - DM365
0194 - DM6446
0195 - DM6447
0196 - DM830
0197 - DM850
0198
0199 choice
0200 prompt "DM365 codec select"
0201 depends on SND_SOC_DAVINCI_EVM
0202 depends on MACH_DAVINCI_DM365_EVM
0203
0204 config SND_SOC_DM365_AIC3X_CODEC
0205 bool "Audio Codec - AIC3101"
0206 help
0207 Say Y if you want to add support for AIC3101 audio codec
0208
0209 config SND_SOC_DM365_VOICE_CODEC
0210 bool "Voice Codec - CQ93VC"
0211 help
0212 Say Y if you want to add support for SoC On-chip voice codec
0213 endchoice
0214
0215 config SND_SOC_DM365_SELECT_VOICE_CODECS
0216 def_tristate y
0217 depends on SND_SOC_DM365_VOICE_CODEC && SND_SOC
0218 select MFD_DAVINCI_VOICECODEC
0219 select SND_SOC_CQ0093VC
0220 help
0221 The is an internal symbol needed to ensure that the codec
0222 and MFD driver can be built as loadable modules if necessary.
0223
0224 config SND_SOC_J721E_EVM
0225 tristate "SoC Audio support for j721e EVM"
0226 depends on ARCH_K3 || COMPILE_TEST && COMMON_CLK
0227 depends on I2C
0228 select SND_SOC_PCM3168A_I2C
0229 select SND_SOC_DAVINCI_MCASP
0230 help
0231 Say Y if you want to add support for SoC audio on j721e Common
0232 Processor Board and Infotainment expansion board.
0233 endmenu
0234