1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig SND_SOC_QCOM
3	tristate "ASoC support for QCOM platforms"
4	depends on ARCH_QCOM || COMPILE_TEST
5	help
6	  Say Y or M if you want to add support to use audio devices
7	  in Qualcomm Technologies SOC-based platforms.
8
9if SND_SOC_QCOM
10
11config SND_SOC_LPASS_CPU
12	tristate
13	select REGMAP_MMIO
14
15config SND_SOC_LPASS_HDMI
16	tristate
17	select REGMAP_MMIO
18
19config SND_SOC_LPASS_PLATFORM
20	tristate
21	select REGMAP_MMIO
22
23config SND_SOC_LPASS_CDC_DMA
24	tristate
25	select REGMAP_MMIO
26
27config SND_SOC_LPASS_IPQ806X
28	tristate
29	select SND_SOC_LPASS_CPU
30	select SND_SOC_LPASS_PLATFORM
31
32config SND_SOC_LPASS_APQ8016
33	tristate
34	select SND_SOC_LPASS_CPU
35	select SND_SOC_LPASS_PLATFORM
36
37config SND_SOC_LPASS_SC7180
38	tristate
39	select SND_SOC_LPASS_CPU
40	select SND_SOC_LPASS_PLATFORM
41	select SND_SOC_LPASS_HDMI
42
43config SND_SOC_LPASS_SC7280
44	tristate
45	select SND_SOC_LPASS_CPU
46	select SND_SOC_LPASS_PLATFORM
47	select SND_SOC_LPASS_HDMI
48	select SND_SOC_LPASS_CDC_DMA
49
50config SND_SOC_STORM
51	tristate "ASoC I2S support for Storm boards"
52	depends on GPIOLIB
53	select SND_SOC_LPASS_IPQ806X
54	select SND_SOC_MAX98357A
55	help
56	  Say Y or M if you want add support for SoC audio on the
57	  Qualcomm Technologies IPQ806X-based Storm board.
58
59config SND_SOC_APQ8016_SBC
60	tristate "SoC Audio support for APQ8016 SBC platforms"
61	select SND_SOC_LPASS_APQ8016
62	select SND_SOC_QCOM_COMMON
63	help
64	  Support for Qualcomm Technologies LPASS audio block in
65	  APQ8016 SOC-based systems.
66	  Say Y if you want to use audio devices on MI2S.
67
68config SND_SOC_QCOM_COMMON
69	tristate
70
71config SND_SOC_QCOM_SDW
72	tristate
73
74config SND_SOC_QDSP6_COMMON
75	tristate
76
77config SND_SOC_QDSP6_CORE
78	tristate
79
80config SND_SOC_QDSP6_AFE
81	tristate
82
83config SND_SOC_QDSP6_AFE_DAI
84	tristate
85
86config SND_SOC_QDSP6_AFE_CLOCKS
87	tristate
88
89config SND_SOC_QDSP6_ADM
90	tristate
91
92config SND_SOC_QDSP6_ROUTING
93	tristate
94
95config SND_SOC_QDSP6_ASM
96	tristate
97
98config SND_SOC_QDSP6_ASM_DAI
99	select SND_SOC_COMPRESS
100	tristate
101
102config SND_SOC_QDSP6_APM_DAI
103	tristate
104	select SND_SOC_COMPRESS
105
106config SND_SOC_QDSP6_APM_LPASS_DAI
107	tristate
108
109config SND_SOC_QDSP6_APM
110	tristate
111	select SND_SOC_QDSP6_APM_DAI
112	select SND_SOC_QDSP6_APM_LPASS_DAI
113
114config SND_SOC_QDSP6_PRM_LPASS_CLOCKS
115	tristate
116
117config SND_SOC_QDSP6_PRM
118	tristate
119	select SND_SOC_QDSP6_PRM_LPASS_CLOCKS
120
121config SND_SOC_QDSP6
122	tristate "SoC ALSA audio driver for QDSP6"
123	depends on QCOM_APR
124	depends on COMMON_CLK
125	select SND_SOC_QDSP6_COMMON
126	select SND_SOC_QDSP6_CORE
127	select SND_SOC_QDSP6_AFE
128	select SND_SOC_QDSP6_AFE_DAI
129	select SND_SOC_QDSP6_AFE_CLOCKS
130	select SND_SOC_QDSP6_ADM
131	select SND_SOC_QDSP6_ROUTING
132	select SND_SOC_QDSP6_ASM
133	select SND_SOC_QDSP6_ASM_DAI
134	select SND_SOC_TOPOLOGY
135	select SND_SOC_QDSP6_APM
136	select SND_SOC_QDSP6_PRM
137	help
138	 To add support for MSM QDSP6 Soc Audio.
139	 This will enable sound soc platform specific
140	 audio drivers. This includes q6asm, q6adm,
141	 q6afe interfaces to DSP using apr.
142
143config SND_SOC_MSM8996
144	tristate "SoC Machine driver for MSM8996 and APQ8096 boards"
145	depends on QCOM_APR
146	depends on COMMON_CLK
147	select SND_SOC_QDSP6
148	select SND_SOC_QCOM_COMMON
149	help
150	  Support for Qualcomm Technologies LPASS audio block in
151	  APQ8096 SoC-based systems.
152	  Say Y if you want to use audio device on this SoCs
153
154config SND_SOC_SDM845
155	tristate "SoC Machine driver for SDM845 boards"
156	depends on QCOM_APR && I2C && SOUNDWIRE
157	depends on COMMON_CLK
158	select SND_SOC_QDSP6
159	select SND_SOC_QCOM_COMMON
160	select SND_SOC_RT5663
161	select SND_SOC_MAX98927
162	imply SND_SOC_CROS_EC_CODEC
163	help
164	  To add support for audio on Qualcomm Technologies Inc.
165	  SDM845 SoC-based systems.
166	  Say Y if you want to use audio device on this SoCs.
167
168config SND_SOC_SM8250
169	tristate "SoC Machine driver for SM8250 boards"
170	depends on QCOM_APR && SOUNDWIRE
171	depends on COMMON_CLK
172	select SND_SOC_QDSP6
173	select SND_SOC_QCOM_COMMON
174	select SND_SOC_QCOM_SDW
175	help
176	  To add support for audio on Qualcomm Technologies Inc.
177	  SM8250 SoC-based systems.
178	  Say Y if you want to use audio device on this SoCs.
179
180config SND_SOC_SC8280XP
181	tristate "SoC Machine driver for SC8280XP boards"
182	depends on QCOM_APR && SOUNDWIRE
183	depends on COMMON_CLK
184	select SND_SOC_QDSP6
185	select SND_SOC_QCOM_COMMON
186	select SND_SOC_QCOM_SDW
187	help
188	  To add support for audio on Qualcomm Technologies Inc.
189	  SC8280XP SoC-based systems.
190	  Say Y if you want to use audio device on this SoCs.
191
192config SND_SOC_SC7180
193	tristate "SoC Machine driver for SC7180 boards"
194	depends on I2C && GPIOLIB
195	depends on SOUNDWIRE || SOUNDWIRE=n
196	select SND_SOC_QCOM_COMMON
197	select SND_SOC_LPASS_SC7180
198	select SND_SOC_MAX98357A
199	select SND_SOC_RT5682_I2C
200	select SND_SOC_RT5682S
201	select SND_SOC_ADAU7002
202	help
203	  To add support for audio on Qualcomm Technologies Inc.
204	  SC7180 SoC-based systems.
205	  Say Y if you want to use audio device on this SoCs.
206
207config SND_SOC_SC7280
208	tristate "SoC Machine driver for SC7280 boards"
209	depends on I2C && SOUNDWIRE
210	select SND_SOC_QCOM_COMMON
211	select SND_SOC_LPASS_SC7280
212	select SND_SOC_MAX98357A
213	select SND_SOC_WCD938X_SDW
214	select SND_SOC_LPASS_MACRO_COMMON
215	imply SND_SOC_LPASS_RX_MACRO
216	imply SND_SOC_LPASS_TX_MACRO
217	select SND_SOC_RT5682_I2C
218	select SND_SOC_RT5682S
219	help
220	  Add support for audio on Qualcomm Technologies Inc.
221	  SC7280 SoC-based systems.
222	  Say Y or M if you want to use audio device on this SoCs.
223
224endif #SND_SOC_QCOM
225