1# 2# PINCTRL infrastructure and drivers 3# 4 5menuconfig PINCTRL 6 bool "Pin controllers" 7 8if PINCTRL 9 10config GENERIC_PINCTRL_GROUPS 11 bool 12 13config PINMUX 14 bool "Support pin multiplexing controllers" if COMPILE_TEST 15 16config GENERIC_PINMUX_FUNCTIONS 17 bool 18 select PINMUX 19 20config PINCONF 21 bool "Support pin configuration controllers" if COMPILE_TEST 22 23config GENERIC_PINCONF 24 bool 25 select PINCONF 26 27config DEBUG_PINCTRL 28 bool "Debug PINCTRL calls" 29 depends on DEBUG_KERNEL 30 help 31 Say Y here to add some extra checks and diagnostics to PINCTRL calls. 32 33config PINCTRL_ADI2 34 bool "ADI pin controller driver" 35 depends on (BF54x || BF60x) 36 depends on !GPIO_ADI 37 select PINMUX 38 select IRQ_DOMAIN 39 help 40 This is the pin controller and gpio driver for ADI BF54x, BF60x and 41 future processors. This option is selected automatically when specific 42 machine and arch are selected to build. 43 44config PINCTRL_ARTPEC6 45 bool "Axis ARTPEC-6 pin controller driver" 46 depends on MACH_ARTPEC6 47 select PINMUX 48 select GENERIC_PINCONF 49 help 50 This is the driver for the Axis ARTPEC-6 pin controller. This driver 51 supports pin function multiplexing as well as pin bias and drive 52 strength configuration. Device tree integration instructions can be 53 found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt 54 55config PINCTRL_AS3722 56 tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" 57 depends on MFD_AS3722 && GPIOLIB 58 select PINMUX 59 select GENERIC_PINCONF 60 help 61 AS3722 device supports the configuration of GPIO pins for different 62 functionality. This driver supports the pinmux, push-pull and 63 open drain configuration for the GPIO pins of AS3722 devices. It also 64 supports the GPIO functionality through gpiolib. 65 66config PINCTRL_AXP209 67 tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support" 68 depends on MFD_AXP20X 69 help 70 AXP PMICs provides multiple GPIOs that can be muxed for different 71 functions. This driver bundles a pinctrl driver to select the function 72 muxing and a GPIO driver to handle the GPIO when the GPIO function is 73 selected. 74 Say yes to enable pinctrl and GPIO support for the AXP209 PMIC 75 76config PINCTRL_BF54x 77 def_bool y if BF54x 78 select PINCTRL_ADI2 79 80config PINCTRL_BF60x 81 def_bool y if BF60x 82 select PINCTRL_ADI2 83 84config PINCTRL_AT91 85 bool "AT91 pinctrl driver" 86 depends on OF 87 depends on ARCH_AT91 88 select PINMUX 89 select PINCONF 90 select GPIOLIB 91 select OF_GPIO 92 select GPIOLIB_IRQCHIP 93 help 94 Say Y here to enable the at91 pinctrl driver 95 96config PINCTRL_AT91PIO4 97 bool "AT91 PIO4 pinctrl driver" 98 depends on OF 99 depends on ARCH_AT91 100 select PINMUX 101 select GENERIC_PINCONF 102 select GPIOLIB 103 select GPIOLIB_IRQCHIP 104 select OF_GPIO 105 help 106 Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4 107 controller available on sama5d2 SoC. 108 109config PINCTRL_AMD 110 tristate "AMD GPIO pin control" 111 depends on HAS_IOMEM 112 select GPIOLIB 113 select GPIOLIB_IRQCHIP 114 select PINMUX 115 select PINCONF 116 select GENERIC_PINCONF 117 help 118 driver for memory mapped GPIO functionality on AMD platforms 119 (x86 or arm).Most pins are usually muxed to some other 120 functionality by firmware,so only a small amount is available 121 for gpio use. 122 123 Requires ACPI/FDT device enumeration code to set up a platform 124 device. 125 126config PINCTRL_DA850_PUPD 127 tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups" 128 depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) 129 select PINCONF 130 select GENERIC_PINCONF 131 help 132 Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control 133 pullup/pulldown pin groups. 134 135config PINCTRL_DIGICOLOR 136 bool 137 depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST) 138 select PINMUX 139 select GENERIC_PINCONF 140 141config PINCTRL_LANTIQ 142 bool 143 depends on LANTIQ 144 select PINMUX 145 select PINCONF 146 147config PINCTRL_LPC18XX 148 bool "NXP LPC18XX/43XX SCU pinctrl driver" 149 depends on OF && (ARCH_LPC18XX || COMPILE_TEST) 150 default ARCH_LPC18XX 151 select PINMUX 152 select GENERIC_PINCONF 153 help 154 Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU). 155 156config PINCTRL_FALCON 157 bool 158 depends on SOC_FALCON 159 depends on PINCTRL_LANTIQ 160 161config PINCTRL_GEMINI 162 bool 163 depends on ARCH_GEMINI 164 default ARCH_GEMINI 165 select PINMUX 166 select GENERIC_PINCONF 167 select MFD_SYSCON 168 169config PINCTRL_MCP23S08 170 tristate "Microchip MCP23xxx I/O expander" 171 depends on SPI_MASTER || I2C 172 depends on I2C || I2C=n 173 select GPIOLIB 174 select GPIOLIB_IRQCHIP 175 select REGMAP_I2C if I2C 176 select REGMAP_SPI if SPI_MASTER 177 select GENERIC_PINCONF 178 help 179 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017 180 I/O expanders. 181 This provides a GPIO interface supporting inputs and outputs. 182 The I2C versions of the chips can be used as interrupt-controller. 183 184config PINCTRL_OXNAS 185 bool 186 depends on OF 187 select PINMUX 188 select PINCONF 189 select GENERIC_PINCONF 190 select GPIOLIB 191 select OF_GPIO 192 select GPIOLIB_IRQCHIP 193 select MFD_SYSCON 194 195config PINCTRL_ROCKCHIP 196 bool 197 select PINMUX 198 select GENERIC_PINCONF 199 select GENERIC_IRQ_CHIP 200 select MFD_SYSCON 201 202config PINCTRL_RZA1 203 bool "Renesas RZ/A1 gpio and pinctrl driver" 204 depends on OF 205 depends on ARCH_R7S72100 || COMPILE_TEST 206 select GPIOLIB 207 select GENERIC_PINCTRL_GROUPS 208 select GENERIC_PINMUX_FUNCTIONS 209 select GENERIC_PINCONF 210 help 211 This selects pinctrl driver for Renesas RZ/A1 platforms. 212 213config PINCTRL_SINGLE 214 tristate "One-register-per-pin type device tree based pinctrl driver" 215 depends on OF 216 depends on HAS_IOMEM 217 select GENERIC_PINCTRL_GROUPS 218 select GENERIC_PINMUX_FUNCTIONS 219 select GENERIC_PINCONF 220 help 221 This selects the device tree based generic pinctrl driver. 222 223config PINCTRL_SIRF 224 bool "CSR SiRFprimaII pin controller driver" 225 depends on ARCH_SIRF 226 select PINMUX 227 select PINCONF 228 select GENERIC_PINCONF 229 select GPIOLIB_IRQCHIP 230 231config PINCTRL_SX150X 232 bool "Semtech SX150x I2C GPIO expander pinctrl driver" 233 depends on I2C=y 234 select PINMUX 235 select PINCONF 236 select GENERIC_PINCONF 237 select GPIOLIB 238 select GPIOLIB_IRQCHIP 239 select REGMAP 240 help 241 Say yes here to provide support for Semtech SX150x-series I2C 242 GPIO expanders as pinctrl module. 243 Compatible models include: 244 - 8 bits: sx1508q, sx1502q 245 - 16 bits: sx1509q, sx1506q 246 247config PINCTRL_PISTACHIO 248 def_bool y if MACH_PISTACHIO 249 depends on GPIOLIB 250 select PINMUX 251 select GENERIC_PINCONF 252 select GPIOLIB_IRQCHIP 253 select OF_GPIO 254 255config PINCTRL_ST 256 bool 257 depends on OF 258 select PINMUX 259 select PINCONF 260 select GPIOLIB_IRQCHIP 261 262config PINCTRL_TZ1090 263 bool "Toumaz Xenif TZ1090 pin control driver" 264 depends on SOC_TZ1090 265 select PINMUX 266 select GENERIC_PINCONF 267 268config PINCTRL_TZ1090_PDC 269 bool "Toumaz Xenif TZ1090 PDC pin control driver" 270 depends on SOC_TZ1090 271 select PINMUX 272 select PINCONF 273 274config PINCTRL_U300 275 bool "U300 pin controller driver" 276 depends on ARCH_U300 277 select PINMUX 278 select GENERIC_PINCONF 279 280config PINCTRL_COH901 281 bool "ST-Ericsson U300 COH 901 335/571 GPIO" 282 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 283 select GPIOLIB_IRQCHIP 284 help 285 Say yes here to support GPIO interface on ST-Ericsson U300. 286 The names of the two IP block variants supported are 287 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 288 ports of 8 GPIO pins each. 289 290config PINCTRL_MAX77620 291 tristate "MAX77620/MAX20024 Pincontrol support" 292 depends on MFD_MAX77620 && OF 293 select PINMUX 294 select GENERIC_PINCONF 295 help 296 Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 297 This PMIC has 8 GPIO pins that work as GPIO as well as special 298 function in alternate mode. This driver also configure push-pull, 299 open drain, FPS slots etc. 300 301config PINCTRL_PALMAS 302 tristate "Pinctrl driver for the PALMAS Series MFD devices" 303 depends on OF && MFD_PALMAS 304 select PINMUX 305 select GENERIC_PINCONF 306 help 307 Palmas device supports the configuration of pins for different 308 functionality. This driver supports the pinmux, push-pull and 309 open drain configuration for the Palmas series devices like 310 TPS65913, TPS80036 etc. 311 312config PINCTRL_PIC32 313 bool "Microchip PIC32 pin controller driver" 314 depends on OF 315 depends on MACH_PIC32 316 select PINMUX 317 select GENERIC_PINCONF 318 select GPIOLIB_IRQCHIP 319 select OF_GPIO 320 help 321 This is the pin controller and gpio driver for Microchip PIC32 322 microcontrollers. This option is selected automatically when specific 323 machine and arch are selected to build. 324 325config PINCTRL_PIC32MZDA 326 def_bool y if PIC32MZDA 327 select PINCTRL_PIC32 328 329config PINCTRL_ZYNQ 330 bool "Pinctrl driver for Xilinx Zynq" 331 depends on ARCH_ZYNQ 332 select PINMUX 333 select GENERIC_PINCONF 334 help 335 This selects the pinctrl driver for Xilinx Zynq. 336 337config PINCTRL_INGENIC 338 bool "Pinctrl driver for the Ingenic JZ47xx SoCs" 339 default y 340 depends on OF 341 depends on MACH_INGENIC || COMPILE_TEST 342 select GENERIC_PINCONF 343 select GENERIC_PINCTRL_GROUPS 344 select GENERIC_PINMUX_FUNCTIONS 345 select REGMAP_MMIO 346 347config PINCTRL_RK805 348 tristate "Pinctrl and GPIO driver for RK805 PMIC" 349 depends on MFD_RK808 350 select GPIOLIB 351 select PINMUX 352 select GENERIC_PINCONF 353 help 354 This selects the pinctrl driver for RK805. 355 356source "drivers/pinctrl/aspeed/Kconfig" 357source "drivers/pinctrl/bcm/Kconfig" 358source "drivers/pinctrl/berlin/Kconfig" 359source "drivers/pinctrl/freescale/Kconfig" 360source "drivers/pinctrl/intel/Kconfig" 361source "drivers/pinctrl/mvebu/Kconfig" 362source "drivers/pinctrl/nomadik/Kconfig" 363source "drivers/pinctrl/pxa/Kconfig" 364source "drivers/pinctrl/qcom/Kconfig" 365source "drivers/pinctrl/samsung/Kconfig" 366source "drivers/pinctrl/sh-pfc/Kconfig" 367source "drivers/pinctrl/spear/Kconfig" 368source "drivers/pinctrl/sprd/Kconfig" 369source "drivers/pinctrl/stm32/Kconfig" 370source "drivers/pinctrl/sunxi/Kconfig" 371source "drivers/pinctrl/tegra/Kconfig" 372source "drivers/pinctrl/ti/Kconfig" 373source "drivers/pinctrl/uniphier/Kconfig" 374source "drivers/pinctrl/vt8500/Kconfig" 375source "drivers/pinctrl/mediatek/Kconfig" 376source "drivers/pinctrl/zte/Kconfig" 377source "drivers/pinctrl/meson/Kconfig" 378 379config PINCTRL_XWAY 380 bool 381 depends on SOC_TYPE_XWAY 382 depends on PINCTRL_LANTIQ 383 384config PINCTRL_TB10X 385 bool 386 depends on OF && ARC_PLAT_TB10X 387 select GPIOLIB 388 389endif 390