1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 22ba9471bSStephen Warrenconfig SND_SOC_TEGRA 38b75d714SStephen Warren tristate "SoC Audio for the Tegra System-on-Chip" 422abf843SMark Brown depends on (ARCH_TEGRA && TEGRA20_APB_DMA) || COMPILE_TEST 55185e0acSStephen Warren depends on COMMON_CLK 65185e0acSStephen Warren depends on RESET_CONTROLLER 7d19e779bSStephen Warren select REGMAP_MMIO 82086d078SMark Brown select SND_SOC_GENERIC_DMAENGINE_PCM 98b75d714SStephen Warren help 108b75d714SStephen Warren Say Y or M here if you want support for SoC audio on Tegra. 118b75d714SStephen Warren 12e86caa01SGeert Uytterhoevenif SND_SOC_TEGRA 13e86caa01SGeert Uytterhoeven 14609dad9bSLucas Stachconfig SND_SOC_TEGRA20_AC97 153bcfe80fSPaul Kocialkowski tristate "Tegra20 AC97 interface" 16609dad9bSLucas Stach select SND_SOC_AC97_BUS 17609dad9bSLucas Stach select SND_SOC_TEGRA20_DAS 18609dad9bSLucas Stach help 19609dad9bSLucas Stach Say Y or M if you want to add support for codecs attached to the 20609dad9bSLucas Stach Tegra20 AC97 interface. You will also need to select the individual 21609dad9bSLucas Stach machine drivers to support below. 22609dad9bSLucas Stach 23896637acSStephen Warrenconfig SND_SOC_TEGRA20_DAS 243bcfe80fSPaul Kocialkowski tristate "Tegra20 DAS module" 25d9bba496SStephen Warren help 26896637acSStephen Warren Say Y or M if you want to add support for the Tegra20 DAS module. 27d9bba496SStephen Warren You will also need to select the individual machine drivers to 28d9bba496SStephen Warren support below. 29d9bba496SStephen Warren 30896637acSStephen Warrenconfig SND_SOC_TEGRA20_I2S 313bcfe80fSPaul Kocialkowski tristate "Tegra20 I2S interface" 32896637acSStephen Warren select SND_SOC_TEGRA20_DAS 338b75d714SStephen Warren help 348b75d714SStephen Warren Say Y or M if you want to add support for codecs attached to the 35896637acSStephen Warren Tegra20 I2S interface. You will also need to select the individual 368b75d714SStephen Warren machine drivers to support below. 378b75d714SStephen Warren 38896637acSStephen Warrenconfig SND_SOC_TEGRA20_SPDIF 393bcfe80fSPaul Kocialkowski tristate "Tegra20 SPDIF interface" 40774fec33SStephen Warren help 41896637acSStephen Warren Say Y or M if you want to add support for the Tegra20 SPDIF interface. 42774fec33SStephen Warren You will also need to select the individual machine drivers to support 43774fec33SStephen Warren below. 44774fec33SStephen Warren 45cdc04fd1SStephen Warrenconfig SND_SOC_TEGRA30_AHUB 463bcfe80fSPaul Kocialkowski tristate "Tegra30 AHUB module" 47cdc04fd1SStephen Warren help 483bcfe80fSPaul Kocialkowski Say Y or M if you want to add support for the Tegra30 AHUB module. 49cdc04fd1SStephen Warren You will also need to select the individual machine drivers to 50cdc04fd1SStephen Warren support below. 51cdc04fd1SStephen Warren 52cdc04fd1SStephen Warrenconfig SND_SOC_TEGRA30_I2S 533bcfe80fSPaul Kocialkowski tristate "Tegra30 I2S interface" 54cdc04fd1SStephen Warren select SND_SOC_TEGRA30_AHUB 55cdc04fd1SStephen Warren help 56cdc04fd1SStephen Warren Say Y or M if you want to add support for codecs attached to the 57cdc04fd1SStephen Warren Tegra30 I2S interface. You will also need to select the individual 58cdc04fd1SStephen Warren machine drivers to support below. 59cdc04fd1SStephen Warren 6016e1bcc2SSameer Pujarconfig SND_SOC_TEGRA210_AHUB 6116e1bcc2SSameer Pujar tristate "Tegra210 AHUB module" 6216e1bcc2SSameer Pujar help 6316e1bcc2SSameer Pujar Config to enable Audio Hub (AHUB) module, which comprises of a 6416e1bcc2SSameer Pujar switch called Audio Crossbar (AXBAR) used to configure or modify 6516e1bcc2SSameer Pujar the audio routing path between various HW accelerators present in 6616e1bcc2SSameer Pujar AHUB. 6716e1bcc2SSameer Pujar Say Y or M if you want to add support for Tegra210 AHUB module. 6816e1bcc2SSameer Pujar 698c8ff982SSameer Pujarconfig SND_SOC_TEGRA210_DMIC 708c8ff982SSameer Pujar tristate "Tegra210 DMIC module" 718c8ff982SSameer Pujar help 728c8ff982SSameer Pujar Config to enable the Digital MIC (DMIC) controller which is used 738c8ff982SSameer Pujar to interface with Pulse Density Modulation (PDM) input devices. 748c8ff982SSameer Pujar The DMIC controller implements a converter to convert PDM signals 758c8ff982SSameer Pujar to Pulse Code Modulation (PCM) signals. This can be viewed as a 768c8ff982SSameer Pujar PDM receiver. 778c8ff982SSameer Pujar Say Y or M if you want to add support for Tegra210 DMIC module. 788c8ff982SSameer Pujar 79c0bfa983SSameer Pujarconfig SND_SOC_TEGRA210_I2S 80c0bfa983SSameer Pujar tristate "Tegra210 I2S module" 81c0bfa983SSameer Pujar help 82c0bfa983SSameer Pujar Config to enable the Inter-IC Sound (I2S) Controller which 83c0bfa983SSameer Pujar implements full-duplex and bidirectional and single direction 84c0bfa983SSameer Pujar point-to-point serial interfaces. It can interface with I2S 85c0bfa983SSameer Pujar compatible devices. 86c0bfa983SSameer Pujar Say Y or M if you want to add support for Tegra210 I2S module. 87c0bfa983SSameer Pujar 88327ef647SSameer Pujarconfig SND_SOC_TEGRA186_DSPK 89327ef647SSameer Pujar tristate "Tegra186 DSPK module" 90327ef647SSameer Pujar help 91327ef647SSameer Pujar Config to enable the Digital Speaker Controller (DSPK) which 92327ef647SSameer Pujar converts the multi-bit Pulse Code Modulation (PCM) audio input to 93327ef647SSameer Pujar oversampled 1-bit Pulse Density Modulation (PDM) output. From the 94327ef647SSameer Pujar signal flow perspective DSPK can be viewed as a PDM transmitter 95327ef647SSameer Pujar that up-samples the input to the desired sampling rate by 96327ef647SSameer Pujar interpolation and then converts the oversampled PCM input to 97327ef647SSameer Pujar the desired 1-bit output via Delta Sigma Modulation (DSM). 98327ef647SSameer Pujar Say Y or M if you want to add support for Tegra186 DSPK module. 99327ef647SSameer Pujar 100f74028e1SSameer Pujarconfig SND_SOC_TEGRA210_ADMAIF 101f74028e1SSameer Pujar tristate "Tegra210 ADMAIF module" 102f74028e1SSameer Pujar help 103f74028e1SSameer Pujar Config to enable ADMAIF which is the interface between ADMA and 104f74028e1SSameer Pujar Audio Hub (AHUB). Each ADMA channel that sends/receives data to/ 105f74028e1SSameer Pujar from AHUB must interface through an ADMAIF channel. ADMA channel 106f74028e1SSameer Pujar sending data to AHUB pairs with an ADMAIF Tx channel, where as 107f74028e1SSameer Pujar ADMA channel receiving data from AHUB pairs with an ADMAIF Rx 108f74028e1SSameer Pujar channel. Buffer size is configurable for each ADMAIIF channel. 109f74028e1SSameer Pujar Say Y or M if you want to add support for Tegra210 ADMAIF module. 110f74028e1SSameer Pujar 111e539891fSSameer Pujarconfig SND_SOC_TEGRA210_MVC 112e539891fSSameer Pujar tristate "Tegra210 MVC module" 113e539891fSSameer Pujar help 114e539891fSSameer Pujar Config to enable the digital Master Volume Controller (MVC) which 115e539891fSSameer Pujar provides gain or attenuation to a digital signal path. It can be 116e539891fSSameer Pujar used in input or output signal path. It can be used either for 117e539891fSSameer Pujar per-stream volume control or for master volume control. 118e539891fSSameer Pujar Say Y or M if you want to add support for Tegra210 MVC module. 119e539891fSSameer Pujar 120b2f74ec5SSameer Pujarconfig SND_SOC_TEGRA210_SFC 121b2f74ec5SSameer Pujar tristate "Tegra210 SFC module" 122b2f74ec5SSameer Pujar help 123b2f74ec5SSameer Pujar Config to enable the Sampling Frequency Converter (SFC) which 124b2f74ec5SSameer Pujar converts the sampling frequency of input signal to another 125b2f74ec5SSameer Pujar frequency. It supports sampling frequency conversion of streams 126b2f74ec5SSameer Pujar upto 2 channels (stereo). 127b2f74ec5SSameer Pujar Say Y or M if you want to add support for Tegra210 SFC module. 128b2f74ec5SSameer Pujar 12977f7df34SSameer Pujarconfig SND_SOC_TEGRA210_AMX 13077f7df34SSameer Pujar tristate "Tegra210 AMX module" 13177f7df34SSameer Pujar help 13277f7df34SSameer Pujar Config to enable the Audio Multiplexer (AMX) which can multiplex 13377f7df34SSameer Pujar four input streams (each of up to 16 channels) and generate 13477f7df34SSameer Pujar output stream (of up to 16 channels). A byte RAM helps to form an 13577f7df34SSameer Pujar output frame by any combination of bytes from the input frames. 13677f7df34SSameer Pujar Say Y or M if you want to add support for Tegra210 AMX module. 13777f7df34SSameer Pujar 138*a99ab6f3SSameer Pujarconfig SND_SOC_TEGRA210_ADX 139*a99ab6f3SSameer Pujar tristate "Tegra210 ADX module" 140*a99ab6f3SSameer Pujar help 141*a99ab6f3SSameer Pujar Config to enable the Audio Demultiplexer (ADX) which takes an 142*a99ab6f3SSameer Pujar input stream (up to 16 channels) and demultiplexes it into four 143*a99ab6f3SSameer Pujar output streams (each of up to 16 channels). A byte RAM helps to 144*a99ab6f3SSameer Pujar form output frames by any combination of bytes from the input 145*a99ab6f3SSameer Pujar frame. Its design is identical to that of byte RAM in the AMX 146*a99ab6f3SSameer Pujar except that the data flow direction is reversed. 147*a99ab6f3SSameer Pujar Say Y or M if you want to add support for Tegra210 ADX module. 148*a99ab6f3SSameer Pujar 149202e2f77SSameer Pujarconfig SND_SOC_TEGRA_AUDIO_GRAPH_CARD 150202e2f77SSameer Pujar tristate "Audio Graph Card based Tegra driver" 151202e2f77SSameer Pujar depends on SND_AUDIO_GRAPH_CARD 152202e2f77SSameer Pujar help 153202e2f77SSameer Pujar Config to enable Tegra audio machine driver based on generic 154202e2f77SSameer Pujar audio graph driver. It is a thin driver written to customize 155202e2f77SSameer Pujar few things for Tegra audio. Most of the code is re-used from 156202e2f77SSameer Pujar audio graph driver and the same DT bindings are used. 157202e2f77SSameer Pujar 158cc8f70f5SDmitry Osipenkoconfig SND_SOC_TEGRA_MACHINE_DRV 159cc8f70f5SDmitry Osipenko tristate 160cc8f70f5SDmitry Osipenko 161040a62cfSStephen Warrenconfig SND_SOC_TEGRA_RT5640 162040a62cfSStephen Warren tristate "SoC Audio support for Tegra boards using an RT5640 codec" 163e86caa01SGeert Uytterhoeven depends on I2C && GPIOLIB 164cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 165040a62cfSStephen Warren select SND_SOC_RT5640 166040a62cfSStephen Warren help 167040a62cfSStephen Warren Say Y or M here if you want to add support for SoC audio on Tegra 168040a62cfSStephen Warren boards using the RT5640 codec, such as Dalmore. 169040a62cfSStephen Warren 170d8259ca5SStephen Warrenconfig SND_SOC_TEGRA_WM8753 171d8259ca5SStephen Warren tristate "SoC Audio support for Tegra boards using a WM8753 codec" 172e86caa01SGeert Uytterhoeven depends on I2C && GPIOLIB 173cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 174d8259ca5SStephen Warren select SND_SOC_WM8753 175d8259ca5SStephen Warren help 176d8259ca5SStephen Warren Say Y or M here if you want to add support for SoC audio on Tegra 177d8259ca5SStephen Warren boards using the WM8753 codec, such as Whistler. 178d8259ca5SStephen Warren 1792ba9471bSStephen Warrenconfig SND_SOC_TEGRA_WM8903 180dc0a50afSStephen Warren tristate "SoC Audio support for Tegra boards using a WM8903 codec" 181e86caa01SGeert Uytterhoeven depends on I2C && GPIOLIB 182cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 1838b75d714SStephen Warren select SND_SOC_WM8903 1848b75d714SStephen Warren help 185dc0a50afSStephen Warren Say Y or M here if you want to add support for SoC audio on Tegra 186773b1d3dSStephen Warren boards using the WM8093 codec. Currently, the supported boards are 187773b1d3dSStephen Warren Harmony, Ventana, Seaboard, Kaen, and Aebl. 1888b75d714SStephen Warren 1896995b8cbSLucas Stachconfig SND_SOC_TEGRA_WM9712 1906995b8cbSLucas Stach tristate "SoC Audio support for Tegra boards using a WM9712 codec" 191e86caa01SGeert Uytterhoeven depends on GPIOLIB 192cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 1936995b8cbSLucas Stach select SND_SOC_TEGRA20_AC97 1946995b8cbSLucas Stach select SND_SOC_WM9712 1956995b8cbSLucas Stach help 1966995b8cbSLucas Stach Say Y or M here if you want to add support for SoC audio on Tegra 1976995b8cbSLucas Stach boards using the WM9712 (or compatible) codec. 1986995b8cbSLucas Stach 1991307394aSMike Rapoportconfig SND_SOC_TEGRA_TRIMSLICE 2001307394aSMike Rapoport tristate "SoC Audio support for TrimSlice board" 201e86caa01SGeert Uytterhoeven depends on I2C 202cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 203cc1bc54aSMax Filippov select SND_SOC_TLV320AIC23_I2C 2041307394aSMike Rapoport help 2051307394aSMike Rapoport Say Y or M here if you want to add support for SoC audio on the 2061307394aSMike Rapoport TrimSlice platform. 20758783fafSLeon Romanovsky 20858783fafSLeon Romanovskyconfig SND_SOC_TEGRA_ALC5632 20958783fafSLeon Romanovsky tristate "SoC Audio support for Tegra boards using an ALC5632 codec" 210e86caa01SGeert Uytterhoeven depends on I2C && GPIOLIB 211cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 21258783fafSLeon Romanovsky select SND_SOC_ALC5632 21358783fafSLeon Romanovsky help 21458783fafSLeon Romanovsky Say Y or M here if you want to add support for SoC audio on the 21558783fafSLeon Romanovsky Toshiba AC100 netbook. 2167637af2eSStephen Warren 2177637af2eSStephen Warrenconfig SND_SOC_TEGRA_MAX98090 2187637af2eSStephen Warren tristate "SoC Audio support for Tegra boards using a MAX98090 codec" 219e86caa01SGeert Uytterhoeven depends on I2C && GPIOLIB 220cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 2217637af2eSStephen Warren select SND_SOC_MAX98090 2227637af2eSStephen Warren help 2237637af2eSStephen Warren Say Y or M here if you want to add support for SoC audio on Tegra 2247637af2eSStephen Warren boards using the MAX98090 codec, such as Venice2. 225a37f1b8fSAnatol Pomozov 226a37f1b8fSAnatol Pomozovconfig SND_SOC_TEGRA_RT5677 227a37f1b8fSAnatol Pomozov tristate "SoC Audio support for Tegra boards using a RT5677 codec" 228e86caa01SGeert Uytterhoeven depends on I2C && GPIOLIB 229cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 230a37f1b8fSAnatol Pomozov select SND_SOC_RT5677 231a37f1b8fSAnatol Pomozov help 232a37f1b8fSAnatol Pomozov Say Y or M here if you want to add support for SoC audio on Tegra 233a37f1b8fSAnatol Pomozov boards using the RT5677 codec, such as Ryu. 23404445681SMarcel Ziswiler 23504445681SMarcel Ziswilerconfig SND_SOC_TEGRA_SGTL5000 23604445681SMarcel Ziswiler tristate "SoC Audio support for Tegra boards using a SGTL5000 codec" 237e86caa01SGeert Uytterhoeven depends on I2C && GPIOLIB 238cc8f70f5SDmitry Osipenko select SND_SOC_TEGRA_MACHINE_DRV 23904445681SMarcel Ziswiler select SND_SOC_SGTL5000 24004445681SMarcel Ziswiler help 24104445681SMarcel Ziswiler Say Y or M here if you want to add support for SoC audio on Tegra 24204445681SMarcel Ziswiler boards using the SGTL5000 codec, such as Apalis T30, Apalis TK1 or 24304445681SMarcel Ziswiler Colibri T30. 244e86caa01SGeert Uytterhoeven 245e86caa01SGeert Uytterhoevenendif 246