Kconfig 12 KB

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