0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config SND_ATMEL_SOC
0003 tristate "SoC Audio for the Atmel System-on-Chip"
0004 depends on HAS_IOMEM
0005 help
0006 Say Y or M if you want to add support for codecs attached to
0007 the ATMEL SSC interface. You will also need
0008 to select the audio interfaces to support below.
0009
0010 if SND_ATMEL_SOC
0011
0012 config SND_ATMEL_SOC_PDC
0013 bool
0014
0015 config SND_ATMEL_SOC_DMA
0016 bool
0017 select SND_SOC_GENERIC_DMAENGINE_PCM
0018
0019 config SND_ATMEL_SOC_SSC
0020 tristate
0021 select SND_ATMEL_SOC_DMA
0022 select SND_ATMEL_SOC_PDC
0023
0024 config SND_ATMEL_SOC_SSC_PDC
0025 tristate "SoC PCM DAI support for AT91 SSC controller using PDC"
0026 depends on ATMEL_SSC
0027 select SND_ATMEL_SOC_PDC
0028 select SND_ATMEL_SOC_SSC
0029 help
0030 Say Y or M if you want to add support for Atmel SSC interface
0031 in PDC mode configured using audio-graph-card in device-tree.
0032
0033 config SND_ATMEL_SOC_SSC_DMA
0034 tristate "SoC PCM DAI support for AT91 SSC controller using DMA"
0035 depends on ATMEL_SSC
0036 select SND_ATMEL_SOC_DMA
0037 select SND_ATMEL_SOC_SSC
0038 help
0039 Say Y or M if you want to add support for Atmel SSC interface
0040 in DMA mode configured using audio-graph-card in device-tree.
0041
0042 config SND_AT91_SOC_SAM9G20_WM8731
0043 tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board"
0044 depends on ARCH_AT91 || COMPILE_TEST
0045 depends on ATMEL_SSC && I2C
0046 select SND_ATMEL_SOC_SSC_PDC
0047 select SND_SOC_WM8731_I2C
0048 help
0049 Say Y if you want to add support for SoC audio on WM8731-based
0050 AT91sam9g20 evaluation board.
0051
0052 config SND_ATMEL_SOC_WM8904
0053 tristate "Atmel ASoC driver for boards using WM8904 codec"
0054 depends on ARCH_AT91 || COMPILE_TEST
0055 depends on ATMEL_SSC && I2C
0056 select SND_ATMEL_SOC_SSC_DMA
0057 select SND_SOC_WM8904
0058 help
0059 Say Y if you want to add support for Atmel ASoC driver for boards using
0060 WM8904 codec.
0061
0062 config SND_AT91_SOC_SAM9X5_WM8731
0063 tristate "SoC Audio support for WM8731-based at91sam9x5 board"
0064 depends on ARCH_AT91 || COMPILE_TEST
0065 depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
0066 select SND_ATMEL_SOC_SSC_DMA
0067 select SND_SOC_WM8731
0068 help
0069 Say Y if you want to add support for audio SoC on an
0070 at91sam9x5 based board that is using WM8731 codec.
0071
0072 config SND_ATMEL_SOC_CLASSD
0073 tristate "Atmel ASoC driver for boards using CLASSD"
0074 depends on ARCH_AT91 || COMPILE_TEST
0075 select SND_SOC_GENERIC_DMAENGINE_PCM
0076 select REGMAP_MMIO
0077 help
0078 Say Y if you want to add support for Atmel ASoC driver for boards using
0079 CLASSD.
0080
0081 config SND_ATMEL_SOC_PDMIC
0082 tristate "Atmel ASoC driver for boards using PDMIC"
0083 depends on OF && (ARCH_AT91 || COMPILE_TEST)
0084 select SND_SOC_GENERIC_DMAENGINE_PCM
0085 select REGMAP_MMIO
0086 help
0087 Say Y if you want to add support for Atmel ASoC driver for boards using
0088 PDMIC.
0089
0090 config SND_ATMEL_SOC_TSE850_PCM5142
0091 tristate "ASoC driver for the Axentia TSE-850"
0092 depends on ARCH_AT91 && OF
0093 depends on ATMEL_SSC && I2C
0094 select SND_ATMEL_SOC_SSC_DMA
0095 select SND_SOC_PCM512x_I2C
0096 help
0097 Say Y if you want to add support for the ASoC driver for the
0098 Axentia TSE-850 with a PCM5142 codec.
0099
0100 config SND_ATMEL_SOC_I2S
0101 tristate "Atmel ASoC driver for boards using I2S"
0102 depends on OF && (ARCH_AT91 || COMPILE_TEST)
0103 select SND_SOC_GENERIC_DMAENGINE_PCM
0104 select REGMAP_MMIO
0105 help
0106 Say Y or M if you want to add support for Atmel ASoc driver for boards
0107 using I2S.
0108
0109 config SND_SOC_MIKROE_PROTO
0110 tristate "Support for Mikroe-PROTO board"
0111 depends on OF
0112 depends on SND_SOC_I2C_AND_SPI
0113 select SND_SOC_WM8731
0114 help
0115 Say Y or M if you want to add support for MikroElektronika PROTO Audio
0116 Board. This board contains the WM8731 codec, which can be configured
0117 using I2C over SDA (MPU Data Input) and SCL (MPU Clock Input) pins.
0118 Both playback and capture are supported.
0119
0120 config SND_MCHP_SOC_I2S_MCC
0121 tristate "Microchip ASoC driver for boards using I2S MCC"
0122 depends on OF && (ARCH_AT91 || COMPILE_TEST)
0123 select SND_SOC_GENERIC_DMAENGINE_PCM
0124 select REGMAP_MMIO
0125 help
0126 Say Y or M if you want to add support for I2S Multi-Channel ASoC
0127 driver on the following Microchip platforms:
0128 - sam9x60
0129 - sama7g5
0130
0131 The I2SMCC complies with the Inter-IC Sound (I2S) bus specification
0132 and supports a Time Division Multiplexed (TDM) interface with
0133 external multi-channel audio codecs.
0134 Starting with sama7g5, I2S and Left-Justified multi-channel is
0135 supported by using multiple data pins, output and input, without TDM.
0136
0137 config SND_MCHP_SOC_SPDIFTX
0138 tristate "Microchip ASoC driver for boards using S/PDIF TX"
0139 depends on OF && (ARCH_AT91 || COMPILE_TEST)
0140 select SND_SOC_GENERIC_DMAENGINE_PCM
0141 select REGMAP_MMIO
0142 help
0143 Say Y or M if you want to add support for Microchip S/PDIF TX ASoc
0144 driver on the following Microchip platforms:
0145 - sama7g5
0146
0147 This S/PDIF TX driver is compliant with IEC-60958 standard and
0148 includes programmable User Data and Channel Status fields.
0149
0150 config SND_MCHP_SOC_SPDIFRX
0151 tristate "Microchip ASoC driver for boards using S/PDIF RX"
0152 depends on OF && (ARCH_AT91 || COMPILE_TEST)
0153 depends on COMMON_CLK
0154 select SND_SOC_GENERIC_DMAENGINE_PCM
0155 select REGMAP_MMIO
0156 help
0157 Say Y or M if you want to add support for Microchip S/PDIF RX ASoc
0158 driver on the following Microchip platforms:
0159 - sama7g5
0160
0161 This S/PDIF RX driver is compliant with IEC-60958 standard and
0162 includes programmable User Data and Channel Status fields.
0163
0164 config SND_MCHP_SOC_PDMC
0165 tristate "Microchip ASoC driver for boards using PDMC"
0166 depends on OF && (ARCH_AT91 || COMPILE_TEST)
0167 select SND_SOC_GENERIC_DMAENGINE_PCM
0168 select REGMAP_MMIO
0169 help
0170 Say Y or M if you want to add support for Microchip ASoC PDMC driver on the
0171 following Microchip platforms:
0172 - sama7g5
0173
0174 The Pulse Density Microphone Controller (PDMC) interfaces up to 4 digital
0175 microphones PDM outputs. It generates a single clock line and samples 1 or
0176 2 data lines. The signal path includes an audio grade programmable
0177 decimation filter and outputs 24-bit audio words.
0178
0179 endif