1# 2# PINCTRL infrastructure and drivers 3# 4 5config PINCTRL 6 bool 7 8if PINCTRL 9 10menu "Pin controllers" 11 depends on PINCTRL 12 13config PINMUX 14 bool "Support pin multiplexing controllers" 15 16config PINCONF 17 bool "Support pin configuration controllers" 18 19config GENERIC_PINCONF 20 bool 21 select PINCONF 22 23config DEBUG_PINCTRL 24 bool "Debug PINCTRL calls" 25 depends on DEBUG_KERNEL 26 help 27 Say Y here to add some extra checks and diagnostics to PINCTRL calls. 28 29config PINCTRL_ABX500 30 bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions" 31 depends on AB8500_CORE 32 select GENERIC_PINCONF 33 help 34 Select this to enable the ABx500 family IC GPIO driver 35 36config PINCTRL_AB8500 37 bool "AB8500 pin controller driver" 38 depends on PINCTRL_ABX500 && ARCH_U8500 39 40config PINCTRL_AB8540 41 bool "AB8540 pin controller driver" 42 depends on PINCTRL_ABX500 && ARCH_U8500 43 44config PINCTRL_AB9540 45 bool "AB9540 pin controller driver" 46 depends on PINCTRL_ABX500 && ARCH_U8500 47 48config PINCTRL_AB8505 49 bool "AB8505 pin controller driver" 50 depends on PINCTRL_ABX500 && ARCH_U8500 51 52config PINCTRL_ADI2 53 bool "ADI pin controller driver" 54 depends on BLACKFIN 55 select PINMUX 56 select IRQ_DOMAIN 57 help 58 This is the pin controller and gpio driver for ADI BF54x, BF60x and 59 future processors. This option is selected automatically when specific 60 machine and arch are selected to build. 61 62config PINCTRL_AS3722 63 bool "Pinctrl and GPIO driver for ams AS3722 PMIC" 64 depends on MFD_AS3722 && GPIOLIB 65 select PINMUX 66 select GENERIC_PINCONF 67 help 68 AS3722 device supports the configuration of GPIO pins for different 69 functionality. This driver supports the pinmux, push-pull and 70 open drain configuration for the GPIO pins of AS3722 devices. It also 71 supports the GPIO functionality through gpiolib. 72 73config PINCTRL_BF54x 74 def_bool y if BF54x 75 select PINCTRL_ADI2 76 77config PINCTRL_BF60x 78 def_bool y if BF60x 79 select PINCTRL_ADI2 80 81config PINCTRL_AT91 82 bool "AT91 pinctrl driver" 83 depends on OF 84 depends on ARCH_AT91 85 select PINMUX 86 select PINCONF 87 select GPIOLIB 88 select OF_GPIO 89 select GPIOLIB_IRQCHIP 90 help 91 Say Y here to enable the at91 pinctrl driver 92 93config PINCTRL_BAYTRAIL 94 bool "Intel Baytrail GPIO pin control" 95 depends on GPIOLIB && ACPI && X86 96 select IRQ_DOMAIN 97 help 98 driver for memory mapped GPIO functionality on Intel Baytrail 99 platforms. Supports 3 banks with 102, 28 and 44 gpios. 100 Most pins are usually muxed to some other functionality by firmware, 101 so only a small amount is available for gpio use. 102 103 Requires ACPI device enumeration code to set up a platform device. 104 105config PINCTRL_BCM2835 106 bool 107 select PINMUX 108 select PINCONF 109 110config PINCTRL_BCM281XX 111 bool "Broadcom BCM281xx pinctrl driver" 112 depends on OF 113 select PINMUX 114 select PINCONF 115 select GENERIC_PINCONF 116 select REGMAP_MMIO 117 help 118 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used 119 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351, 120 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl 121 framework. GPIO is provided by a separate GPIO driver. 122 123config PINCTRL_IMX 124 bool 125 select PINMUX 126 select PINCONF 127 128config PINCTRL_IMX1_CORE 129 bool 130 select PINMUX 131 select PINCONF 132 133config PINCTRL_IMX27 134 bool "IMX27 pinctrl driver" 135 depends on SOC_IMX27 136 select PINCTRL_IMX1_CORE 137 help 138 Say Y here to enable the imx27 pinctrl driver 139 140 141config PINCTRL_IMX25 142 bool "IMX25 pinctrl driver" 143 depends on OF 144 depends on SOC_IMX25 145 select PINCTRL_IMX 146 help 147 Say Y here to enable the imx25 pinctrl driver 148 149config PINCTRL_IMX35 150 bool "IMX35 pinctrl driver" 151 depends on SOC_IMX35 152 select PINCTRL_IMX 153 help 154 Say Y here to enable the imx35 pinctrl driver 155 156config PINCTRL_IMX50 157 bool "IMX50 pinctrl driver" 158 depends on SOC_IMX50 159 select PINCTRL_IMX 160 help 161 Say Y here to enable the imx50 pinctrl driver 162 163config PINCTRL_IMX51 164 bool "IMX51 pinctrl driver" 165 depends on SOC_IMX51 166 select PINCTRL_IMX 167 help 168 Say Y here to enable the imx51 pinctrl driver 169 170config PINCTRL_IMX53 171 bool "IMX53 pinctrl driver" 172 depends on SOC_IMX53 173 select PINCTRL_IMX 174 help 175 Say Y here to enable the imx53 pinctrl driver 176 177config PINCTRL_IMX6Q 178 bool "IMX6Q/DL pinctrl driver" 179 depends on SOC_IMX6Q 180 select PINCTRL_IMX 181 help 182 Say Y here to enable the imx6q/dl pinctrl driver 183 184config PINCTRL_IMX6SL 185 bool "IMX6SL pinctrl driver" 186 depends on SOC_IMX6SL 187 select PINCTRL_IMX 188 help 189 Say Y here to enable the imx6sl pinctrl driver 190 191config PINCTRL_VF610 192 bool "Freescale Vybrid VF610 pinctrl driver" 193 depends on SOC_VF610 194 select PINCTRL_IMX 195 help 196 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver 197 198config PINCTRL_LANTIQ 199 bool 200 depends on LANTIQ 201 select PINMUX 202 select PINCONF 203 204config PINCTRL_FALCON 205 bool 206 depends on SOC_FALCON 207 depends on PINCTRL_LANTIQ 208 209config PINCTRL_MXS 210 bool 211 select PINMUX 212 select PINCONF 213 214config PINCTRL_IMX23 215 bool 216 select PINCTRL_MXS 217 218config PINCTRL_IMX28 219 bool 220 select PINCTRL_MXS 221 222config PINCTRL_MSM 223 bool 224 select PINMUX 225 select PINCONF 226 select GENERIC_PINCONF 227 228config PINCTRL_APQ8064 229 tristate "Qualcomm APQ8064 pin controller driver" 230 depends on GPIOLIB && OF 231 select PINCTRL_MSM 232 help 233 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 234 Qualcomm TLMM block found in the Qualcomm APQ8064 platform. 235 236config PINCTRL_IPQ8064 237 tristate "Qualcomm IPQ8064 pin controller driver" 238 depends on GPIOLIB && OF 239 select PINCTRL_MSM 240 help 241 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 242 Qualcomm TLMM block found in the Qualcomm IPQ8064 platform. 243 244config PINCTRL_MSM8X74 245 tristate "Qualcomm 8x74 pin controller driver" 246 depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST) 247 select PINCTRL_MSM 248 help 249 This is the pinctrl, pinmux, pinconf and gpiolib driver for the 250 Qualcomm TLMM block found in the Qualcomm 8974 platform. 251 252config PINCTRL_NOMADIK 253 bool "Nomadik pin controller driver" 254 depends on ARCH_U8500 || ARCH_NOMADIK 255 select PINMUX 256 select PINCONF 257 select GPIOLIB 258 select OF_GPIO 259 select GPIOLIB_IRQCHIP 260 261config PINCTRL_STN8815 262 bool "STN8815 pin controller driver" 263 depends on PINCTRL_NOMADIK && ARCH_NOMADIK 264 265config PINCTRL_DB8500 266 bool "DB8500 pin controller driver" 267 depends on PINCTRL_NOMADIK && ARCH_U8500 268 269config PINCTRL_DB8540 270 bool "DB8540 pin controller driver" 271 depends on PINCTRL_NOMADIK && ARCH_U8500 272 273config PINCTRL_ROCKCHIP 274 bool 275 select PINMUX 276 select GENERIC_PINCONF 277 select GENERIC_IRQ_CHIP 278 279config PINCTRL_SINGLE 280 tristate "One-register-per-pin type device tree based pinctrl driver" 281 depends on OF 282 select PINMUX 283 select PINCONF 284 select GENERIC_PINCONF 285 help 286 This selects the device tree based generic pinctrl driver. 287 288config PINCTRL_SIRF 289 bool "CSR SiRFprimaII/SiRFmarco pin controller driver" 290 depends on ARCH_SIRF 291 select PINMUX 292 select GPIOLIB_IRQCHIP 293 294config PINCTRL_ST 295 bool 296 depends on OF 297 select PINMUX 298 select PINCONF 299 select GPIOLIB_IRQCHIP 300 301config PINCTRL_TEGRA 302 bool 303 select PINMUX 304 select PINCONF 305 306config PINCTRL_TEGRA20 307 bool 308 select PINCTRL_TEGRA 309 310config PINCTRL_TEGRA30 311 bool 312 select PINCTRL_TEGRA 313 314config PINCTRL_TEGRA114 315 bool 316 select PINCTRL_TEGRA 317 318config PINCTRL_TEGRA124 319 bool 320 select PINCTRL_TEGRA 321 322config PINCTRL_TZ1090 323 bool "Toumaz Xenif TZ1090 pin control driver" 324 depends on SOC_TZ1090 325 select PINMUX 326 select GENERIC_PINCONF 327 328config PINCTRL_TZ1090_PDC 329 bool "Toumaz Xenif TZ1090 PDC pin control driver" 330 depends on SOC_TZ1090 331 select PINMUX 332 select PINCONF 333 334config PINCTRL_U300 335 bool "U300 pin controller driver" 336 depends on ARCH_U300 337 select PINMUX 338 select GENERIC_PINCONF 339 340config PINCTRL_COH901 341 bool "ST-Ericsson U300 COH 901 335/571 GPIO" 342 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 343 select GPIOLIB_IRQCHIP 344 help 345 Say yes here to support GPIO interface on ST-Ericsson U300. 346 The names of the two IP block variants supported are 347 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 348 ports of 8 GPIO pins each. 349 350config PINCTRL_SAMSUNG 351 bool 352 select PINMUX 353 select PINCONF 354 355config PINCTRL_EXYNOS 356 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440" 357 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210) 358 select PINCTRL_SAMSUNG 359 360config PINCTRL_EXYNOS5440 361 bool "Samsung EXYNOS5440 SoC pinctrl driver" 362 depends on SOC_EXYNOS5440 363 select PINMUX 364 select PINCONF 365 366config PINCTRL_PALMAS 367 bool "Pinctrl driver for the PALMAS Series MFD devices" 368 depends on OF && MFD_PALMAS 369 select PINMUX 370 select GENERIC_PINCONF 371 help 372 Palmas device supports the configuration of pins for different 373 functionality. This driver supports the pinmux, push-pull and 374 open drain configuration for the Palmas series devices like 375 TPS65913, TPS80036 etc. 376 377config PINCTRL_S3C24XX 378 bool "Samsung S3C24XX SoC pinctrl driver" 379 depends on ARCH_S3C24XX 380 select PINCTRL_SAMSUNG 381 382config PINCTRL_S3C64XX 383 bool "Samsung S3C64XX SoC pinctrl driver" 384 depends on ARCH_S3C64XX 385 select PINCTRL_SAMSUNG 386 387source "drivers/pinctrl/mvebu/Kconfig" 388source "drivers/pinctrl/sh-pfc/Kconfig" 389source "drivers/pinctrl/spear/Kconfig" 390source "drivers/pinctrl/sunxi/Kconfig" 391source "drivers/pinctrl/vt8500/Kconfig" 392 393config PINCTRL_XWAY 394 bool 395 depends on SOC_TYPE_XWAY 396 depends on PINCTRL_LANTIQ 397 398config PINCTRL_TB10X 399 bool 400 depends on ARC_PLAT_TB10X 401 402endmenu 403 404endif 405