1# SPDX-License-Identifier: GPL-2.0-only
2if (ARCH_QCOM || COMPILE_TEST)
3
4config PINCTRL_MSM
5	tristate "Qualcomm core pin controller driver"
6	depends on GPIOLIB
7	select QCOM_SCM
8	select PINMUX
9	select PINCONF
10	select GENERIC_PINCONF
11	select GPIOLIB_IRQCHIP
12	select IRQ_DOMAIN_HIERARCHY
13	select IRQ_FASTEOI_HIERARCHY_HANDLERS
14
15config PINCTRL_APQ8064
16	tristate "Qualcomm APQ8064 pin controller driver"
17	depends on OF
18	depends on ARM || COMPILE_TEST
19	depends on PINCTRL_MSM
20	help
21	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
22	  Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
23
24config PINCTRL_APQ8084
25	tristate "Qualcomm APQ8084 pin controller driver"
26	depends on OF
27	depends on ARM || COMPILE_TEST
28	depends on PINCTRL_MSM
29	help
30	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
31	  Qualcomm TLMM block found in the Qualcomm APQ8084 platform.
32
33config PINCTRL_IPQ4019
34	tristate "Qualcomm IPQ4019 pin controller driver"
35	depends on OF
36	depends on ARM || COMPILE_TEST
37	depends on PINCTRL_MSM
38	help
39	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
40	  Qualcomm TLMM block found in the Qualcomm IPQ4019 platform.
41
42config PINCTRL_IPQ8064
43	tristate "Qualcomm IPQ8064 pin controller driver"
44	depends on OF
45	depends on ARM || COMPILE_TEST
46	depends on PINCTRL_MSM
47	help
48	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
49	  Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
50
51config PINCTRL_IPQ8074
52	tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver"
53	depends on OF
54	depends on ARM64 || COMPILE_TEST
55	depends on PINCTRL_MSM
56	help
57	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
58	  the Qualcomm Technologies Inc. TLMM block found on the
59	  Qualcomm Technologies Inc. IPQ8074 platform. Select this for
60	  IPQ8074.
61
62config PINCTRL_IPQ6018
63	tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver"
64	depends on OF
65	depends on ARM64 || COMPILE_TEST
66	depends on PINCTRL_MSM
67	help
68	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
69	  the Qualcomm Technologies Inc. TLMM block found on the
70	  Qualcomm Technologies Inc. IPQ6018 platform. Select this for
71	  IPQ6018.
72
73config PINCTRL_MSM8226
74	tristate "Qualcomm 8226 pin controller driver"
75	depends on OF
76	depends on ARM || COMPILE_TEST
77	depends on PINCTRL_MSM
78	help
79	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
80	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
81	  Technologies Inc MSM8226 platform.
82
83config PINCTRL_MSM8660
84	tristate "Qualcomm 8660 pin controller driver"
85	depends on OF
86	depends on ARM || COMPILE_TEST
87	depends on PINCTRL_MSM
88	help
89	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
90	  Qualcomm TLMM block found in the Qualcomm 8660 platform.
91
92config PINCTRL_MSM8960
93	tristate "Qualcomm 8960 pin controller driver"
94	depends on OF
95	depends on ARM || COMPILE_TEST
96	depends on PINCTRL_MSM
97	help
98	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
99	  Qualcomm TLMM block found in the Qualcomm 8960 platform.
100
101config PINCTRL_MDM9607
102	tristate "Qualcomm 9607 pin controller driver"
103	depends on GPIOLIB && OF
104	depends on PINCTRL_MSM
105	help
106	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
107	  Qualcomm TLMM block found in the Qualcomm 9607 platform.
108
109config PINCTRL_MDM9615
110	tristate "Qualcomm 9615 pin controller driver"
111	depends on OF
112	depends on ARM || COMPILE_TEST
113	depends on PINCTRL_MSM
114	help
115	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
116	  Qualcomm TLMM block found in the Qualcomm 9615 platform.
117
118config PINCTRL_MSM8X74
119	tristate "Qualcomm 8x74 pin controller driver"
120	depends on OF
121	depends on ARM || COMPILE_TEST
122	depends on PINCTRL_MSM
123	help
124	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
125	  Qualcomm TLMM block found in the Qualcomm 8974 platform.
126
127config PINCTRL_MSM8909
128	tristate "Qualcomm 8909 pin controller driver"
129	depends on OF
130	depends on ARM || COMPILE_TEST
131	depends on PINCTRL_MSM
132	help
133	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
134	  Qualcomm TLMM block found on the Qualcomm MSM8909 platform.
135
136config PINCTRL_MSM8916
137	tristate "Qualcomm 8916 pin controller driver"
138	depends on OF
139	depends on PINCTRL_MSM
140	help
141	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
142	  Qualcomm TLMM block found on the Qualcomm 8916 platform.
143
144config PINCTRL_MSM8953
145	tristate "Qualcomm 8953 pin controller driver"
146	depends on OF
147	depends on ARM64 || COMPILE_TEST
148	depends on PINCTRL_MSM
149	help
150	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
151	  Qualcomm TLMM block found on the Qualcomm MSM8953 platform.
152	  The Qualcomm APQ8053, SDM450, SDM632 platforms are also
153	  supported by this driver.
154
155config PINCTRL_MSM8976
156	tristate "Qualcomm 8976 pin controller driver"
157	depends on OF
158	depends on ARM64 || COMPILE_TEST
159	depends on PINCTRL_MSM
160	help
161	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
162	  Qualcomm TLMM block found on the Qualcomm MSM8976 platform.
163	  The Qualcomm MSM8956, APQ8056, APQ8076 platforms are also
164	  supported by this driver.
165
166config PINCTRL_MSM8994
167	tristate "Qualcomm 8994 pin controller driver"
168	depends on OF
169	depends on ARM64 || COMPILE_TEST
170	depends on PINCTRL_MSM
171	help
172	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
173	  Qualcomm TLMM block found in the Qualcomm 8994 platform. The
174	  Qualcomm 8992 platform is also supported by this driver.
175
176config PINCTRL_MSM8996
177	tristate "Qualcomm MSM8996 pin controller driver"
178	depends on OF
179	depends on ARM64 || COMPILE_TEST
180	depends on PINCTRL_MSM
181	help
182	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
183	  Qualcomm TLMM block found in the Qualcomm MSM8996 platform.
184
185config PINCTRL_MSM8998
186	tristate "Qualcomm MSM8998 pin controller driver"
187	depends on OF
188	depends on ARM64 || COMPILE_TEST
189	depends on PINCTRL_MSM
190	help
191	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
192	  Qualcomm TLMM block found in the Qualcomm MSM8998 platform.
193
194config PINCTRL_QCM2290
195	tristate "Qualcomm QCM2290 pin controller driver"
196	depends on OF
197	depends on ARM64 || COMPILE_TEST
198	depends on PINCTRL_MSM
199	help
200	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
201	  TLMM block found in the Qualcomm QCM2290 platform.
202
203config PINCTRL_QCS404
204	tristate "Qualcomm QCS404 pin controller driver"
205	depends on OF
206	depends on ARM64 || COMPILE_TEST
207	depends on PINCTRL_MSM
208	help
209	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
210	  TLMM block found in the Qualcomm QCS404 platform.
211
212config PINCTRL_QDF2XXX
213	tristate "Qualcomm Technologies QDF2xxx pin controller driver"
214	depends on ACPI
215	depends on PINCTRL_MSM
216	help
217	  This is the GPIO driver for the TLMM block found on the
218	  Qualcomm Technologies QDF2xxx SOCs.
219
220config PINCTRL_QCOM_SPMI_PMIC
221	tristate "Qualcomm SPMI PMIC pin controller driver"
222	depends on OF && SPMI
223	select REGMAP_SPMI
224	select PINMUX
225	select PINCONF
226	select GENERIC_PINCONF
227  select GPIOLIB
228	select GPIOLIB_IRQCHIP
229	select IRQ_DOMAIN_HIERARCHY
230	help
231	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
232	 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
233	 which are using SPMI for communication with SoC. Example PMIC's
234	 devices are pm8841, pm8941 and pma8084.
235
236config PINCTRL_QCOM_SSBI_PMIC
237	tristate "Qualcomm SSBI PMIC pin controller driver"
238	depends on OF
239	select PINMUX
240	select PINCONF
241	select GENERIC_PINCONF
242  select GPIOLIB
243	select GPIOLIB_IRQCHIP
244	select IRQ_DOMAIN_HIERARCHY
245	help
246	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
247	 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
248	 which are using SSBI for communication with SoC. Example PMIC's
249	 devices are pm8058 and pm8921.
250
251config PINCTRL_SC7180
252	tristate "Qualcomm Technologies Inc SC7180 pin controller driver"
253	depends on OF
254	depends on ARM64 || COMPILE_TEST
255	depends on PINCTRL_MSM
256	help
257	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
258	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
259	  Technologies Inc SC7180 platform.
260
261config PINCTRL_SC7280
262	tristate "Qualcomm Technologies Inc SC7280 pin controller driver"
263	depends on OF
264	depends on ARM64 || COMPILE_TEST
265	depends on PINCTRL_MSM
266	help
267	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
268	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
269	  Technologies Inc SC7280 platform.
270
271config PINCTRL_SC7280_LPASS_LPI
272	tristate "Qualcomm Technologies Inc SC7280 LPASS LPI pin controller driver"
273	depends on GPIOLIB
274	depends on ARM64 || COMPILE_TEST
275	depends on PINCTRL_LPASS_LPI
276	help
277	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
278	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
279	  (Low Power Island) found on the Qualcomm Technologies Inc SC7280 platform.
280
281config PINCTRL_SC8180X
282	tristate "Qualcomm Technologies Inc SC8180x pin controller driver"
283	depends on (OF || ACPI)
284	depends on ARM64 || COMPILE_TEST
285	depends on PINCTRL_MSM
286	help
287	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
288	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
289	  Technologies Inc SC8180x platform.
290
291config PINCTRL_SC8280XP
292	tristate "Qualcomm Technologies Inc SC8280xp pin controller driver"
293	depends on OF
294	depends on ARM64 || COMPILE_TEST
295	depends on PINCTRL_MSM
296	help
297	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
298	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
299	  Technologies Inc SC8280xp platform.
300
301config PINCTRL_SDM660
302	tristate "Qualcomm Technologies Inc SDM660 pin controller driver"
303	depends on OF
304	depends on ARM64 || COMPILE_TEST
305	depends on PINCTRL_MSM
306	help
307	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
308	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
309	 Technologies Inc SDM660 platform.
310
311config PINCTRL_SDM845
312	tristate "Qualcomm Technologies Inc SDM845 pin controller driver"
313	depends on (OF || ACPI)
314	depends on ARM64 || COMPILE_TEST
315	depends on PINCTRL_MSM
316	help
317	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
318	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
319	 Technologies Inc SDM845 platform.
320
321config PINCTRL_SDX55
322	tristate "Qualcomm Technologies Inc SDX55 pin controller driver"
323	depends on OF
324	depends on ARM || COMPILE_TEST
325	depends on PINCTRL_MSM
326	help
327	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
328	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
329	 Technologies Inc SDX55 platform.
330
331config PINCTRL_SM6115
332	tristate "Qualcomm Technologies Inc SM6115,SM4250 pin controller driver"
333	depends on GPIOLIB && OF
334	depends on ARM64 || COMPILE_TEST
335	depends on PINCTRL_MSM
336	help
337	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
338	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
339	 Technologies Inc SM6115 and SM4250 platforms.
340
341config PINCTRL_SM6125
342	tristate "Qualcomm Technologies Inc SM6125 pin controller driver"
343	depends on OF
344	depends on ARM64 || COMPILE_TEST
345	depends on PINCTRL_MSM
346	help
347	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
348	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
349	 Technologies Inc SM6125 platform.
350
351config PINCTRL_SM6350
352	tristate "Qualcomm Technologies Inc SM6350 pin controller driver"
353	depends on GPIOLIB && OF
354	depends on ARM64 || COMPILE_TEST
355	depends on PINCTRL_MSM
356	help
357	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
358	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
359	 Technologies Inc SM6350 platform.
360
361config PINCTRL_SM6375
362	tristate "Qualcomm Technologies Inc SM6375 pin controller driver"
363	depends on GPIOLIB && OF
364	depends on ARM64 || COMPILE_TEST
365	depends on PINCTRL_MSM
366	help
367	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
368	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
369	 Technologies Inc SM6375 platform.
370
371config PINCTRL_SDX65
372	tristate "Qualcomm Technologies Inc SDX65 pin controller driver"
373	depends on GPIOLIB && OF
374	depends on ARM || COMPILE_TEST
375	depends on PINCTRL_MSM
376	help
377	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
378	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
379	 Technologies Inc SDX65 platform.
380
381config PINCTRL_SM8150
382	tristate "Qualcomm Technologies Inc SM8150 pin controller driver"
383	depends on OF
384	depends on ARM64 || COMPILE_TEST
385	depends on PINCTRL_MSM
386	help
387	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
388	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
389	 Technologies Inc SM8150 platform.
390
391config PINCTRL_SM8250
392	tristate "Qualcomm Technologies Inc SM8250 pin controller driver"
393	depends on OF
394	depends on ARM64 || COMPILE_TEST
395	depends on PINCTRL_MSM
396	help
397	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
398	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
399	  Technologies Inc SM8250 platform.
400
401config PINCTRL_SM8250_LPASS_LPI
402	tristate "Qualcomm Technologies Inc SM8250 LPASS LPI pin controller driver"
403	depends on GPIOLIB
404	depends on ARM64 || COMPILE_TEST
405	depends on PINCTRL_LPASS_LPI
406	help
407	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
408	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
409	  (Low Power Island) found on the Qualcomm Technologies Inc SM8250 platform.
410
411config PINCTRL_SM8350
412	tristate "Qualcomm Technologies Inc SM8350 pin controller driver"
413	depends on ARM64 || COMPILE_TEST
414	depends on PINCTRL_MSM
415	help
416	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
417	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
418	  Technologies Inc SM8350 platform.
419
420config PINCTRL_SM8450
421	tristate "Qualcomm Technologies Inc SM8450 pin controller driver"
422	depends on GPIOLIB && OF
423	depends on ARM64 || COMPILE_TEST
424	depends on PINCTRL_MSM
425	help
426	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
427	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
428	  Technologies Inc SM8450 platform.
429
430config PINCTRL_SM8450_LPASS_LPI
431	tristate "Qualcomm Technologies Inc SM8450 LPASS LPI pin controller driver"
432	depends on GPIOLIB
433	depends on ARM64 || COMPILE_TEST
434	depends on PINCTRL_LPASS_LPI
435	help
436	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
437	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
438	  (Low Power Island) found on the Qualcomm Technologies Inc SM8450 platform.
439
440config PINCTRL_SC8280XP_LPASS_LPI
441	tristate "Qualcomm Technologies Inc SC8280XP LPASS LPI pin controller driver"
442	depends on GPIOLIB
443	depends on ARM64 || COMPILE_TEST
444	depends on PINCTRL_LPASS_LPI
445	help
446	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
447	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
448	  (Low Power Island) found on the Qualcomm Technologies Inc SC8280XP platform.
449
450config PINCTRL_LPASS_LPI
451	tristate "Qualcomm Technologies Inc LPASS LPI pin controller driver"
452	select PINMUX
453	select PINCONF
454	select GENERIC_PINCONF
455	select GENERIC_PINCTRL_GROUPS
456	depends on GPIOLIB
457	help
458	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
459	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
460	  (Low Power Island) found on the Qualcomm Technologies Inc SoCs.
461
462endif
463