Kconfig 11.3 KB
Newer Older
1
# SPDX-License-Identifier: GPL-2.0-only
2 3
menu "SoC Audio for Freescale CPUs"

4 5
comment "Common SoC Audio options for Freescale CPUs:"

6 7
config SND_SOC_FSL_ASRC
	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 12 13 14 15 16
	help
	  Say Y if you want to add Asynchronous Sample Rate Converter (ASRC)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

17
config 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 23 24 25 26
	help
	  Say Y if you want to add Synchronous Audio Interface (SAI)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.
27

28 29 30 31 32 33 34 35 36 37
config SND_SOC_FSL_MQS
	tristate "Medium Quality Sound (MQS) module support"
	depends on SND_SOC_FSL_SAI
	select REGMAP_MMIO
	help
	  Say Y if you want to add Medium Quality Sound (MQS)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

38 39 40 41 42 43 44
config SND_SOC_FSL_AUDMIX
	tristate "Audio Mixer (AUDMIX) module support"
	select REGMAP_MMIO
	help
	  Say Y if you want to add Audio Mixer (AUDMIX)
	  support for the NXP iMX CPUs.

45
config SND_SOC_FSL_SSI
46
	tristate "Synchronous Serial Interface module (SSI) support"
47
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
48
	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
Markus Pargmann's avatar
Markus Pargmann committed
49
	select REGMAP_MMIO
50 51 52 53 54
	help
	  Say Y if you want to add Synchronous Serial Interface (SSI)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.
55

56
config SND_SOC_FSL_SPDIF
57
	tristate "Sony/Philips Digital Interface (S/PDIF) module support"
58
	select REGMAP_MMIO
59
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
60
	select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
61
	select BITREVERSE
62
	select SND_SOC_FSL_UTILS
63 64 65 66 67
	help
	  Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
	  support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.
68

69
config SND_SOC_FSL_ESAI
70
	tristate "Enhanced Serial Audio Interface (ESAI) module support"
71
	select REGMAP_MMIO
72
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
73 74 75 76 77
	help
	  Say Y if you want to add Enhanced Synchronous Audio Interface
	  (ESAI) support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.
78

79 80 81 82 83
config SND_SOC_FSL_MICFIL
	tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
	select REGMAP_MMIO
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	select SND_SOC_GENERIC_DMAENGINE_PCM
84
	select SND_SOC_FSL_UTILS
85 86 87 88
	help
	  Say Y if you want to add Pulse Density Modulation microphone
	  interface (MICFIL) support for NXP.

89 90 91 92 93 94 95 96 97 98 99
config SND_SOC_FSL_EASRC
	tristate "Enhanced Asynchronous Sample Rate Converter (EASRC) module support"
	depends on SND_SOC_FSL_ASRC
	select REGMAP_MMIO
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y if you want to add Enhanced ASRC support for NXP. The ASRC is
	  a digital module that converts audio from a source sample rate to a
	  destination sample rate. It is a new design module compare with the
	  old ASRC.

100 101 102 103 104 105 106 107 108 109
config SND_SOC_FSL_XCVR
	tristate "NXP Audio Transceiver (XCVR) module support"
	select REGMAP_MMIO
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
	select SND_SOC_GENERIC_DMAENGINE_PCM
	help
	  Say Y if you want to add Audio Transceiver (XCVR) support for NXP
	  iMX CPUs. XCVR is a digital module that supports HDMI2.1 eARC,
	  HDMI1.4 ARC and SPDIF.

110 111
config SND_SOC_FSL_AUD2HTX
	tristate "AUDIO TO HDMI TX module support"
112
	depends on ARCH_MXC || COMPILE_TEST
113
	select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
114 115 116
	help
	  Say Y if you want to add AUDIO TO HDMI TX support for NXP.

117
config SND_SOC_FSL_UTILS
118
	tristate
119

120 121 122 123
config SND_SOC_FSL_RPMSG
	tristate "NXP Audio Base On RPMSG support"
	depends on COMMON_CLK
	depends on RPMSG
124
	depends on SND_IMX_SOC || SND_IMX_SOC = n
125 126 127 128 129 130
	select SND_SOC_IMX_RPMSG if SND_IMX_SOC != n
	help
	  Say Y if you want to add rpmsg audio support for the Freescale CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.

131 132 133 134
config SND_SOC_IMX_PCM_DMA
	tristate
	select SND_SOC_GENERIC_DMAENGINE_PCM

135 136 137 138
config SND_SOC_IMX_AUDIO_RPMSG
	tristate
	depends on RPMSG

139 140 141 142 143
config SND_SOC_IMX_PCM_RPMSG
	tristate
	depends on SND_SOC_IMX_AUDIO_RPMSG
	select SND_SOC_GENERIC_DMAENGINE_PCM

144
config SND_SOC_IMX_AUDMUX
145 146 147 148 149 150
	tristate "Digital Audio Mux module support"
	help
	  Say Y if you want to add Digital Audio Mux (AUDMUX) support
	  for the ARM i.MX CPUs.
	  This option is only useful for out-of-tree drivers since
	  in-tree drivers select it automatically.
151 152

config SND_POWERPC_SOC
153
	tristate "SoC Audio for Freescale PowerPC CPUs"
154
	depends on FSL_SOC || PPC_MPC52xx
155 156 157 158
	help
	  Say Y or M if you want to add support for codecs attached to
	  the PowerPC CPUs.

159 160 161 162 163 164 165
config SND_IMX_SOC
	tristate "SoC Audio for Freescale i.MX CPUs"
	depends on ARCH_MXC || COMPILE_TEST
	help
	  Say Y or M if you want to add support for codecs attached to
	  the i.MX CPUs.

166 167
if SND_POWERPC_SOC

168 169
config SND_MPC52xx_DMA
	tristate
170

171
config SND_SOC_POWERPC_DMA
172
	tristate
173

174 175
comment "SoC Audio support for Freescale PPC boards:"

176
config SND_SOC_MPC8610_HPCD
177
	tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
178 179
	# I2C is necessary for the CS4270 driver
	depends on MPC8610_HPCD && I2C
180
	select SND_SOC_FSL_SSI
181
	select SND_SOC_FSL_UTILS
182
	select SND_SOC_POWERPC_DMA
183 184 185 186 187
	select SND_SOC_CS4270
	select SND_SOC_CS4270_VD33_ERRATA
	default y if MPC8610_HPCD
	help
	  Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
188

189 190 191 192
config SND_SOC_P1022_DS
	tristate "ALSA SoC support for the Freescale P1022 DS board"
	# I2C is necessary for the WM8776 driver
	depends on P1022_DS && I2C
193
	select SND_SOC_FSL_SSI
194
	select SND_SOC_FSL_UTILS
195
	select SND_SOC_POWERPC_DMA
196 197 198 199 200 201 202
	select SND_SOC_WM8776
	default y if P1022_DS
	help
	  Say Y if you want to enable audio on the Freescale P1022 DS board.
	  This will also include the Wolfson Microelectronics WM8776 codec
	  driver.

203 204 205 206 207 208 209 210 211 212 213 214 215 216
config SND_SOC_P1022_RDK
	tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
	# I2C is necessary for the WM8960 driver
	depends on P1022_RDK && I2C
	select SND_SOC_FSL_SSI
	select SND_SOC_FSL_UTILS
	select SND_SOC_POWERPC_DMA
	select SND_SOC_WM8960
	default y if P1022_RDK
	help
	  Say Y if you want to enable audio on the Freescale / iVeia
	  P1022 RDK board.  This will also include the Wolfson
	  Microelectronics WM8960 codec driver.

217 218
config SND_SOC_MPC5200_I2S
	tristate "Freescale MPC5200 PSC in I2S mode driver"
219
	depends on PPC_MPC52xx && PPC_BESTCOMM
220
	select SND_MPC52xx_DMA
221
	select PPC_BESTCOMM_GEN_BD
222 223
	help
	  Say Y here to support the MPC5200 PSCs in I2S mode.
Jon Smirl's avatar
Jon Smirl committed
224 225 226 227

config SND_SOC_MPC5200_AC97
	tristate "Freescale MPC5200 PSC in AC97 mode driver"
	depends on PPC_MPC52xx && PPC_BESTCOMM
228
	select SND_SOC_AC97_BUS
Jon Smirl's avatar
Jon Smirl committed
229 230 231 232 233
	select SND_MPC52xx_DMA
	select PPC_BESTCOMM_GEN_BD
	help
	  Say Y here to support the MPC5200 PSCs in AC97 mode.

234 235
config SND_MPC52xx_SOC_PCM030
	tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
236
	depends on PPC_MPC5200_SIMPLE
237 238 239
	select SND_SOC_MPC5200_AC97
	select SND_SOC_WM9712
	help
240 241
	  Say Y if you want to add support for sound on the Phytec pcm030
	  baseboard.
Jon Smirl's avatar
Jon Smirl committed
242

243 244
config SND_MPC52xx_SOC_EFIKA
	tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
245
	depends on PPC_EFIKA
246 247 248 249 250
	select SND_SOC_MPC5200_AC97
	select SND_SOC_STAC9766
	help
	  Say Y if you want to add support for sound on the Efika.

251 252
endif # SND_POWERPC_SOC

253 254
config SND_SOC_IMX_PCM_FIQ
	tristate
255
	default y if (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
256 257
	select FIQ

258 259
if SND_IMX_SOC

260
comment "SoC Audio support for Freescale i.MX boards:"
261 262 263

config SND_SOC_EUKREA_TLV320
	tristate "Eukrea TLV320"
264
	depends on ARCH_MXC && !ARM64 && I2C
265
	select SND_SOC_TLV320AIC23_I2C
266
	select SND_SOC_IMX_AUDMUX
267 268
	select SND_SOC_FSL_SSI
	select SND_SOC_IMX_PCM_DMA
269 270 271 272
	help
	  Enable I2S based access to the TLV320AIC23B codec attached
	  to the SSI interface

273 274 275 276 277 278 279 280 281 282 283 284
config SND_SOC_IMX_ES8328
	tristate "SoC Audio support for i.MX boards with the ES8328 codec"
	depends on OF && (I2C || SPI)
	select SND_SOC_ES8328_I2C if I2C
	select SND_SOC_ES8328_SPI if SPI_MASTER
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_FSL_SSI
	help
	  Say Y if you want to add support for the ES8328 audio codec connected
	  via SSI/I2S over either SPI or I2C.

285 286 287 288 289 290 291 292 293 294 295
config SND_SOC_IMX_SGTL5000
	tristate "SoC Audio support for i.MX boards with sgtl5000"
	depends on OF && I2C
	select SND_SOC_SGTL5000
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_FSL_SSI
	help
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  a sgtl5000 codec.

296 297 298 299 300 301 302 303 304
config SND_SOC_IMX_SPDIF
	tristate "SoC Audio support for i.MX boards with S/PDIF"
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_FSL_SPDIF
	help
	  SoC Audio support for i.MX boards with S/PDIF
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  a S/DPDIF.

305 306 307
config SND_SOC_FSL_ASOC_CARD
	tristate "Generic ASoC Sound Card with ASRC support"
	depends on OF && I2C
308 309
	# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
	depends on SND_AC97_CODEC || SND_AC97_CODEC=n
310
	select SND_SIMPLE_CARD_UTILS
311 312 313 314 315
	select SND_SOC_IMX_AUDMUX
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_FSL_ESAI
	select SND_SOC_FSL_SAI
	select SND_SOC_FSL_SSI
316
	select SND_SOC_TLV320AIC31XX
317 318
	select SND_SOC_WM8994
	select MFD_WM8994
319 320
	help
	 ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
321
	 ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
322
	 CS4271, CS4272, SGTL5000 and TLV320AIC32x4.
323 324
	 Say Y if you want to add support for Freescale Generic ASoC Sound Card.

325 326 327 328 329 330 331 332 333
config SND_SOC_IMX_AUDMIX
	tristate "SoC Audio support for i.MX boards with AUDMIX"
	select SND_SOC_FSL_AUDMIX
	select SND_SOC_FSL_SAI
	help
	  SoC Audio support for i.MX boards with Audio Mixer
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  an Audio Mixer.

334 335 336 337 338 339 340 341 342 343 344 345
config SND_SOC_IMX_HDMI
	tristate "SoC Audio support for i.MX boards with HDMI port"
	select SND_SOC_FSL_SAI
	select SND_SOC_FSL_AUD2HTX
	select SND_SOC_HDMI_CODEC
	help
	  ALSA SoC Audio support with HDMI feature for Freescale SoCs that have
	  SAI/AUD2HTX and connect with internal HDMI IP or external module
	  SII902X.
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  IMX HDMI.

346 347 348 349 350 351 352 353 354 355 356
config SND_SOC_IMX_RPMSG
	tristate "SoC Audio support for i.MX boards with rpmsg"
	depends on RPMSG
	select SND_SOC_IMX_PCM_RPMSG
	select SND_SOC_IMX_AUDIO_RPMSG
	help
	  SoC Audio support for i.MX boards with rpmsg.
	  There should be rpmsg devices defined in other core (M core)
	  Say Y if you want to add support for SoC audio on an i.MX board with
	  a rpmsg devices.

357 358 359 360 361 362 363 364 365 366 367 368 369
config SND_SOC_IMX_CARD
	tristate "SoC Audio Graph Sound Card support for i.MX boards"
	depends on OF && I2C
	select SND_SOC_AK4458
	select SND_SOC_AK5558
	select SND_SOC_IMX_PCM_DMA
	select SND_SOC_FSL_SAI
	select SND_SIMPLE_CARD_UTILS
	help
	  This option enables audio sound card support for i.MX boards
	  with OF-graph DT bindings.
	  It also support DPCM of single CPU multi Codec ststem.

370
endif # SND_IMX_SOC
371 372

endmenu