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