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