1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunconfig SND_SOC_TEGRA 3*4882a593Smuzhiyun tristate "SoC Audio for the Tegra System-on-Chip" 4*4882a593Smuzhiyun depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST 5*4882a593Smuzhiyun depends on COMMON_CLK 6*4882a593Smuzhiyun depends on RESET_CONTROLLER 7*4882a593Smuzhiyun select REGMAP_MMIO 8*4882a593Smuzhiyun select SND_SOC_GENERIC_DMAENGINE_PCM 9*4882a593Smuzhiyun help 10*4882a593Smuzhiyun Say Y or M here if you want support for SoC audio on Tegra. 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunconfig SND_SOC_TEGRA20_AC97 13*4882a593Smuzhiyun tristate "Tegra20 AC97 interface" 14*4882a593Smuzhiyun depends on SND_SOC_TEGRA 15*4882a593Smuzhiyun select SND_SOC_AC97_BUS 16*4882a593Smuzhiyun select SND_SOC_TEGRA20_DAS 17*4882a593Smuzhiyun help 18*4882a593Smuzhiyun Say Y or M if you want to add support for codecs attached to the 19*4882a593Smuzhiyun Tegra20 AC97 interface. You will also need to select the individual 20*4882a593Smuzhiyun machine drivers to support below. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunconfig SND_SOC_TEGRA20_DAS 23*4882a593Smuzhiyun tristate "Tegra20 DAS module" 24*4882a593Smuzhiyun depends on SND_SOC_TEGRA 25*4882a593Smuzhiyun help 26*4882a593Smuzhiyun Say Y or M if you want to add support for the Tegra20 DAS module. 27*4882a593Smuzhiyun You will also need to select the individual machine drivers to 28*4882a593Smuzhiyun support below. 29*4882a593Smuzhiyun 30*4882a593Smuzhiyunconfig SND_SOC_TEGRA20_I2S 31*4882a593Smuzhiyun tristate "Tegra20 I2S interface" 32*4882a593Smuzhiyun depends on SND_SOC_TEGRA 33*4882a593Smuzhiyun select SND_SOC_TEGRA20_DAS 34*4882a593Smuzhiyun help 35*4882a593Smuzhiyun Say Y or M if you want to add support for codecs attached to the 36*4882a593Smuzhiyun Tegra20 I2S interface. You will also need to select the individual 37*4882a593Smuzhiyun machine drivers to support below. 38*4882a593Smuzhiyun 39*4882a593Smuzhiyunconfig SND_SOC_TEGRA20_SPDIF 40*4882a593Smuzhiyun tristate "Tegra20 SPDIF interface" 41*4882a593Smuzhiyun depends on SND_SOC_TEGRA 42*4882a593Smuzhiyun default m 43*4882a593Smuzhiyun help 44*4882a593Smuzhiyun Say Y or M if you want to add support for the Tegra20 SPDIF interface. 45*4882a593Smuzhiyun You will also need to select the individual machine drivers to support 46*4882a593Smuzhiyun below. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunconfig SND_SOC_TEGRA30_AHUB 49*4882a593Smuzhiyun tristate "Tegra30 AHUB module" 50*4882a593Smuzhiyun depends on SND_SOC_TEGRA 51*4882a593Smuzhiyun help 52*4882a593Smuzhiyun Say Y or M if you want to add support for the Tegra30 AHUB module. 53*4882a593Smuzhiyun You will also need to select the individual machine drivers to 54*4882a593Smuzhiyun support below. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunconfig SND_SOC_TEGRA30_I2S 57*4882a593Smuzhiyun tristate "Tegra30 I2S interface" 58*4882a593Smuzhiyun depends on SND_SOC_TEGRA 59*4882a593Smuzhiyun select SND_SOC_TEGRA30_AHUB 60*4882a593Smuzhiyun help 61*4882a593Smuzhiyun Say Y or M if you want to add support for codecs attached to the 62*4882a593Smuzhiyun Tegra30 I2S interface. You will also need to select the individual 63*4882a593Smuzhiyun machine drivers to support below. 64*4882a593Smuzhiyun 65*4882a593Smuzhiyunconfig SND_SOC_TEGRA210_AHUB 66*4882a593Smuzhiyun tristate "Tegra210 AHUB module" 67*4882a593Smuzhiyun depends on SND_SOC_TEGRA 68*4882a593Smuzhiyun help 69*4882a593Smuzhiyun Config to enable Audio Hub (AHUB) module, which comprises of a 70*4882a593Smuzhiyun switch called Audio Crossbar (AXBAR) used to configure or modify 71*4882a593Smuzhiyun the audio routing path between various HW accelerators present in 72*4882a593Smuzhiyun AHUB. 73*4882a593Smuzhiyun Say Y or M if you want to add support for Tegra210 AHUB module. 74*4882a593Smuzhiyun 75*4882a593Smuzhiyunconfig SND_SOC_TEGRA210_DMIC 76*4882a593Smuzhiyun tristate "Tegra210 DMIC module" 77*4882a593Smuzhiyun depends on SND_SOC_TEGRA 78*4882a593Smuzhiyun help 79*4882a593Smuzhiyun Config to enable the Digital MIC (DMIC) controller which is used 80*4882a593Smuzhiyun to interface with Pulse Density Modulation (PDM) input devices. 81*4882a593Smuzhiyun The DMIC controller implements a converter to convert PDM signals 82*4882a593Smuzhiyun to Pulse Code Modulation (PCM) signals. This can be viewed as a 83*4882a593Smuzhiyun PDM receiver. 84*4882a593Smuzhiyun Say Y or M if you want to add support for Tegra210 DMIC module. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyunconfig SND_SOC_TEGRA210_I2S 87*4882a593Smuzhiyun tristate "Tegra210 I2S module" 88*4882a593Smuzhiyun depends on SND_SOC_TEGRA 89*4882a593Smuzhiyun help 90*4882a593Smuzhiyun Config to enable the Inter-IC Sound (I2S) Controller which 91*4882a593Smuzhiyun implements full-duplex and bidirectional and single direction 92*4882a593Smuzhiyun point-to-point serial interfaces. It can interface with I2S 93*4882a593Smuzhiyun compatible devices. 94*4882a593Smuzhiyun Say Y or M if you want to add support for Tegra210 I2S module. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyunconfig SND_SOC_TEGRA186_DSPK 97*4882a593Smuzhiyun tristate "Tegra186 DSPK module" 98*4882a593Smuzhiyun depends on SND_SOC_TEGRA 99*4882a593Smuzhiyun help 100*4882a593Smuzhiyun Config to enable the Digital Speaker Controller (DSPK) which 101*4882a593Smuzhiyun converts the multi-bit Pulse Code Modulation (PCM) audio input to 102*4882a593Smuzhiyun oversampled 1-bit Pulse Density Modulation (PDM) output. From the 103*4882a593Smuzhiyun signal flow perspective DSPK can be viewed as a PDM transmitter 104*4882a593Smuzhiyun that up-samples the input to the desired sampling rate by 105*4882a593Smuzhiyun interpolation and then converts the oversampled PCM input to 106*4882a593Smuzhiyun the desired 1-bit output via Delta Sigma Modulation (DSM). 107*4882a593Smuzhiyun Say Y or M if you want to add support for Tegra186 DSPK module. 108*4882a593Smuzhiyun 109*4882a593Smuzhiyunconfig SND_SOC_TEGRA210_ADMAIF 110*4882a593Smuzhiyun tristate "Tegra210 ADMAIF module" 111*4882a593Smuzhiyun depends on SND_SOC_TEGRA 112*4882a593Smuzhiyun help 113*4882a593Smuzhiyun Config to enable ADMAIF which is the interface between ADMA and 114*4882a593Smuzhiyun Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ 115*4882a593Smuzhiyun from AHUB must interface through an ADMAIF channel. ADMA channel 116*4882a593Smuzhiyun sending data to AHUB pairs with an ADMAIF Tx channel, where as 117*4882a593Smuzhiyun ADMA channel receiving data from AHUB pairs with an ADMAIF Rx 118*4882a593Smuzhiyun channel. Buffer size is configurable for each ADMAIIF channel. 119*4882a593Smuzhiyun Say Y or M if you want to add support for Tegra210 ADMAIF module. 120*4882a593Smuzhiyun 121*4882a593Smuzhiyunconfig SND_SOC_TEGRA_RT5640 122*4882a593Smuzhiyun tristate "SoC Audio support for Tegra boards using an RT5640 codec" 123*4882a593Smuzhiyun depends on SND_SOC_TEGRA && I2C && GPIOLIB 124*4882a593Smuzhiyun select SND_SOC_RT5640 125*4882a593Smuzhiyun help 126*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on Tegra 127*4882a593Smuzhiyun boards using the RT5640 codec, such as Dalmore. 128*4882a593Smuzhiyun 129*4882a593Smuzhiyunconfig SND_SOC_TEGRA_WM8753 130*4882a593Smuzhiyun tristate "SoC Audio support for Tegra boards using a WM8753 codec" 131*4882a593Smuzhiyun depends on SND_SOC_TEGRA && I2C && GPIOLIB 132*4882a593Smuzhiyun select SND_SOC_WM8753 133*4882a593Smuzhiyun help 134*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on Tegra 135*4882a593Smuzhiyun boards using the WM8753 codec, such as Whistler. 136*4882a593Smuzhiyun 137*4882a593Smuzhiyunconfig SND_SOC_TEGRA_WM8903 138*4882a593Smuzhiyun tristate "SoC Audio support for Tegra boards using a WM8903 codec" 139*4882a593Smuzhiyun depends on SND_SOC_TEGRA && I2C && GPIOLIB 140*4882a593Smuzhiyun select SND_SOC_WM8903 141*4882a593Smuzhiyun help 142*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on Tegra 143*4882a593Smuzhiyun boards using the WM8093 codec. Currently, the supported boards are 144*4882a593Smuzhiyun Harmony, Ventana, Seaboard, Kaen, and Aebl. 145*4882a593Smuzhiyun 146*4882a593Smuzhiyunconfig SND_SOC_TEGRA_WM9712 147*4882a593Smuzhiyun tristate "SoC Audio support for Tegra boards using a WM9712 codec" 148*4882a593Smuzhiyun depends on SND_SOC_TEGRA && GPIOLIB 149*4882a593Smuzhiyun select SND_SOC_TEGRA20_AC97 150*4882a593Smuzhiyun select SND_SOC_WM9712 151*4882a593Smuzhiyun help 152*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on Tegra 153*4882a593Smuzhiyun boards using the WM9712 (or compatible) codec. 154*4882a593Smuzhiyun 155*4882a593Smuzhiyunconfig SND_SOC_TEGRA_TRIMSLICE 156*4882a593Smuzhiyun tristate "SoC Audio support for TrimSlice board" 157*4882a593Smuzhiyun depends on SND_SOC_TEGRA && I2C 158*4882a593Smuzhiyun select SND_SOC_TLV320AIC23_I2C 159*4882a593Smuzhiyun help 160*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on the 161*4882a593Smuzhiyun TrimSlice platform. 162*4882a593Smuzhiyun 163*4882a593Smuzhiyunconfig SND_SOC_TEGRA_ALC5632 164*4882a593Smuzhiyun tristate "SoC Audio support for Tegra boards using an ALC5632 codec" 165*4882a593Smuzhiyun depends on SND_SOC_TEGRA && I2C && GPIOLIB 166*4882a593Smuzhiyun select SND_SOC_ALC5632 167*4882a593Smuzhiyun help 168*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on the 169*4882a593Smuzhiyun Toshiba AC100 netbook. 170*4882a593Smuzhiyun 171*4882a593Smuzhiyunconfig SND_SOC_TEGRA_MAX98090 172*4882a593Smuzhiyun tristate "SoC Audio support for Tegra boards using a MAX98090 codec" 173*4882a593Smuzhiyun depends on SND_SOC_TEGRA && I2C && GPIOLIB 174*4882a593Smuzhiyun select SND_SOC_MAX98090 175*4882a593Smuzhiyun help 176*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on Tegra 177*4882a593Smuzhiyun boards using the MAX98090 codec, such as Venice2. 178*4882a593Smuzhiyun 179*4882a593Smuzhiyunconfig SND_SOC_TEGRA_RT5677 180*4882a593Smuzhiyun tristate "SoC Audio support for Tegra boards using a RT5677 codec" 181*4882a593Smuzhiyun depends on SND_SOC_TEGRA && I2C && GPIOLIB 182*4882a593Smuzhiyun select SND_SOC_RT5677 183*4882a593Smuzhiyun help 184*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on Tegra 185*4882a593Smuzhiyun boards using the RT5677 codec, such as Ryu. 186*4882a593Smuzhiyun 187*4882a593Smuzhiyunconfig SND_SOC_TEGRA_SGTL5000 188*4882a593Smuzhiyun tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" 189*4882a593Smuzhiyun depends on SND_SOC_TEGRA && I2C && GPIOLIB 190*4882a593Smuzhiyun select SND_SOC_SGTL5000 191*4882a593Smuzhiyun help 192*4882a593Smuzhiyun Say Y or M here if you want to add support for SoC audio on Tegra 193*4882a593Smuzhiyun boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or 194*4882a593Smuzhiyun Colibri T30. 195