1# SPDX-License-Identifier: GPL-2.0-only 2if (ARCH_QCOM || COMPILE_TEST) 3 4config PINCTRL_MSM 5 bool 6 select PINMUX 7 select PINCONF 8 select GENERIC_PINCONF 9 select GPIOLIB_IRQCHIP 10 select IRQ_DOMAIN_HIERARCHY 11 select IRQ_FASTEOI_HIERARCHY_HANDLERS 12 13config PINCTRL_APQ8064 14 tristate "Qualcomm APQ8064 pin controller driver" 15 depends on GPIOLIB && OF 16 select PINCTRL_MSM 17 help 18 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 19 Qualcomm TLMM block found in the Qualcomm APQ8064 platform. 20 21config PINCTRL_APQ8084 22 tristate "Qualcomm APQ8084 pin controller driver" 23 depends on GPIOLIB && OF 24 select PINCTRL_MSM 25 help 26 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 27 Qualcomm TLMM block found in the Qualcomm APQ8084 platform. 28 29config PINCTRL_IPQ4019 30 tristate "Qualcomm IPQ4019 pin controller driver" 31 depends on GPIOLIB && OF 32 select PINCTRL_MSM 33 help 34 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 35 Qualcomm TLMM block found in the Qualcomm IPQ4019 platform. 36 37config PINCTRL_IPQ8064 38 tristate "Qualcomm IPQ8064 pin controller driver" 39 depends on GPIOLIB && OF 40 select PINCTRL_MSM 41 help 42 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 43 Qualcomm TLMM block found in the Qualcomm IPQ8064 platform. 44 45config PINCTRL_IPQ8074 46 tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver" 47 depends on GPIOLIB && OF 48 select PINCTRL_MSM 49 help 50 This is the pinctrl, pinmux, pinconf and gpiolib driver for 51 the Qualcomm Technologies Inc. TLMM block found on the 52 Qualcomm Technologies Inc. IPQ8074 platform. Select this for 53 IPQ8074. 54 55config PINCTRL_IPQ6018 56 tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver" 57 depends on GPIOLIB && OF 58 select PINCTRL_MSM 59 help 60 This is the pinctrl, pinmux, pinconf and gpiolib driver for 61 the Qualcomm Technologies Inc. TLMM block found on the 62 Qualcomm Technologies Inc. IPQ6018 platform. Select this for 63 IPQ6018. 64 65config PINCTRL_MSM8660 66 tristate "Qualcomm 8660 pin controller driver" 67 depends on GPIOLIB && OF 68 select PINCTRL_MSM 69 help 70 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 71 Qualcomm TLMM block found in the Qualcomm 8660 platform. 72 73config PINCTRL_MSM8960 74 tristate "Qualcomm 8960 pin controller driver" 75 depends on GPIOLIB && OF 76 select PINCTRL_MSM 77 help 78 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 79 Qualcomm TLMM block found in the Qualcomm 8960 platform. 80 81config PINCTRL_MDM9615 82 tristate "Qualcomm 9615 pin controller driver" 83 depends on GPIOLIB && OF 84 select PINCTRL_MSM 85 help 86 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 87 Qualcomm TLMM block found in the Qualcomm 9615 platform. 88 89config PINCTRL_MSM8X74 90 tristate "Qualcomm 8x74 pin controller driver" 91 depends on GPIOLIB && OF 92 select PINCTRL_MSM 93 help 94 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 95 Qualcomm TLMM block found in the Qualcomm 8974 platform. 96 97config PINCTRL_MSM8916 98 tristate "Qualcomm 8916 pin controller driver" 99 depends on GPIOLIB && OF 100 select PINCTRL_MSM 101 help 102 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 103 Qualcomm TLMM block found on the Qualcomm 8916 platform. 104 105config PINCTRL_MSM8976 106 tristate "Qualcomm 8976 pin controller driver" 107 depends on GPIOLIB && OF 108 select PINCTRL_MSM 109 help 110 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 111 Qualcomm TLMM block found on the Qualcomm MSM8976 platform. 112 The Qualcomm MSM8956, APQ8056, APQ8076 platforms are also 113 supported by this driver. 114 115config PINCTRL_MSM8994 116 tristate "Qualcomm 8994 pin controller driver" 117 depends on GPIOLIB && OF 118 select PINCTRL_MSM 119 help 120 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 121 Qualcomm TLMM block found in the Qualcomm 8994 platform. The 122 Qualcomm 8992 platform is also supported by this driver. 123 124config PINCTRL_MSM8996 125 tristate "Qualcomm MSM8996 pin controller driver" 126 depends on GPIOLIB && OF 127 select PINCTRL_MSM 128 help 129 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 130 Qualcomm TLMM block found in the Qualcomm MSM8996 platform. 131 132config PINCTRL_MSM8998 133 tristate "Qualcomm MSM8998 pin controller driver" 134 depends on GPIOLIB && OF 135 select PINCTRL_MSM 136 help 137 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 138 Qualcomm TLMM block found in the Qualcomm MSM8998 platform. 139 140config PINCTRL_QCS404 141 tristate "Qualcomm QCS404 pin controller driver" 142 depends on GPIOLIB && OF 143 select PINCTRL_MSM 144 help 145 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 146 TLMM block found in the Qualcomm QCS404 platform. 147 148config PINCTRL_QDF2XXX 149 tristate "Qualcomm Technologies QDF2xxx pin controller driver" 150 depends on GPIOLIB && ACPI 151 select PINCTRL_MSM 152 help 153 This is the GPIO driver for the TLMM block found on the 154 Qualcomm Technologies QDF2xxx SOCs. 155 156config PINCTRL_QCOM_SPMI_PMIC 157 tristate "Qualcomm SPMI PMIC pin controller driver" 158 depends on GPIOLIB && OF && SPMI 159 select REGMAP_SPMI 160 select PINMUX 161 select PINCONF 162 select GENERIC_PINCONF 163 select GPIOLIB_IRQCHIP 164 select IRQ_DOMAIN_HIERARCHY 165 help 166 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 167 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips, 168 which are using SPMI for communication with SoC. Example PMIC's 169 devices are pm8841, pm8941 and pma8084. 170 171config PINCTRL_QCOM_SSBI_PMIC 172 tristate "Qualcomm SSBI PMIC pin controller driver" 173 depends on GPIOLIB && OF 174 select PINMUX 175 select PINCONF 176 select GENERIC_PINCONF 177 select GPIOLIB_IRQCHIP 178 select IRQ_DOMAIN_HIERARCHY 179 help 180 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 181 Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips, 182 which are using SSBI for communication with SoC. Example PMIC's 183 devices are pm8058 and pm8921. 184 185config PINCTRL_SC7180 186 tristate "Qualcomm Technologies Inc SC7180 pin controller driver" 187 depends on GPIOLIB && OF 188 select PINCTRL_MSM 189 help 190 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 191 Qualcomm Technologies Inc TLMM block found on the Qualcomm 192 Technologies Inc SC7180 platform. 193 194config PINCTRL_SDM660 195 tristate "Qualcomm Technologies Inc SDM660 pin controller driver" 196 depends on GPIOLIB && OF 197 select PINCTRL_MSM 198 help 199 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 200 Qualcomm Technologies Inc TLMM block found on the Qualcomm 201 Technologies Inc SDM660 platform. 202 203config PINCTRL_SDM845 204 tristate "Qualcomm Technologies Inc SDM845 pin controller driver" 205 depends on GPIOLIB && (OF || ACPI) 206 select PINCTRL_MSM 207 help 208 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 209 Qualcomm Technologies Inc TLMM block found on the Qualcomm 210 Technologies Inc SDM845 platform. 211 212config PINCTRL_SM8150 213 tristate "Qualcomm Technologies Inc SM8150 pin controller driver" 214 depends on GPIOLIB && OF 215 select PINCTRL_MSM 216 help 217 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 218 Qualcomm Technologies Inc TLMM block found on the Qualcomm 219 Technologies Inc SM8150 platform. 220 221config PINCTRL_SM8250 222 tristate "Qualcomm Technologies Inc SM8250 pin controller driver" 223 depends on GPIOLIB && OF 224 select PINCTRL_MSM 225 help 226 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 227 Qualcomm Technologies Inc TLMM block found on the Qualcomm 228 Technologies Inc SM8250 platform. 229 230endif 231