0001 # SPDX-License-Identifier: GPL-2.0-only
0002 if (ARCH_QCOM || COMPILE_TEST)
0003
0004 config PINCTRL_MSM
0005 tristate "Qualcomm core pin controller driver"
0006 depends on GPIOLIB
0007 select QCOM_SCM
0008 select PINMUX
0009 select PINCONF
0010 select GENERIC_PINCONF
0011 select GPIOLIB_IRQCHIP
0012 select IRQ_DOMAIN_HIERARCHY
0013 select IRQ_FASTEOI_HIERARCHY_HANDLERS
0014
0015 config PINCTRL_APQ8064
0016 tristate "Qualcomm APQ8064 pin controller driver"
0017 depends on OF
0018 depends on PINCTRL_MSM
0019 help
0020 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0021 Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
0022
0023 config PINCTRL_APQ8084
0024 tristate "Qualcomm APQ8084 pin controller driver"
0025 depends on OF
0026 depends on PINCTRL_MSM
0027 help
0028 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0029 Qualcomm TLMM block found in the Qualcomm APQ8084 platform.
0030
0031 config PINCTRL_IPQ4019
0032 tristate "Qualcomm IPQ4019 pin controller driver"
0033 depends on OF
0034 depends on PINCTRL_MSM
0035 help
0036 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0037 Qualcomm TLMM block found in the Qualcomm IPQ4019 platform.
0038
0039 config PINCTRL_IPQ8064
0040 tristate "Qualcomm IPQ8064 pin controller driver"
0041 depends on OF
0042 depends on PINCTRL_MSM
0043 help
0044 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0045 Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
0046
0047 config PINCTRL_IPQ8074
0048 tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver"
0049 depends on OF
0050 depends on PINCTRL_MSM
0051 help
0052 This is the pinctrl, pinmux, pinconf and gpiolib driver for
0053 the Qualcomm Technologies Inc. TLMM block found on the
0054 Qualcomm Technologies Inc. IPQ8074 platform. Select this for
0055 IPQ8074.
0056
0057 config PINCTRL_IPQ6018
0058 tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver"
0059 depends on OF
0060 depends on PINCTRL_MSM
0061 help
0062 This is the pinctrl, pinmux, pinconf and gpiolib driver for
0063 the Qualcomm Technologies Inc. TLMM block found on the
0064 Qualcomm Technologies Inc. IPQ6018 platform. Select this for
0065 IPQ6018.
0066
0067 config PINCTRL_MSM8226
0068 tristate "Qualcomm 8226 pin controller driver"
0069 depends on OF
0070 depends on PINCTRL_MSM
0071 help
0072 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0073 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0074 Technologies Inc MSM8226 platform.
0075
0076 config PINCTRL_MSM8660
0077 tristate "Qualcomm 8660 pin controller driver"
0078 depends on OF
0079 depends on PINCTRL_MSM
0080 help
0081 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0082 Qualcomm TLMM block found in the Qualcomm 8660 platform.
0083
0084 config PINCTRL_MSM8960
0085 tristate "Qualcomm 8960 pin controller driver"
0086 depends on OF
0087 depends on PINCTRL_MSM
0088 help
0089 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0090 Qualcomm TLMM block found in the Qualcomm 8960 platform.
0091
0092 config PINCTRL_MDM9607
0093 tristate "Qualcomm 9607 pin controller driver"
0094 depends on GPIOLIB && OF
0095 depends on PINCTRL_MSM
0096 help
0097 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0098 Qualcomm TLMM block found in the Qualcomm 9607 platform.
0099
0100 config PINCTRL_MDM9615
0101 tristate "Qualcomm 9615 pin controller driver"
0102 depends on OF
0103 depends on PINCTRL_MSM
0104 help
0105 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0106 Qualcomm TLMM block found in the Qualcomm 9615 platform.
0107
0108 config PINCTRL_MSM8X74
0109 tristate "Qualcomm 8x74 pin controller driver"
0110 depends on OF
0111 depends on PINCTRL_MSM
0112 help
0113 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0114 Qualcomm TLMM block found in the Qualcomm 8974 platform.
0115
0116 config PINCTRL_MSM8909
0117 tristate "Qualcomm 8909 pin controller driver"
0118 depends on OF
0119 depends on PINCTRL_MSM
0120 help
0121 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0122 Qualcomm TLMM block found on the Qualcomm MSM8909 platform.
0123
0124 config PINCTRL_MSM8916
0125 tristate "Qualcomm 8916 pin controller driver"
0126 depends on OF
0127 depends on PINCTRL_MSM
0128 help
0129 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0130 Qualcomm TLMM block found on the Qualcomm 8916 platform.
0131
0132 config PINCTRL_MSM8953
0133 tristate "Qualcomm 8953 pin controller driver"
0134 depends on OF
0135 depends on PINCTRL_MSM
0136 help
0137 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0138 Qualcomm TLMM block found on the Qualcomm MSM8953 platform.
0139 The Qualcomm APQ8053, SDM450, SDM632 platforms are also
0140 supported by this driver.
0141
0142 config PINCTRL_MSM8976
0143 tristate "Qualcomm 8976 pin controller driver"
0144 depends on OF
0145 depends on PINCTRL_MSM
0146 help
0147 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0148 Qualcomm TLMM block found on the Qualcomm MSM8976 platform.
0149 The Qualcomm MSM8956, APQ8056, APQ8076 platforms are also
0150 supported by this driver.
0151
0152 config PINCTRL_MSM8994
0153 tristate "Qualcomm 8994 pin controller driver"
0154 depends on OF
0155 depends on PINCTRL_MSM
0156 help
0157 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0158 Qualcomm TLMM block found in the Qualcomm 8994 platform. The
0159 Qualcomm 8992 platform is also supported by this driver.
0160
0161 config PINCTRL_MSM8996
0162 tristate "Qualcomm MSM8996 pin controller driver"
0163 depends on OF
0164 depends on PINCTRL_MSM
0165 help
0166 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0167 Qualcomm TLMM block found in the Qualcomm MSM8996 platform.
0168
0169 config PINCTRL_MSM8998
0170 tristate "Qualcomm MSM8998 pin controller driver"
0171 depends on OF
0172 depends on PINCTRL_MSM
0173 help
0174 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0175 Qualcomm TLMM block found in the Qualcomm MSM8998 platform.
0176
0177 config PINCTRL_QCM2290
0178 tristate "Qualcomm QCM2290 pin controller driver"
0179 depends on OF
0180 depends on PINCTRL_MSM
0181 help
0182 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0183 TLMM block found in the Qualcomm QCM2290 platform.
0184
0185 config PINCTRL_QCS404
0186 tristate "Qualcomm QCS404 pin controller driver"
0187 depends on OF
0188 depends on PINCTRL_MSM
0189 help
0190 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0191 TLMM block found in the Qualcomm QCS404 platform.
0192
0193 config PINCTRL_QDF2XXX
0194 tristate "Qualcomm Technologies QDF2xxx pin controller driver"
0195 depends on ACPI
0196 depends on PINCTRL_MSM
0197 help
0198 This is the GPIO driver for the TLMM block found on the
0199 Qualcomm Technologies QDF2xxx SOCs.
0200
0201 config PINCTRL_QCOM_SPMI_PMIC
0202 tristate "Qualcomm SPMI PMIC pin controller driver"
0203 depends on OF && SPMI
0204 select REGMAP_SPMI
0205 select PINMUX
0206 select PINCONF
0207 select GENERIC_PINCONF
0208 select GPIOLIB
0209 select GPIOLIB_IRQCHIP
0210 select IRQ_DOMAIN_HIERARCHY
0211 help
0212 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0213 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
0214 which are using SPMI for communication with SoC. Example PMIC's
0215 devices are pm8841, pm8941 and pma8084.
0216
0217 config PINCTRL_QCOM_SSBI_PMIC
0218 tristate "Qualcomm SSBI PMIC pin controller driver"
0219 depends on OF
0220 select PINMUX
0221 select PINCONF
0222 select GENERIC_PINCONF
0223 select GPIOLIB
0224 select GPIOLIB_IRQCHIP
0225 select IRQ_DOMAIN_HIERARCHY
0226 help
0227 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0228 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
0229 which are using SSBI for communication with SoC. Example PMIC's
0230 devices are pm8058 and pm8921.
0231
0232 config PINCTRL_SC7180
0233 tristate "Qualcomm Technologies Inc SC7180 pin controller driver"
0234 depends on OF
0235 depends on PINCTRL_MSM
0236 help
0237 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0238 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0239 Technologies Inc SC7180 platform.
0240
0241 config PINCTRL_SC7280
0242 tristate "Qualcomm Technologies Inc SC7280 pin controller driver"
0243 depends on OF
0244 depends on PINCTRL_MSM
0245 help
0246 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0247 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0248 Technologies Inc SC7280 platform.
0249
0250 config PINCTRL_SC7280_LPASS_LPI
0251 tristate "Qualcomm Technologies Inc SC7280 LPASS LPI pin controller driver"
0252 depends on GPIOLIB
0253 depends on PINCTRL_LPASS_LPI
0254 help
0255 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0256 Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
0257 (Low Power Island) found on the Qualcomm Technologies Inc SC7280 platform.
0258
0259 config PINCTRL_SC8180X
0260 tristate "Qualcomm Technologies Inc SC8180x pin controller driver"
0261 depends on (OF || ACPI)
0262 depends on PINCTRL_MSM
0263 help
0264 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0265 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0266 Technologies Inc SC8180x platform.
0267
0268 config PINCTRL_SC8280XP
0269 tristate "Qualcomm Technologies Inc SC8280xp pin controller driver"
0270 depends on OF
0271 depends on PINCTRL_MSM
0272 help
0273 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0274 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0275 Technologies Inc SC8280xp platform.
0276
0277 config PINCTRL_SDM660
0278 tristate "Qualcomm Technologies Inc SDM660 pin controller driver"
0279 depends on OF
0280 depends on PINCTRL_MSM
0281 help
0282 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0283 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0284 Technologies Inc SDM660 platform.
0285
0286 config PINCTRL_SDM845
0287 tristate "Qualcomm Technologies Inc SDM845 pin controller driver"
0288 depends on (OF || ACPI)
0289 depends on PINCTRL_MSM
0290 help
0291 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0292 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0293 Technologies Inc SDM845 platform.
0294
0295 config PINCTRL_SDX55
0296 tristate "Qualcomm Technologies Inc SDX55 pin controller driver"
0297 depends on OF
0298 depends on PINCTRL_MSM
0299 help
0300 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0301 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0302 Technologies Inc SDX55 platform.
0303
0304 config PINCTRL_SM6115
0305 tristate "Qualcomm Technologies Inc SM6115,SM4250 pin controller driver"
0306 depends on GPIOLIB && OF
0307 depends on PINCTRL_MSM
0308 help
0309 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0310 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0311 Technologies Inc SM6115 and SM4250 platforms.
0312
0313 config PINCTRL_SM6125
0314 tristate "Qualcomm Technologies Inc SM6125 pin controller driver"
0315 depends on OF
0316 depends on PINCTRL_MSM
0317 help
0318 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0319 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0320 Technologies Inc SM6125 platform.
0321
0322 config PINCTRL_SM6350
0323 tristate "Qualcomm Technologies Inc SM6350 pin controller driver"
0324 depends on GPIOLIB && OF
0325 depends on PINCTRL_MSM
0326 help
0327 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0328 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0329 Technologies Inc SM6350 platform.
0330
0331 config PINCTRL_SM6375
0332 tristate "Qualcomm Technologies Inc SM6375 pin controller driver"
0333 depends on GPIOLIB && OF
0334 depends on PINCTRL_MSM
0335 help
0336 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0337 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0338 Technologies Inc SM6375 platform.
0339
0340 config PINCTRL_SDX65
0341 tristate "Qualcomm Technologies Inc SDX65 pin controller driver"
0342 depends on GPIOLIB && OF
0343 depends on PINCTRL_MSM
0344 help
0345 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0346 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0347 Technologies Inc SDX65 platform.
0348
0349 config PINCTRL_SM8150
0350 tristate "Qualcomm Technologies Inc SM8150 pin controller driver"
0351 depends on OF
0352 depends on PINCTRL_MSM
0353 help
0354 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0355 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0356 Technologies Inc SM8150 platform.
0357
0358 config PINCTRL_SM8250
0359 tristate "Qualcomm Technologies Inc SM8250 pin controller driver"
0360 depends on OF
0361 depends on PINCTRL_MSM
0362 help
0363 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0364 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0365 Technologies Inc SM8250 platform.
0366
0367 config PINCTRL_SM8250_LPASS_LPI
0368 tristate "Qualcomm Technologies Inc SM8250 LPASS LPI pin controller driver"
0369 depends on GPIOLIB
0370 depends on PINCTRL_LPASS_LPI
0371 help
0372 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0373 Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
0374 (Low Power Island) found on the Qualcomm Technologies Inc SM8250 platform.
0375
0376 config PINCTRL_SM8350
0377 tristate "Qualcomm Technologies Inc SM8350 pin controller driver"
0378 depends on PINCTRL_MSM
0379 help
0380 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0381 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0382 Technologies Inc SM8350 platform.
0383
0384 config PINCTRL_SM8450
0385 tristate "Qualcomm Technologies Inc SM8450 pin controller driver"
0386 depends on GPIOLIB && OF
0387 depends on PINCTRL_MSM
0388 help
0389 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0390 Qualcomm Technologies Inc TLMM block found on the Qualcomm
0391 Technologies Inc SM8450 platform.
0392
0393 config PINCTRL_LPASS_LPI
0394 tristate "Qualcomm Technologies Inc LPASS LPI pin controller driver"
0395 select PINMUX
0396 select PINCONF
0397 select GENERIC_PINCONF
0398 select GENERIC_PINCTRL_GROUPS
0399 depends on GPIOLIB
0400 help
0401 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
0402 Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
0403 (Low Power Island) found on the Qualcomm Technologies Inc SoCs.
0404
0405 endif