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