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	# OF for pinconf_generic_dt_node_to_map_group() from GENERIC_PINCONF
8	depends on OF
9	select QCOM_SCM
10	select PINMUX
11	select PINCONF
12	select GENERIC_PINCONF
13	select GPIOLIB_IRQCHIP
14	select IRQ_DOMAIN_HIERARCHY
15	select IRQ_FASTEOI_HIERARCHY_HANDLERS
16
17source "drivers/pinctrl/qcom/Kconfig.msm"
18
19config PINCTRL_QCOM_SPMI_PMIC
20	tristate "Qualcomm SPMI PMIC pin controller driver"
21	depends on OF && SPMI
22	select REGMAP_SPMI
23	select PINMUX
24	select PINCONF
25	select GENERIC_PINCONF
26	select GPIOLIB
27	select GPIOLIB_IRQCHIP
28	select IRQ_DOMAIN_HIERARCHY
29	help
30	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
31	 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
32	 which are using SPMI for communication with SoC. Example PMIC's
33	 devices are pm8841, pm8941 and pma8084.
34
35config PINCTRL_QCOM_SSBI_PMIC
36	tristate "Qualcomm SSBI PMIC pin controller driver"
37	depends on OF
38	select PINMUX
39	select PINCONF
40	select GENERIC_PINCONF
41	select GPIOLIB
42	select GPIOLIB_IRQCHIP
43	select IRQ_DOMAIN_HIERARCHY
44	help
45	 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
46	 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
47	 which are using SSBI for communication with SoC. Example PMIC's
48	 devices are pm8058 and pm8921.
49
50config PINCTRL_LPASS_LPI
51	tristate "Qualcomm Technologies Inc LPASS LPI pin controller driver"
52	select PINMUX
53	select PINCONF
54	select GENERIC_PINCONF
55	select GENERIC_PINCTRL_GROUPS
56	depends on GPIOLIB
57	help
58	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
59	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
60	  (Low Power Island) found on the Qualcomm Technologies Inc SoCs.
61
62config PINCTRL_SC7280_LPASS_LPI
63	tristate "Qualcomm Technologies Inc SC7280 LPASS LPI pin controller driver"
64	depends on ARM64 || COMPILE_TEST
65	depends on PINCTRL_LPASS_LPI
66	help
67	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
68	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
69	  (Low Power Island) found on the Qualcomm Technologies Inc SC7280 platform.
70
71config PINCTRL_SM6115_LPASS_LPI
72	tristate "Qualcomm Technologies Inc SM6115 LPASS LPI pin controller driver"
73	depends on ARM64 || COMPILE_TEST
74	depends on PINCTRL_LPASS_LPI
75	help
76	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
77	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
78	  (Low Power Island) found on the Qualcomm Technologies Inc SM6115 platform.
79
80config PINCTRL_SM8250_LPASS_LPI
81	tristate "Qualcomm Technologies Inc SM8250 LPASS LPI pin controller driver"
82	depends on ARM64 || COMPILE_TEST
83	depends on PINCTRL_LPASS_LPI
84	help
85	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
86	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
87	  (Low Power Island) found on the Qualcomm Technologies Inc SM8250 platform.
88
89config PINCTRL_SM8350_LPASS_LPI
90	tristate "Qualcomm Technologies Inc SM8350 LPASS LPI pin controller driver"
91	depends on ARM64 || COMPILE_TEST
92	depends on PINCTRL_LPASS_LPI
93	help
94	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
95	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
96	  (Low Power Island) found on the Qualcomm Technologies Inc SM8350
97	  platform.
98
99config PINCTRL_SM8450_LPASS_LPI
100	tristate "Qualcomm Technologies Inc SM8450 LPASS LPI pin controller driver"
101	depends on ARM64 || COMPILE_TEST
102	depends on PINCTRL_LPASS_LPI
103	help
104	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
105	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
106	  (Low Power Island) found on the Qualcomm Technologies Inc SM8450 platform.
107
108config PINCTRL_SC8280XP_LPASS_LPI
109	tristate "Qualcomm Technologies Inc SC8280XP LPASS LPI pin controller driver"
110	depends on ARM64 || COMPILE_TEST
111	depends on PINCTRL_LPASS_LPI
112	help
113	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
114	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
115	  (Low Power Island) found on the Qualcomm Technologies Inc SC8280XP platform.
116
117config PINCTRL_SM8550_LPASS_LPI
118	tristate "Qualcomm Technologies Inc SM8550 LPASS LPI pin controller driver"
119	depends on ARM64 || COMPILE_TEST
120	depends on PINCTRL_LPASS_LPI
121	help
122	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
123	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
124	  (Low Power Island) found on the Qualcomm Technologies Inc SM8550
125	  platform.
126
127config PINCTRL_SM8650_LPASS_LPI
128	tristate "Qualcomm Technologies Inc SM8650 LPASS LPI pin controller driver"
129	depends on ARM64 || COMPILE_TEST
130	depends on PINCTRL_LPASS_LPI
131	help
132	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
133	  Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
134	  (Low Power Island) found on the Qualcomm Technologies Inc SM8650
135	  platform.
136
137endif
138