1# SPDX-License-Identifier: GPL-2.0-only 2menu "Freescale" 3 4comment "Common SoC Audio options for Freescale CPUs:" 5 6config SND_SOC_FSL_ASRC 7 tristate "Asynchronous Sample Rate Converter (ASRC) module support" 8 depends on HAS_DMA 9 select DMA_SHARED_BUFFER 10 select REGMAP_MMIO 11 select SND_SOC_GENERIC_DMAENGINE_PCM 12 select SND_COMPRESS_ACCEL 13 select SND_COMPRESS_OFFLOAD 14 help 15 Say Y if you want to add Asynchronous Sample Rate Converter (ASRC) 16 support for the Freescale CPUs. 17 This option is only useful for out-of-tree drivers since 18 in-tree drivers select it automatically. 19 20config SND_SOC_FSL_SAI 21 tristate "Synchronous Audio Interface (SAI) module support" 22 depends on IMX_SCMI_MISC_DRV || !IMX_SCMI_MISC_DRV 23 select REGMAP_MMIO 24 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 25 select SND_SOC_GENERIC_DMAENGINE_PCM 26 select SND_SOC_FSL_UTILS 27 help 28 Say Y if you want to add Synchronous Audio Interface (SAI) 29 support for the Freescale CPUs. 30 This option is only useful for out-of-tree drivers since 31 in-tree drivers select it automatically. 32 33config SND_SOC_FSL_MQS 34 tristate "Medium Quality Sound (MQS) module support" 35 depends on SND_SOC_FSL_SAI 36 select REGMAP_MMIO 37 help 38 Say Y if you want to add Medium Quality Sound (MQS) 39 support for the Freescale CPUs. 40 This option is only useful for out-of-tree drivers since 41 in-tree drivers select it automatically. 42 43config SND_SOC_FSL_AUDMIX 44 tristate "Audio Mixer (AUDMIX) module support" 45 select REGMAP_MMIO 46 help 47 Say Y if you want to add Audio Mixer (AUDMIX) 48 support for the NXP iMX CPUs. 49 50config SND_SOC_FSL_SSI 51 tristate "Synchronous Serial Interface module (SSI) support" 52 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 53 select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC) 54 select REGMAP_MMIO 55 help 56 Say Y if you want to add Synchronous Serial Interface (SSI) 57 support for the Freescale CPUs. 58 This option is only useful for out-of-tree drivers since 59 in-tree drivers select it automatically. 60 61config SND_SOC_FSL_SPDIF 62 tristate "Sony/Philips Digital Interface (S/PDIF) module support" 63 select REGMAP_MMIO 64 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 65 select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC) 66 select BITREVERSE 67 select SND_SOC_FSL_UTILS 68 help 69 Say Y if you want to add Sony/Philips Digital Interface (SPDIF) 70 support for the Freescale CPUs. 71 This option is only useful for out-of-tree drivers since 72 in-tree drivers select it automatically. 73 74config SND_SOC_FSL_ESAI 75 tristate "Enhanced Serial Audio Interface (ESAI) module support" 76 select REGMAP_MMIO 77 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 78 help 79 Say Y if you want to add Enhanced Synchronous Audio Interface 80 (ESAI) support for the Freescale CPUs. 81 This option is only useful for out-of-tree drivers since 82 in-tree drivers select it automatically. 83 84config SND_SOC_FSL_MICFIL 85 tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support" 86 select REGMAP_MMIO 87 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 88 select SND_SOC_GENERIC_DMAENGINE_PCM 89 select SND_SOC_FSL_UTILS 90 help 91 Say Y if you want to add Pulse Density Modulation microphone 92 interface (MICFIL) support for NXP. 93 94config SND_SOC_FSL_EASRC 95 tristate "Enhanced Asynchronous Sample Rate Converter (EASRC) module support" 96 depends on SND_SOC_FSL_ASRC 97 select REGMAP_MMIO 98 select SND_SOC_GENERIC_DMAENGINE_PCM 99 help 100 Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is 101 a digital module that converts audio from a source sample rate to a 102 destination sample rate. It is a new design module compare with the 103 old ASRC. 104 105config SND_SOC_FSL_XCVR 106 tristate "NXP Audio Transceiver (XCVR) module support" 107 select REGMAP_MMIO 108 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 109 select SND_SOC_GENERIC_DMAENGINE_PCM 110 select SND_SOC_FSL_UTILS 111 help 112 Say Y if you want to add Audio Transceiver (XCVR) support for NXP 113 iMX CPUs. XCVR is a digital module that supports HDMI2.1 eARC, 114 HDMI1.4 ARC and SPDIF. 115 116config SND_SOC_FSL_AUD2HTX 117 tristate "AUDIO TO HDMI TX module support" 118 depends on ARCH_MXC || COMPILE_TEST 119 select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n 120 help 121 Say Y if you want to add AUDIO TO HDMI TX support for NXP. 122 123config SND_SOC_FSL_UTILS 124 tristate 125 126config SND_SOC_FSL_RPMSG 127 tristate "NXP Audio Base On RPMSG support" 128 depends on COMMON_CLK 129 depends on OF && I2C 130 depends on RPMSG 131 depends on SND_IMX_SOC || SND_IMX_SOC = n 132 select SND_SOC_IMX_RPMSG if SND_IMX_SOC != n 133 help 134 Say Y if you want to add rpmsg audio support for the Freescale CPUs. 135 This option is only useful for out-of-tree drivers since 136 in-tree drivers select it automatically. 137 138config SND_SOC_FSL_LPC3XXX 139 tristate "SoC Audio for NXP LPC32XX CPUs" 140 depends on ARCH_LPC32XX || COMPILE_TEST 141 select SND_SOC_GENERIC_DMAENGINE_PCM 142 help 143 Say Y or M if you want to add support for the LPC3XXX I2S interface. 144 145config SND_SOC_IMX_PCM_DMA 146 tristate 147 select SND_SOC_GENERIC_DMAENGINE_PCM 148 149config SND_SOC_IMX_AUDIO_RPMSG 150 tristate 151 depends on RPMSG 152 153config SND_SOC_IMX_PCM_RPMSG 154 tristate 155 depends on SND_SOC_IMX_AUDIO_RPMSG 156 select SND_SOC_GENERIC_DMAENGINE_PCM 157 158config SND_SOC_IMX_AUDMUX 159 tristate "Digital Audio Mux module support" 160 help 161 Say Y if you want to add Digital Audio Mux (AUDMUX) support 162 for the ARM i.MX CPUs. 163 This option is only useful for out-of-tree drivers since 164 in-tree drivers select it automatically. 165 166config SND_POWERPC_SOC 167 tristate "SoC Audio for Freescale PowerPC CPUs" 168 depends on FSL_SOC || PPC_MPC52xx 169 help 170 Say Y or M if you want to add support for codecs attached to 171 the PowerPC CPUs. 172 173config SND_IMX_SOC 174 tristate "SoC Audio for Freescale i.MX CPUs" 175 depends on ARCH_MXC || COMPILE_TEST 176 help 177 Say Y or M if you want to add support for codecs attached to 178 the i.MX CPUs. 179 180if SND_POWERPC_SOC 181 182config SND_MPC52xx_DMA 183 tristate 184 185config SND_SOC_POWERPC_DMA 186 tristate 187 188config SND_SOC_POWERPC_QMC_AUDIO 189 tristate "QMC ALSA SoC support" 190 depends on CPM_QMC 191 help 192 ALSA SoC Audio support using the Freescale QUICC Multichannel 193 Controller (QMC). 194 Say Y or M if you want to add support for SoC audio using Freescale 195 QMC. 196 197comment "SoC Audio support for Freescale PPC boards:" 198 199config SND_SOC_P1022_DS 200 tristate "ALSA SoC support for the Freescale P1022 DS board" 201 # I2C is necessary for the WM8776 driver 202 depends on P1022_DS && I2C 203 select SND_SOC_FSL_SSI 204 select SND_SOC_FSL_UTILS 205 select SND_SOC_POWERPC_DMA 206 select SND_SOC_WM8776 207 default y if P1022_DS 208 help 209 Say Y if you want to enable audio on the Freescale P1022 DS board. 210 This will also include the Wolfson Microelectronics WM8776 codec 211 driver. 212 213config SND_SOC_P1022_RDK 214 tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board" 215 # I2C is necessary for the WM8960 driver 216 depends on P1022_RDK && I2C 217 select SND_SOC_FSL_SSI 218 select SND_SOC_FSL_UTILS 219 select SND_SOC_POWERPC_DMA 220 select SND_SOC_WM8960 221 default y if P1022_RDK 222 help 223 Say Y if you want to enable audio on the Freescale / iVeia 224 P1022 RDK board. This will also include the Wolfson 225 Microelectronics WM8960 codec driver. 226 227config SND_SOC_MPC5200_I2S 228 tristate "Freescale MPC5200 PSC in I2S mode driver" 229 depends on PPC_MPC52xx && PPC_BESTCOMM 230 select SND_MPC52xx_DMA 231 select PPC_BESTCOMM_GEN_BD 232 help 233 Say Y here to support the MPC5200 PSCs in I2S mode. 234 235config SND_SOC_MPC5200_AC97 236 tristate "Freescale MPC5200 PSC in AC97 mode driver" 237 depends on PPC_MPC52xx && PPC_BESTCOMM 238 select SND_SOC_AC97_BUS 239 select SND_MPC52xx_DMA 240 select PPC_BESTCOMM_GEN_BD 241 help 242 Say Y here to support the MPC5200 PSCs in AC97 mode. 243 244config SND_MPC52xx_SOC_PCM030 245 tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712" 246 depends on PPC_MPC5200_SIMPLE 247 select SND_SOC_MPC5200_AC97 248 select SND_SOC_WM9712 249 help 250 Say Y if you want to add support for sound on the Phytec pcm030 251 baseboard. 252 253config SND_MPC52xx_SOC_EFIKA 254 tristate "SoC AC97 Audio support for bbplan Efika and STAC9766" 255 depends on PPC_EFIKA 256 select SND_SOC_MPC5200_AC97 257 select SND_SOC_STAC9766 258 help 259 Say Y if you want to add support for sound on the Efika. 260 261endif # SND_POWERPC_SOC 262 263config SND_SOC_IMX_PCM_FIQ 264 tristate 265 default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC) 266 select FIQ 267 268if SND_IMX_SOC 269 270comment "SoC Audio support for Freescale i.MX boards:" 271 272config SND_SOC_EUKREA_TLV320 273 tristate "Eukrea TLV320" 274 depends on ARCH_MXC && !ARM64 && I2C 275 select SND_SOC_TLV320AIC23_I2C 276 select SND_SOC_IMX_AUDMUX 277 select SND_SOC_FSL_SSI 278 select SND_SOC_IMX_PCM_DMA 279 help 280 Enable I2S based access to the TLV320AIC23B codec attached 281 to the SSI interface 282 283config SND_SOC_IMX_ES8328 284 tristate "SoC Audio support for i.MX boards with the ES8328 codec" 285 depends on OF && (I2C || SPI) 286 select SND_SOC_ES8328_I2C if I2C 287 select SND_SOC_ES8328_SPI if SPI_MASTER 288 select SND_SOC_IMX_PCM_DMA 289 select SND_SOC_IMX_AUDMUX 290 select SND_SOC_FSL_SSI 291 help 292 Say Y if you want to add support for the ES8328 audio codec connected 293 via SSI/I2S over either SPI or I2C. 294 295config SND_SOC_IMX_SGTL5000 296 tristate "SoC Audio support for i.MX boards with sgtl5000" 297 depends on OF && I2C 298 select SND_SOC_SGTL5000 299 select SND_SOC_IMX_PCM_DMA 300 select SND_SOC_IMX_AUDMUX 301 select SND_SOC_FSL_SSI 302 help 303 Say Y if you want to add support for SoC audio on an i.MX board with 304 a sgtl5000 codec. 305 306 Note that this is an old driver. Consider enabling 307 SND_SOC_FSL_ASOC_CARD and SND_SOC_SGTL5000 to use the newer 308 driver. 309 310config SND_SOC_FSL_ASOC_CARD 311 tristate "Generic ASoC Sound Card with ASRC support" 312 depends on IMX_SCMI_MISC_DRV || !IMX_SCMI_MISC_DRV 313 depends on OF && I2C 314 # enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m: 315 depends on SND_AC97_CODEC || SND_AC97_CODEC=n 316 select SND_SIMPLE_CARD_UTILS 317 select SND_SOC_IMX_AUDMUX 318 select SND_SOC_IMX_PCM_DMA 319 select SND_SOC_FSL_ESAI 320 select SND_SOC_FSL_SAI 321 select SND_SOC_FSL_SSI 322 select SND_SOC_FSL_SPDIF 323 select SND_SOC_TLV320AIC31XX 324 select SND_SOC_WM8994 325 select MFD_WM8994 326 help 327 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have 328 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888, 329 CS4271, CS4272, SGTL5000 and TLV320AIC32x4. 330 Say Y if you want to add support for Freescale Generic ASoC Sound Card. 331 332config SND_SOC_IMX_AUDMIX 333 tristate "SoC Audio support for i.MX boards with AUDMIX" 334 depends on IMX_SCMI_MISC_DRV || !IMX_SCMI_MISC_DRV 335 select SND_SOC_FSL_AUDMIX 336 select SND_SOC_FSL_SAI 337 help 338 SoC Audio support for i.MX boards with Audio Mixer 339 Say Y if you want to add support for SoC audio on an i.MX board with 340 an Audio Mixer. 341 342config SND_SOC_IMX_HDMI 343 tristate "SoC Audio support for i.MX boards with HDMI port" 344 depends on IMX_SCMI_MISC_DRV || !IMX_SCMI_MISC_DRV 345 select SND_SOC_FSL_SAI 346 select SND_SOC_FSL_AUD2HTX 347 select SND_SOC_HDMI_CODEC 348 help 349 ALSA SoC Audio support with HDMI feature for Freescale SoCs that have 350 SAI/AUD2HTX and connect with internal HDMI IP or external module 351 SII902X. 352 Say Y if you want to add support for SoC audio on an i.MX board with 353 IMX HDMI. 354 355config SND_SOC_IMX_RPMSG 356 tristate "SoC Audio support for i.MX boards with rpmsg" 357 depends on RPMSG 358 depends on OF && I2C 359 select SND_SOC_IMX_PCM_RPMSG 360 select SND_SOC_IMX_AUDIO_RPMSG 361 help 362 SoC Audio support for i.MX boards with rpmsg. 363 There should be rpmsg devices defined in other core (M core) 364 Say Y if you want to add support for SoC audio on an i.MX board with 365 a rpmsg devices. 366 367config SND_SOC_IMX_CARD 368 tristate "SoC Audio Graph Sound Card support for i.MX boards" 369 depends on OF && I2C 370 depends on IMX_SCMI_MISC_DRV || !IMX_SCMI_MISC_DRV 371 select SND_SOC_AK4458 372 select SND_SOC_AK5558 373 select SND_SOC_IMX_PCM_DMA 374 select SND_SOC_FSL_SAI 375 select SND_SIMPLE_CARD_UTILS 376 help 377 This option enables audio sound card support for i.MX boards 378 with OF-graph DT bindings. 379 It also support DPCM of single CPU multi Codec ststem. 380 381endif # SND_IMX_SOC 382 383endmenu 384