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_IPQ5332
52	tristate "Qualcomm Technologies Inc IPQ5332 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 the
58	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
59	  Technologies Inc IPQ5332 platform.
60
61config PINCTRL_IPQ8074
62	tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver"
63	depends on OF
64	depends on ARM64 || COMPILE_TEST
65	depends on PINCTRL_MSM
66	help
67	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
68	  the Qualcomm Technologies Inc. TLMM block found on the
69	  Qualcomm Technologies Inc. IPQ8074 platform. Select this for
70	  IPQ8074.
71
72config PINCTRL_IPQ6018
73	tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver"
74	depends on OF
75	depends on ARM64 || COMPILE_TEST
76	depends on PINCTRL_MSM
77	help
78	  This is the pinctrl, pinmux, pinconf and gpiolib driver for
79	  the Qualcomm Technologies Inc. TLMM block found on the
80	  Qualcomm Technologies Inc. IPQ6018 platform. Select this for
81	  IPQ6018.
82
83config PINCTRL_MSM8226
84	tristate "Qualcomm 8226 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 Technologies Inc TLMM block found on the Qualcomm
91	  Technologies Inc MSM8226 platform.
92
93config PINCTRL_MSM8660
94	tristate "Qualcomm 8660 pin controller driver"
95	depends on OF
96	depends on ARM || COMPILE_TEST
97	depends on PINCTRL_MSM
98	help
99	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
100	  Qualcomm TLMM block found in the Qualcomm 8660 platform.
101
102config PINCTRL_MSM8960
103	tristate "Qualcomm 8960 pin controller driver"
104	depends on OF
105	depends on ARM || COMPILE_TEST
106	depends on PINCTRL_MSM
107	help
108	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
109	  Qualcomm TLMM block found in the Qualcomm 8960 platform.
110
111config PINCTRL_MDM9607
112	tristate "Qualcomm 9607 pin controller driver"
113	depends on GPIOLIB && OF
114	depends on PINCTRL_MSM
115	help
116	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
117	  Qualcomm TLMM block found in the Qualcomm 9607 platform.
118
119config PINCTRL_MDM9615
120	tristate "Qualcomm 9615 pin controller driver"
121	depends on OF
122	depends on ARM || COMPILE_TEST
123	depends on PINCTRL_MSM
124	help
125	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
126	  Qualcomm TLMM block found in the Qualcomm 9615 platform.
127
128config PINCTRL_MSM8X74
129	tristate "Qualcomm 8x74 pin controller driver"
130	depends on OF
131	depends on ARM || COMPILE_TEST
132	depends on PINCTRL_MSM
133	help
134	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
135	  Qualcomm TLMM block found in the Qualcomm 8974 platform.
136
137config PINCTRL_MSM8909
138	tristate "Qualcomm 8909 pin controller driver"
139	depends on OF
140	depends on ARM || COMPILE_TEST
141	depends on PINCTRL_MSM
142	help
143	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
144	  Qualcomm TLMM block found on the Qualcomm MSM8909 platform.
145
146config PINCTRL_MSM8916
147	tristate "Qualcomm 8916 pin controller driver"
148	depends on OF
149	depends on PINCTRL_MSM
150	help
151	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
152	  Qualcomm TLMM block found on the Qualcomm 8916 platform.
153
154config PINCTRL_MSM8953
155	tristate "Qualcomm 8953 pin controller driver"
156	depends on OF
157	depends on ARM64 || COMPILE_TEST
158	depends on PINCTRL_MSM
159	help
160	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
161	  Qualcomm TLMM block found on the Qualcomm MSM8953 platform.
162	  The Qualcomm APQ8053, SDM450, SDM632 platforms are also
163	  supported by this driver.
164
165config PINCTRL_MSM8976
166	tristate "Qualcomm 8976 pin controller driver"
167	depends on OF
168	depends on ARM64 || COMPILE_TEST
169	depends on PINCTRL_MSM
170	help
171	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
172	  Qualcomm TLMM block found on the Qualcomm MSM8976 platform.
173	  The Qualcomm MSM8956, APQ8056, APQ8076 platforms are also
174	  supported by this driver.
175
176config PINCTRL_MSM8994
177	tristate "Qualcomm 8994 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 8994 platform. The
184	  Qualcomm 8992 platform is also supported by this driver.
185
186config PINCTRL_MSM8996
187	tristate "Qualcomm MSM8996 pin controller driver"
188	depends on OF
189	depends on ARM64 || COMPILE_TEST
190	depends on PINCTRL_MSM
191	help
192	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
193	  Qualcomm TLMM block found in the Qualcomm MSM8996 platform.
194
195config PINCTRL_MSM8998
196	tristate "Qualcomm MSM8998 pin controller driver"
197	depends on OF
198	depends on ARM64 || COMPILE_TEST
199	depends on PINCTRL_MSM
200	help
201	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
202	  Qualcomm TLMM block found in the Qualcomm MSM8998 platform.
203
204config PINCTRL_QCM2290
205	tristate "Qualcomm QCM2290 pin controller driver"
206	depends on OF
207	depends on ARM64 || COMPILE_TEST
208	depends on PINCTRL_MSM
209	help
210	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
211	  TLMM block found in the Qualcomm QCM2290 platform.
212
213config PINCTRL_QCS404
214	tristate "Qualcomm QCS404 pin controller driver"
215	depends on OF
216	depends on ARM64 || COMPILE_TEST
217	depends on PINCTRL_MSM
218	help
219	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
220	  TLMM block found in the Qualcomm QCS404 platform.
221
222config PINCTRL_QDF2XXX
223	tristate "Qualcomm Technologies QDF2xxx pin controller driver"
224	depends on ACPI
225	depends on PINCTRL_MSM
226	help
227	  This is the GPIO driver for the TLMM block found on the
228	  Qualcomm Technologies QDF2xxx SOCs.
229
230config PINCTRL_QCOM_SPMI_PMIC
231	tristate "Qualcomm SPMI PMIC pin controller driver"
232	depends on OF && SPMI
233	select REGMAP_SPMI
234	select PINMUX
235	select PINCONF
236	select GENERIC_PINCONF
237  select GPIOLIB
238	select GPIOLIB_IRQCHIP
239	select IRQ_DOMAIN_HIERARCHY
240	help
241	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
242	 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
243	 which are using SPMI for communication with SoC. Example PMIC's
244	 devices are pm8841, pm8941 and pma8084.
245
246config PINCTRL_QCOM_SSBI_PMIC
247	tristate "Qualcomm SSBI PMIC pin controller driver"
248	depends on OF
249	select PINMUX
250	select PINCONF
251	select GENERIC_PINCONF
252  select GPIOLIB
253	select GPIOLIB_IRQCHIP
254	select IRQ_DOMAIN_HIERARCHY
255	help
256	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
257	 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
258	 which are using SSBI for communication with SoC. Example PMIC's
259	 devices are pm8058 and pm8921.
260
261config PINCTRL_QDU1000
262	tristate "Qualcomm Tehcnologies Inc QDU1000/QRU1000 pin controller driver"
263	depends on GPIOLIB && 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 QDU1000 and QRU1000 platforms.
270
271config PINCTRL_SA8775P
272	tristate "Qualcomm Technologies Inc SA8775P pin controller driver"
273	depends on OF
274	depends on ARM64 || COMPILE_TEST
275	depends on PINCTRL_MSM
276	help
277	  This is the pinctrl, pinmux and pinconf driver for the Qualcomm
278	  TLMM block found on the Qualcomm SA8775P platforms.
279
280config PINCTRL_SC7180
281	tristate "Qualcomm Technologies Inc SC7180 pin controller driver"
282	depends on OF
283	depends on ARM64 || COMPILE_TEST
284	depends on PINCTRL_MSM
285	help
286	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
287	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
288	  Technologies Inc SC7180 platform.
289
290config PINCTRL_SC7280
291	tristate "Qualcomm Technologies Inc SC7280 pin controller driver"
292	depends on OF
293	depends on ARM64 || COMPILE_TEST
294	depends on PINCTRL_MSM
295	help
296	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
297	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
298	  Technologies Inc SC7280 platform.
299
300config PINCTRL_SC7280_LPASS_LPI
301	tristate "Qualcomm Technologies Inc SC7280 LPASS LPI pin controller driver"
302	depends on GPIOLIB
303	depends on ARM64 || COMPILE_TEST
304	depends on PINCTRL_LPASS_LPI
305	help
306	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
307	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
308	  (Low Power Island) found on the Qualcomm Technologies Inc SC7280 platform.
309
310config PINCTRL_SC8180X
311	tristate "Qualcomm Technologies Inc SC8180x pin controller driver"
312	depends on (OF || ACPI)
313	depends on ARM64 || COMPILE_TEST
314	depends on PINCTRL_MSM
315	help
316	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
317	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
318	  Technologies Inc SC8180x platform.
319
320config PINCTRL_SC8280XP
321	tristate "Qualcomm Technologies Inc SC8280xp pin controller driver"
322	depends on OF
323	depends on ARM64 || COMPILE_TEST
324	depends on PINCTRL_MSM
325	help
326	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
327	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
328	  Technologies Inc SC8280xp platform.
329
330config PINCTRL_SDM660
331	tristate "Qualcomm Technologies Inc SDM660 pin controller driver"
332	depends on OF
333	depends on ARM64 || COMPILE_TEST
334	depends on PINCTRL_MSM
335	help
336	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
337	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
338	 Technologies Inc SDM660 platform.
339
340config PINCTRL_SDM670
341	tristate "Qualcomm Technologies Inc SDM670 pin controller driver"
342	depends on OF
343	depends on ARM64 || COMPILE_TEST
344	depends on PINCTRL_MSM
345	help
346	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
347	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
348	 Technologies Inc SDM670 platform.
349
350config PINCTRL_SDM845
351	tristate "Qualcomm Technologies Inc SDM845 pin controller driver"
352	depends on (OF || ACPI)
353	depends on ARM64 || COMPILE_TEST
354	depends on PINCTRL_MSM
355	help
356	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
357	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
358	 Technologies Inc SDM845 platform.
359
360config PINCTRL_SDX55
361	tristate "Qualcomm Technologies Inc SDX55 pin controller driver"
362	depends on OF
363	depends on ARM || COMPILE_TEST
364	depends on PINCTRL_MSM
365	help
366	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
367	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
368	 Technologies Inc SDX55 platform.
369
370config PINCTRL_SM6115
371	tristate "Qualcomm Technologies Inc SM6115,SM4250 pin controller driver"
372	depends on GPIOLIB && OF
373	depends on ARM64 || COMPILE_TEST
374	depends on PINCTRL_MSM
375	help
376	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
377	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
378	 Technologies Inc SM6115 and SM4250 platforms.
379
380config PINCTRL_SM6125
381	tristate "Qualcomm Technologies Inc SM6125 pin controller driver"
382	depends on OF
383	depends on ARM64 || COMPILE_TEST
384	depends on PINCTRL_MSM
385	help
386	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
387	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
388	 Technologies Inc SM6125 platform.
389
390config PINCTRL_SM6350
391	tristate "Qualcomm Technologies Inc SM6350 pin controller driver"
392	depends on GPIOLIB && OF
393	depends on ARM64 || COMPILE_TEST
394	depends on PINCTRL_MSM
395	help
396	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
397	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
398	 Technologies Inc SM6350 platform.
399
400config PINCTRL_SM6375
401	tristate "Qualcomm Technologies Inc SM6375 pin controller driver"
402	depends on GPIOLIB && OF
403	depends on ARM64 || COMPILE_TEST
404	depends on PINCTRL_MSM
405	help
406	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
407	 Qualcomm Technologies Inc TLMM block found on the Qualcomm
408	 Technologies Inc SM6375 platform.
409
410config PINCTRL_SDX65
411	tristate "Qualcomm Technologies Inc SDX65 pin controller driver"
412	depends on GPIOLIB && OF
413	depends on ARM || 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 SDX65 platform.
419
420config PINCTRL_SM8150
421	tristate "Qualcomm Technologies Inc SM8150 pin controller driver"
422	depends on 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 SM8150 platform.
429
430config PINCTRL_SM8250
431	tristate "Qualcomm Technologies Inc SM8250 pin controller driver"
432	depends on OF
433	depends on ARM64 || COMPILE_TEST
434	depends on PINCTRL_MSM
435	help
436	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
437	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
438	  Technologies Inc SM8250 platform.
439
440config PINCTRL_SM8250_LPASS_LPI
441	tristate "Qualcomm Technologies Inc SM8250 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 SM8250 platform.
449
450config PINCTRL_SM8350
451	tristate "Qualcomm Technologies Inc SM8350 pin controller driver"
452	depends on ARM64 || COMPILE_TEST
453	depends on PINCTRL_MSM
454	help
455	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
456	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
457	  Technologies Inc SM8350 platform.
458
459config PINCTRL_SM8450
460	tristate "Qualcomm Technologies Inc SM8450 pin controller driver"
461	depends on GPIOLIB && OF
462	depends on ARM64 || COMPILE_TEST
463	depends on PINCTRL_MSM
464	help
465	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
466	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
467	  Technologies Inc SM8450 platform.
468
469config PINCTRL_SM8450_LPASS_LPI
470	tristate "Qualcomm Technologies Inc SM8450 LPASS LPI pin controller driver"
471	depends on GPIOLIB
472	depends on ARM64 || COMPILE_TEST
473	depends on PINCTRL_LPASS_LPI
474	help
475	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
476	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
477	  (Low Power Island) found on the Qualcomm Technologies Inc SM8450 platform.
478
479config PINCTRL_SC8280XP_LPASS_LPI
480	tristate "Qualcomm Technologies Inc SC8280XP LPASS LPI pin controller driver"
481	depends on GPIOLIB
482	depends on ARM64 || COMPILE_TEST
483	depends on PINCTRL_LPASS_LPI
484	help
485	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
486	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
487	  (Low Power Island) found on the Qualcomm Technologies Inc SC8280XP platform.
488
489config PINCTRL_SM8550
490	tristate "Qualcomm Technologies Inc SM8550 pin controller driver"
491	depends on GPIOLIB
492	depends on ARM64 || COMPILE_TEST
493	depends on PINCTRL_MSM
494	help
495	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
496	  Qualcomm Technologies Inc TLMM block found on the Qualcomm
497	  Technologies Inc SM8550 platform.
498
499config PINCTRL_SM8550_LPASS_LPI
500	tristate "Qualcomm Technologies Inc SM8550 LPASS LPI pin controller driver"
501	depends on GPIOLIB
502	depends on ARM64 || COMPILE_TEST
503	depends on PINCTRL_LPASS_LPI
504	help
505	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
506	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
507	  (Low Power Island) found on the Qualcomm Technologies Inc SM8550
508	  platform.
509
510config PINCTRL_LPASS_LPI
511	tristate "Qualcomm Technologies Inc LPASS LPI pin controller driver"
512	select PINMUX
513	select PINCONF
514	select GENERIC_PINCONF
515	select GENERIC_PINCTRL_GROUPS
516	depends on GPIOLIB
517	help
518	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
519	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
520	  (Low Power Island) found on the Qualcomm Technologies Inc SoCs.
521
522endif
523