18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA 38c2ecf20Sopenharmony_ci tristate "SoC Audio for the Tegra System-on-Chip" 48c2ecf20Sopenharmony_ci depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST 58c2ecf20Sopenharmony_ci depends on COMMON_CLK 68c2ecf20Sopenharmony_ci depends on RESET_CONTROLLER 78c2ecf20Sopenharmony_ci select REGMAP_MMIO 88c2ecf20Sopenharmony_ci select SND_SOC_GENERIC_DMAENGINE_PCM 98c2ecf20Sopenharmony_ci help 108c2ecf20Sopenharmony_ci Say Y or M here if you want support for SoC audio on Tegra. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA20_AC97 138c2ecf20Sopenharmony_ci tristate "Tegra20 AC97 interface" 148c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 158c2ecf20Sopenharmony_ci select SND_SOC_AC97_BUS 168c2ecf20Sopenharmony_ci select SND_SOC_TEGRA20_DAS 178c2ecf20Sopenharmony_ci help 188c2ecf20Sopenharmony_ci Say Y or M if you want to add support for codecs attached to the 198c2ecf20Sopenharmony_ci Tegra20 AC97 interface. You will also need to select the individual 208c2ecf20Sopenharmony_ci machine drivers to support below. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA20_DAS 238c2ecf20Sopenharmony_ci tristate "Tegra20 DAS module" 248c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 258c2ecf20Sopenharmony_ci help 268c2ecf20Sopenharmony_ci Say Y or M if you want to add support for the Tegra20 DAS module. 278c2ecf20Sopenharmony_ci You will also need to select the individual machine drivers to 288c2ecf20Sopenharmony_ci support below. 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA20_I2S 318c2ecf20Sopenharmony_ci tristate "Tegra20 I2S interface" 328c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 338c2ecf20Sopenharmony_ci select SND_SOC_TEGRA20_DAS 348c2ecf20Sopenharmony_ci help 358c2ecf20Sopenharmony_ci Say Y or M if you want to add support for codecs attached to the 368c2ecf20Sopenharmony_ci Tegra20 I2S interface. You will also need to select the individual 378c2ecf20Sopenharmony_ci machine drivers to support below. 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA20_SPDIF 408c2ecf20Sopenharmony_ci tristate "Tegra20 SPDIF interface" 418c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 428c2ecf20Sopenharmony_ci default m 438c2ecf20Sopenharmony_ci help 448c2ecf20Sopenharmony_ci Say Y or M if you want to add support for the Tegra20 SPDIF interface. 458c2ecf20Sopenharmony_ci You will also need to select the individual machine drivers to support 468c2ecf20Sopenharmony_ci below. 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA30_AHUB 498c2ecf20Sopenharmony_ci tristate "Tegra30 AHUB module" 508c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 518c2ecf20Sopenharmony_ci help 528c2ecf20Sopenharmony_ci Say Y or M if you want to add support for the Tegra30 AHUB module. 538c2ecf20Sopenharmony_ci You will also need to select the individual machine drivers to 548c2ecf20Sopenharmony_ci support below. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA30_I2S 578c2ecf20Sopenharmony_ci tristate "Tegra30 I2S interface" 588c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 598c2ecf20Sopenharmony_ci select SND_SOC_TEGRA30_AHUB 608c2ecf20Sopenharmony_ci help 618c2ecf20Sopenharmony_ci Say Y or M if you want to add support for codecs attached to the 628c2ecf20Sopenharmony_ci Tegra30 I2S interface. You will also need to select the individual 638c2ecf20Sopenharmony_ci machine drivers to support below. 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA210_AHUB 668c2ecf20Sopenharmony_ci tristate "Tegra210 AHUB module" 678c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 688c2ecf20Sopenharmony_ci help 698c2ecf20Sopenharmony_ci Config to enable Audio Hub (AHUB) module, which comprises of a 708c2ecf20Sopenharmony_ci switch called Audio Crossbar (AXBAR) used to configure or modify 718c2ecf20Sopenharmony_ci the audio routing path between various HW accelerators present in 728c2ecf20Sopenharmony_ci AHUB. 738c2ecf20Sopenharmony_ci Say Y or M if you want to add support for Tegra210 AHUB module. 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA210_DMIC 768c2ecf20Sopenharmony_ci tristate "Tegra210 DMIC module" 778c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 788c2ecf20Sopenharmony_ci help 798c2ecf20Sopenharmony_ci Config to enable the Digital MIC (DMIC) controller which is used 808c2ecf20Sopenharmony_ci to interface with Pulse Density Modulation (PDM) input devices. 818c2ecf20Sopenharmony_ci The DMIC controller implements a converter to convert PDM signals 828c2ecf20Sopenharmony_ci to Pulse Code Modulation (PCM) signals. This can be viewed as a 838c2ecf20Sopenharmony_ci PDM receiver. 848c2ecf20Sopenharmony_ci Say Y or M if you want to add support for Tegra210 DMIC module. 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA210_I2S 878c2ecf20Sopenharmony_ci tristate "Tegra210 I2S module" 888c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 898c2ecf20Sopenharmony_ci help 908c2ecf20Sopenharmony_ci Config to enable the Inter-IC Sound (I2S) Controller which 918c2ecf20Sopenharmony_ci implements full-duplex and bidirectional and single direction 928c2ecf20Sopenharmony_ci point-to-point serial interfaces. It can interface with I2S 938c2ecf20Sopenharmony_ci compatible devices. 948c2ecf20Sopenharmony_ci Say Y or M if you want to add support for Tegra210 I2S module. 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA186_DSPK 978c2ecf20Sopenharmony_ci tristate "Tegra186 DSPK module" 988c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 998c2ecf20Sopenharmony_ci help 1008c2ecf20Sopenharmony_ci Config to enable the Digital Speaker Controller (DSPK) which 1018c2ecf20Sopenharmony_ci converts the multi-bit Pulse Code Modulation (PCM) audio input to 1028c2ecf20Sopenharmony_ci oversampled 1-bit Pulse Density Modulation (PDM) output. From the 1038c2ecf20Sopenharmony_ci signal flow perspective DSPK can be viewed as a PDM transmitter 1048c2ecf20Sopenharmony_ci that up-samples the input to the desired sampling rate by 1058c2ecf20Sopenharmony_ci interpolation and then converts the oversampled PCM input to 1068c2ecf20Sopenharmony_ci the desired 1-bit output via Delta Sigma Modulation (DSM). 1078c2ecf20Sopenharmony_ci Say Y or M if you want to add support for Tegra186 DSPK module. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA210_ADMAIF 1108c2ecf20Sopenharmony_ci tristate "Tegra210 ADMAIF module" 1118c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA 1128c2ecf20Sopenharmony_ci help 1138c2ecf20Sopenharmony_ci Config to enable ADMAIF which is the interface between ADMA and 1148c2ecf20Sopenharmony_ci Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ 1158c2ecf20Sopenharmony_ci from AHUB must interface through an ADMAIF channel. ADMA channel 1168c2ecf20Sopenharmony_ci sending data to AHUB pairs with an ADMAIF Tx channel, where as 1178c2ecf20Sopenharmony_ci ADMA channel receiving data from AHUB pairs with an ADMAIF Rx 1188c2ecf20Sopenharmony_ci channel. Buffer size is configurable for each ADMAIIF channel. 1198c2ecf20Sopenharmony_ci Say Y or M if you want to add support for Tegra210 ADMAIF module. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_RT5640 1228c2ecf20Sopenharmony_ci tristate "SoC Audio support for Tegra boards using an RT5640 codec" 1238c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && I2C && GPIOLIB 1248c2ecf20Sopenharmony_ci select SND_SOC_RT5640 1258c2ecf20Sopenharmony_ci help 1268c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on Tegra 1278c2ecf20Sopenharmony_ci boards using the RT5640 codec, such as Dalmore. 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_WM8753 1308c2ecf20Sopenharmony_ci tristate "SoC Audio support for Tegra boards using a WM8753 codec" 1318c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && I2C && GPIOLIB 1328c2ecf20Sopenharmony_ci select SND_SOC_WM8753 1338c2ecf20Sopenharmony_ci help 1348c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on Tegra 1358c2ecf20Sopenharmony_ci boards using the WM8753 codec, such as Whistler. 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_WM8903 1388c2ecf20Sopenharmony_ci tristate "SoC Audio support for Tegra boards using a WM8903 codec" 1398c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && I2C && GPIOLIB 1408c2ecf20Sopenharmony_ci select SND_SOC_WM8903 1418c2ecf20Sopenharmony_ci help 1428c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on Tegra 1438c2ecf20Sopenharmony_ci boards using the WM8093 codec. Currently, the supported boards are 1448c2ecf20Sopenharmony_ci Harmony, Ventana, Seaboard, Kaen, and Aebl. 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_WM9712 1478c2ecf20Sopenharmony_ci tristate "SoC Audio support for Tegra boards using a WM9712 codec" 1488c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && GPIOLIB 1498c2ecf20Sopenharmony_ci select SND_SOC_TEGRA20_AC97 1508c2ecf20Sopenharmony_ci select SND_SOC_WM9712 1518c2ecf20Sopenharmony_ci help 1528c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on Tegra 1538c2ecf20Sopenharmony_ci boards using the WM9712 (or compatible) codec. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_TRIMSLICE 1568c2ecf20Sopenharmony_ci tristate "SoC Audio support for TrimSlice board" 1578c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && I2C 1588c2ecf20Sopenharmony_ci select SND_SOC_TLV320AIC23_I2C 1598c2ecf20Sopenharmony_ci help 1608c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on the 1618c2ecf20Sopenharmony_ci TrimSlice platform. 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_ALC5632 1648c2ecf20Sopenharmony_ci tristate "SoC Audio support for Tegra boards using an ALC5632 codec" 1658c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && I2C && GPIOLIB 1668c2ecf20Sopenharmony_ci select SND_SOC_ALC5632 1678c2ecf20Sopenharmony_ci help 1688c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on the 1698c2ecf20Sopenharmony_ci Toshiba AC100 netbook. 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_MAX98090 1728c2ecf20Sopenharmony_ci tristate "SoC Audio support for Tegra boards using a MAX98090 codec" 1738c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && I2C && GPIOLIB 1748c2ecf20Sopenharmony_ci select SND_SOC_MAX98090 1758c2ecf20Sopenharmony_ci help 1768c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on Tegra 1778c2ecf20Sopenharmony_ci boards using the MAX98090 codec, such as Venice2. 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_RT5677 1808c2ecf20Sopenharmony_ci tristate "SoC Audio support for Tegra boards using a RT5677 codec" 1818c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && I2C && GPIOLIB 1828c2ecf20Sopenharmony_ci select SND_SOC_RT5677 1838c2ecf20Sopenharmony_ci help 1848c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on Tegra 1858c2ecf20Sopenharmony_ci boards using the RT5677 codec, such as Ryu. 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ciconfig SND_SOC_TEGRA_SGTL5000 1888c2ecf20Sopenharmony_ci tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" 1898c2ecf20Sopenharmony_ci depends on SND_SOC_TEGRA && I2C && GPIOLIB 1908c2ecf20Sopenharmony_ci select SND_SOC_SGTL5000 1918c2ecf20Sopenharmony_ci help 1928c2ecf20Sopenharmony_ci Say Y or M here if you want to add support for SoC audio on Tegra 1938c2ecf20Sopenharmony_ci boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or 1948c2ecf20Sopenharmony_ci Colibri T30. 195