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