162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig SND_ATMEL_SOC
362306a36Sopenharmony_ci	tristate "SoC Audio for the Atmel System-on-Chip"
462306a36Sopenharmony_ci	depends on HAS_IOMEM
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  Say Y or M if you want to add support for codecs attached to
762306a36Sopenharmony_ci	  the ATMEL SSC interface. You will also need
862306a36Sopenharmony_ci	  to select the audio interfaces to support below.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciif SND_ATMEL_SOC
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciconfig SND_ATMEL_SOC_PDC
1362306a36Sopenharmony_ci	bool
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciconfig SND_ATMEL_SOC_DMA
1662306a36Sopenharmony_ci	bool
1762306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig SND_ATMEL_SOC_SSC
2062306a36Sopenharmony_ci	tristate
2162306a36Sopenharmony_ci	select SND_ATMEL_SOC_DMA
2262306a36Sopenharmony_ci	select SND_ATMEL_SOC_PDC
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciconfig SND_ATMEL_SOC_SSC_PDC
2562306a36Sopenharmony_ci	tristate "SoC PCM DAI support for AT91 SSC controller using PDC"
2662306a36Sopenharmony_ci	depends on ATMEL_SSC
2762306a36Sopenharmony_ci	select SND_ATMEL_SOC_PDC
2862306a36Sopenharmony_ci	select SND_ATMEL_SOC_SSC
2962306a36Sopenharmony_ci	help
3062306a36Sopenharmony_ci	  Say Y or M if you want to add support for Atmel SSC interface
3162306a36Sopenharmony_ci	  in PDC mode configured using audio-graph-card in device-tree.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciconfig SND_ATMEL_SOC_SSC_DMA
3462306a36Sopenharmony_ci	tristate "SoC PCM DAI support for AT91 SSC controller using DMA"
3562306a36Sopenharmony_ci	depends on ATMEL_SSC
3662306a36Sopenharmony_ci	select SND_ATMEL_SOC_DMA
3762306a36Sopenharmony_ci	select SND_ATMEL_SOC_SSC
3862306a36Sopenharmony_ci	help
3962306a36Sopenharmony_ci	  Say Y or M if you want to add support for Atmel SSC interface
4062306a36Sopenharmony_ci	  in DMA mode configured using audio-graph-card in device-tree.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig SND_AT91_SOC_SAM9G20_WM8731
4362306a36Sopenharmony_ci	tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board"
4462306a36Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
4562306a36Sopenharmony_ci	depends on ATMEL_SSC && I2C
4662306a36Sopenharmony_ci	select SND_ATMEL_SOC_SSC_PDC
4762306a36Sopenharmony_ci	select SND_SOC_WM8731_I2C
4862306a36Sopenharmony_ci	help
4962306a36Sopenharmony_ci	  Say Y if you want to add support for SoC audio on WM8731-based
5062306a36Sopenharmony_ci	  AT91sam9g20 evaluation board.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig SND_ATMEL_SOC_WM8904
5362306a36Sopenharmony_ci	tristate "Atmel ASoC driver for boards using WM8904 codec"
5462306a36Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
5562306a36Sopenharmony_ci	depends on ATMEL_SSC && I2C
5662306a36Sopenharmony_ci	select SND_ATMEL_SOC_SSC_DMA
5762306a36Sopenharmony_ci	select SND_SOC_WM8904
5862306a36Sopenharmony_ci	help
5962306a36Sopenharmony_ci	  Say Y if you want to add support for Atmel ASoC driver for boards using
6062306a36Sopenharmony_ci	  WM8904 codec.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciconfig SND_AT91_SOC_SAM9X5_WM8731
6362306a36Sopenharmony_ci	tristate "SoC Audio support for WM8731-based at91sam9x5 board"
6462306a36Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
6562306a36Sopenharmony_ci	depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
6662306a36Sopenharmony_ci	select SND_ATMEL_SOC_SSC_DMA
6762306a36Sopenharmony_ci	select SND_SOC_WM8731
6862306a36Sopenharmony_ci	help
6962306a36Sopenharmony_ci	  Say Y if you want to add support for audio SoC on an
7062306a36Sopenharmony_ci	  at91sam9x5 based board that is using WM8731 codec.
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ciconfig SND_ATMEL_SOC_CLASSD
7362306a36Sopenharmony_ci	tristate "Atmel ASoC driver for boards using CLASSD"
7462306a36Sopenharmony_ci	depends on ARCH_AT91 || COMPILE_TEST
7562306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
7662306a36Sopenharmony_ci	select REGMAP_MMIO
7762306a36Sopenharmony_ci	help
7862306a36Sopenharmony_ci	  Say Y if you want to add support for Atmel ASoC driver for boards using
7962306a36Sopenharmony_ci	  CLASSD.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ciconfig SND_ATMEL_SOC_PDMIC
8262306a36Sopenharmony_ci	tristate "Atmel ASoC driver for boards using PDMIC"
8362306a36Sopenharmony_ci	depends on OF && (ARCH_AT91 || COMPILE_TEST)
8462306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
8562306a36Sopenharmony_ci	select REGMAP_MMIO
8662306a36Sopenharmony_ci	help
8762306a36Sopenharmony_ci	  Say Y if you want to add support for Atmel ASoC driver for boards using
8862306a36Sopenharmony_ci	  PDMIC.
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ciconfig SND_ATMEL_SOC_TSE850_PCM5142
9162306a36Sopenharmony_ci	tristate "ASoC driver for the Axentia TSE-850"
9262306a36Sopenharmony_ci	depends on ARCH_AT91 && OF
9362306a36Sopenharmony_ci	depends on ATMEL_SSC && I2C
9462306a36Sopenharmony_ci	select SND_ATMEL_SOC_SSC_DMA
9562306a36Sopenharmony_ci	select SND_SOC_PCM512x_I2C
9662306a36Sopenharmony_ci	help
9762306a36Sopenharmony_ci	  Say Y if you want to add support for the ASoC driver for the
9862306a36Sopenharmony_ci	  Axentia TSE-850 with a PCM5142 codec.
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ciconfig SND_ATMEL_SOC_I2S
10162306a36Sopenharmony_ci	tristate "Atmel ASoC driver for boards using I2S"
10262306a36Sopenharmony_ci	depends on OF && (ARCH_AT91 || COMPILE_TEST)
10362306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
10462306a36Sopenharmony_ci	select REGMAP_MMIO
10562306a36Sopenharmony_ci	help
10662306a36Sopenharmony_ci	  Say Y or M if you want to add support for Atmel ASoc driver for boards
10762306a36Sopenharmony_ci	  using I2S.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciconfig SND_SOC_MIKROE_PROTO
11062306a36Sopenharmony_ci	tristate "Support for Mikroe-PROTO board"
11162306a36Sopenharmony_ci	depends on OF
11262306a36Sopenharmony_ci	depends on SND_SOC_I2C_AND_SPI
11362306a36Sopenharmony_ci	select SND_SOC_WM8731
11462306a36Sopenharmony_ci	help
11562306a36Sopenharmony_ci	  Say Y or M if you want to add support for MikroElektronika PROTO Audio
11662306a36Sopenharmony_ci	  Board. This board contains the WM8731 codec, which can be configured
11762306a36Sopenharmony_ci	  using I2C over SDA (MPU Data Input) and SCL (MPU Clock Input) pins.
11862306a36Sopenharmony_ci	  Both playback and capture are supported.
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ciconfig SND_MCHP_SOC_I2S_MCC
12162306a36Sopenharmony_ci	tristate "Microchip ASoC driver for boards using I2S MCC"
12262306a36Sopenharmony_ci	depends on OF && (ARCH_AT91 || COMPILE_TEST)
12362306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
12462306a36Sopenharmony_ci	select REGMAP_MMIO
12562306a36Sopenharmony_ci	help
12662306a36Sopenharmony_ci	  Say Y or M if you want to add support for I2S Multi-Channel ASoC
12762306a36Sopenharmony_ci	  driver on the following Microchip platforms:
12862306a36Sopenharmony_ci	  - sam9x60
12962306a36Sopenharmony_ci	  - sama7g5
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ci	  The I2SMCC complies with the Inter-IC Sound (I2S) bus specification
13262306a36Sopenharmony_ci	  and supports a Time Division Multiplexed (TDM) interface with
13362306a36Sopenharmony_ci	  external multi-channel audio codecs.
13462306a36Sopenharmony_ci	  Starting with sama7g5, I2S and Left-Justified multi-channel is
13562306a36Sopenharmony_ci	  supported by using multiple data pins, output and input, without TDM.
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ciconfig SND_MCHP_SOC_SPDIFTX
13862306a36Sopenharmony_ci	tristate "Microchip ASoC driver for boards using S/PDIF TX"
13962306a36Sopenharmony_ci	depends on OF && (ARCH_AT91 || COMPILE_TEST)
14062306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
14162306a36Sopenharmony_ci	select REGMAP_MMIO
14262306a36Sopenharmony_ci	help
14362306a36Sopenharmony_ci	  Say Y or M if you want to add support for Microchip S/PDIF TX ASoc
14462306a36Sopenharmony_ci	  driver on the following Microchip platforms:
14562306a36Sopenharmony_ci	  - sama7g5
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci	  This S/PDIF TX driver is compliant with IEC-60958 standard and
14862306a36Sopenharmony_ci	  includes programmable User Data and Channel Status fields.
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ciconfig SND_MCHP_SOC_SPDIFRX
15162306a36Sopenharmony_ci	tristate "Microchip ASoC driver for boards using S/PDIF RX"
15262306a36Sopenharmony_ci	depends on OF && (ARCH_AT91 || COMPILE_TEST)
15362306a36Sopenharmony_ci	depends on COMMON_CLK
15462306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
15562306a36Sopenharmony_ci	select REGMAP_MMIO
15662306a36Sopenharmony_ci	help
15762306a36Sopenharmony_ci	  Say Y or M if you want to add support for Microchip S/PDIF RX ASoc
15862306a36Sopenharmony_ci	  driver on the following Microchip platforms:
15962306a36Sopenharmony_ci	  - sama7g5
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci	  This S/PDIF RX driver is compliant with IEC-60958 standard and
16262306a36Sopenharmony_ci	  includes programmable User Data and Channel Status fields.
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ciconfig SND_MCHP_SOC_PDMC
16562306a36Sopenharmony_ci	tristate "Microchip ASoC driver for boards using PDMC"
16662306a36Sopenharmony_ci	depends on OF && (ARCH_AT91 || COMPILE_TEST)
16762306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
16862306a36Sopenharmony_ci	select REGMAP_MMIO
16962306a36Sopenharmony_ci	help
17062306a36Sopenharmony_ci	  Say Y or M if you want to add support for Microchip ASoC PDMC driver on the
17162306a36Sopenharmony_ci	  following Microchip platforms:
17262306a36Sopenharmony_ci	  - sama7g5
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci	  The Pulse Density Microphone Controller (PDMC) interfaces up to 4 digital
17562306a36Sopenharmony_ci	  microphones PDM outputs. It generates a single clock line and samples 1 or
17662306a36Sopenharmony_ci	  2 data lines. The signal path includes an audio grade programmable
17762306a36Sopenharmony_ci	  decimation filter and outputs 24-bit audio words.
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ciendif
180