1# SPDX-License-Identifier: GPL-2.0-only
2config SND_ATMEL_SOC
3	tristate "SoC Audio for the Atmel System-on-Chip"
4	depends on HAS_IOMEM
5	help
6	  Say Y or M if you want to add support for codecs attached to
7	  the ATMEL SSC interface. You will also need
8	  to select the audio interfaces to support below.
9
10if SND_ATMEL_SOC
11
12config SND_ATMEL_SOC_PDC
13	bool
14
15config SND_ATMEL_SOC_DMA
16	bool
17	select SND_SOC_GENERIC_DMAENGINE_PCM
18
19config SND_ATMEL_SOC_SSC
20	tristate
21	select SND_ATMEL_SOC_DMA
22	select SND_ATMEL_SOC_PDC
23
24config SND_ATMEL_SOC_SSC_PDC
25	tristate "SoC PCM DAI support for AT91 SSC controller using PDC"
26	depends on ATMEL_SSC
27	select SND_ATMEL_SOC_PDC
28	select SND_ATMEL_SOC_SSC
29	help
30	  Say Y or M if you want to add support for Atmel SSC interface
31	  in PDC mode configured using audio-graph-card in device-tree.
32
33config SND_ATMEL_SOC_SSC_DMA
34	tristate "SoC PCM DAI support for AT91 SSC controller using DMA"
35	depends on ATMEL_SSC
36	select SND_ATMEL_SOC_DMA
37	select SND_ATMEL_SOC_SSC
38	help
39	  Say Y or M if you want to add support for Atmel SSC interface
40	  in DMA mode configured using audio-graph-card in device-tree.
41
42config SND_AT91_SOC_SAM9G20_WM8731
43	tristate "SoC Audio support for WM8731-based At91sam9g20 evaluation board"
44	depends on ARCH_AT91 || COMPILE_TEST
45	depends on ATMEL_SSC && I2C
46	select SND_ATMEL_SOC_SSC_PDC
47	select SND_SOC_WM8731_I2C
48	help
49	  Say Y if you want to add support for SoC audio on WM8731-based
50	  AT91sam9g20 evaluation board.
51
52config SND_ATMEL_SOC_WM8904
53	tristate "Atmel ASoC driver for boards using WM8904 codec"
54	depends on ARCH_AT91 || COMPILE_TEST
55	depends on ATMEL_SSC && I2C
56	select SND_ATMEL_SOC_SSC_DMA
57	select SND_SOC_WM8904
58	help
59	  Say Y if you want to add support for Atmel ASoC driver for boards using
60	  WM8904 codec.
61
62config SND_AT91_SOC_SAM9X5_WM8731
63	tristate "SoC Audio support for WM8731-based at91sam9x5 board"
64	depends on ARCH_AT91 || COMPILE_TEST
65	depends on ATMEL_SSC && SND_SOC_I2C_AND_SPI
66	select SND_ATMEL_SOC_SSC_DMA
67	select SND_SOC_WM8731
68	help
69	  Say Y if you want to add support for audio SoC on an
70	  at91sam9x5 based board that is using WM8731 codec.
71
72config SND_ATMEL_SOC_CLASSD
73	tristate "Atmel ASoC driver for boards using CLASSD"
74	depends on ARCH_AT91 || COMPILE_TEST
75	select SND_SOC_GENERIC_DMAENGINE_PCM
76	select REGMAP_MMIO
77	help
78	  Say Y if you want to add support for Atmel ASoC driver for boards using
79	  CLASSD.
80
81config SND_ATMEL_SOC_PDMIC
82	tristate "Atmel ASoC driver for boards using PDMIC"
83	depends on OF && (ARCH_AT91 || COMPILE_TEST)
84	select SND_SOC_GENERIC_DMAENGINE_PCM
85	select REGMAP_MMIO
86	help
87	  Say Y if you want to add support for Atmel ASoC driver for boards using
88	  PDMIC.
89
90config SND_ATMEL_SOC_TSE850_PCM5142
91	tristate "ASoC driver for the Axentia TSE-850"
92	depends on ARCH_AT91 && OF
93	depends on ATMEL_SSC && I2C
94	select SND_ATMEL_SOC_SSC_DMA
95	select SND_SOC_PCM512x_I2C
96	help
97	  Say Y if you want to add support for the ASoC driver for the
98	  Axentia TSE-850 with a PCM5142 codec.
99
100config SND_ATMEL_SOC_I2S
101	tristate "Atmel ASoC driver for boards using I2S"
102	depends on OF && (ARCH_AT91 || COMPILE_TEST)
103	select SND_SOC_GENERIC_DMAENGINE_PCM
104	select REGMAP_MMIO
105	help
106	  Say Y or M if you want to add support for Atmel ASoc driver for boards
107	  using I2S.
108
109config SND_SOC_MIKROE_PROTO
110	tristate "Support for Mikroe-PROTO board"
111	depends on OF
112	depends on SND_SOC_I2C_AND_SPI
113	select SND_SOC_WM8731
114	help
115	  Say Y or M if you want to add support for MikroElektronika PROTO Audio
116	  Board. This board contains the WM8731 codec, which can be configured
117	  using I2C over SDA (MPU Data Input) and SCL (MPU Clock Input) pins.
118	  Both playback and capture are supported.
119
120config SND_MCHP_SOC_I2S_MCC
121	tristate "Microchip ASoC driver for boards using I2S MCC"
122	depends on OF && (ARCH_AT91 || COMPILE_TEST)
123	select SND_SOC_GENERIC_DMAENGINE_PCM
124	select REGMAP_MMIO
125	help
126	  Say Y or M if you want to add support for I2S Multi-Channel ASoC
127	  driver on the following Microchip platforms:
128	  - sam9x60
129	  - sama7g5
130
131	  The I2SMCC complies with the Inter-IC Sound (I2S) bus specification
132	  and supports a Time Division Multiplexed (TDM) interface with
133	  external multi-channel audio codecs.
134	  Starting with sama7g5, I2S and Left-Justified multi-channel is
135	  supported by using multiple data pins, output and input, without TDM.
136
137config SND_MCHP_SOC_SPDIFTX
138	tristate "Microchip ASoC driver for boards using S/PDIF TX"
139	depends on OF && (ARCH_AT91 || COMPILE_TEST)
140	select SND_SOC_GENERIC_DMAENGINE_PCM
141	select REGMAP_MMIO
142	help
143	  Say Y or M if you want to add support for Microchip S/PDIF TX ASoc
144	  driver on the following Microchip platforms:
145	  - sama7g5
146
147	  This S/PDIF TX driver is compliant with IEC-60958 standard and
148	  includes programmable User Data and Channel Status fields.
149
150config SND_MCHP_SOC_SPDIFRX
151	tristate "Microchip ASoC driver for boards using S/PDIF RX"
152	depends on OF && (ARCH_AT91 || COMPILE_TEST)
153	depends on COMMON_CLK
154	select SND_SOC_GENERIC_DMAENGINE_PCM
155	select REGMAP_MMIO
156	help
157	  Say Y or M if you want to add support for Microchip S/PDIF RX ASoc
158	  driver on the following Microchip platforms:
159	  - sama7g5
160
161	  This S/PDIF RX driver is compliant with IEC-60958 standard and
162	  includes programmable User Data and Channel Status fields.
163
164config SND_MCHP_SOC_PDMC
165	tristate "Microchip ASoC driver for boards using PDMC"
166	depends on OF && (ARCH_AT91 || COMPILE_TEST)
167	select SND_SOC_GENERIC_DMAENGINE_PCM
168	select REGMAP_MMIO
169	help
170	  Say Y or M if you want to add support for Microchip ASoC PDMC driver on the
171	  following Microchip platforms:
172	  - sama7g5
173
174	  The Pulse Density Microphone Controller (PDMC) interfaces up to 4 digital
175	  microphones PDM outputs. It generates a single clock line and samples 1 or
176	  2 data lines. The signal path includes an audio grade programmable
177	  decimation filter and outputs 24-bit audio words.
178
179endif
180