Kconfig 11 KB

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