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