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_SINGLE 199 tristate "One-register-per-pin type device tree based pinctrl driver" 200 depends on OF 201 depends on HAS_IOMEM 202 select GENERIC_PINCTRL_GROUPS 203 select GENERIC_PINMUX_FUNCTIONS 204 select GENERIC_PINCONF 205 help 206 This selects the device tree based generic pinctrl driver. 207 208config PINCTRL_SIRF 209 bool "CSR SiRFprimaII pin controller driver" 210 depends on ARCH_SIRF 211 select PINMUX 212 select PINCONF 213 select GENERIC_PINCONF 214 select GPIOLIB_IRQCHIP 215 216config PINCTRL_SX150X 217 bool "Semtech SX150x I2C GPIO expander pinctrl driver" 218 depends on I2C=y 219 select PINMUX 220 select PINCONF 221 select GENERIC_PINCONF 222 select GPIOLIB 223 select GPIOLIB_IRQCHIP 224 select REGMAP 225 help 226 Say yes here to provide support for Semtech SX150x-series I2C 227 GPIO expanders as pinctrl module. 228 Compatible models include: 229 - 8 bits: sx1508q, sx1502q 230 - 16 bits: sx1509q, sx1506q 231 232config PINCTRL_PISTACHIO 233 def_bool y if MACH_PISTACHIO 234 depends on GPIOLIB 235 select PINMUX 236 select GENERIC_PINCONF 237 select GPIOLIB_IRQCHIP 238 select OF_GPIO 239 240config PINCTRL_ST 241 bool 242 depends on OF 243 select PINMUX 244 select PINCONF 245 select GPIOLIB_IRQCHIP 246 247config PINCTRL_U300 248 bool "U300 pin controller driver" 249 depends on ARCH_U300 250 select PINMUX 251 select GENERIC_PINCONF 252 253config PINCTRL_COH901 254 bool "ST-Ericsson U300 COH 901 335/571 GPIO" 255 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 256 select GPIOLIB_IRQCHIP 257 help 258 Say yes here to support GPIO interface on ST-Ericsson U300. 259 The names of the two IP block variants supported are 260 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 261 ports of 8 GPIO pins each. 262 263config PINCTRL_MAX77620 264 tristate "MAX77620/MAX20024 Pincontrol support" 265 depends on MFD_MAX77620 && OF 266 select PINMUX 267 select GENERIC_PINCONF 268 help 269 Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 270 This PMIC has 8 GPIO pins that work as GPIO as well as special 271 function in alternate mode. This driver also configure push-pull, 272 open drain, FPS slots etc. 273 274config PINCTRL_PALMAS 275 tristate "Pinctrl driver for the PALMAS Series MFD devices" 276 depends on OF && MFD_PALMAS 277 select PINMUX 278 select GENERIC_PINCONF 279 help 280 Palmas device supports the configuration of pins for different 281 functionality. This driver supports the pinmux, push-pull and 282 open drain configuration for the Palmas series devices like 283 TPS65913, TPS80036 etc. 284 285config PINCTRL_PIC32 286 bool "Microchip PIC32 pin controller driver" 287 depends on OF 288 depends on MACH_PIC32 289 select PINMUX 290 select GENERIC_PINCONF 291 select GPIOLIB_IRQCHIP 292 select OF_GPIO 293 help 294 This is the pin controller and gpio driver for Microchip PIC32 295 microcontrollers. This option is selected automatically when specific 296 machine and arch are selected to build. 297 298config PINCTRL_PIC32MZDA 299 def_bool y if PIC32MZDA 300 select PINCTRL_PIC32 301 302config PINCTRL_ZYNQ 303 bool "Pinctrl driver for Xilinx Zynq" 304 depends on ARCH_ZYNQ 305 select PINMUX 306 select GENERIC_PINCONF 307 help 308 This selects the pinctrl driver for Xilinx Zynq. 309 310config PINCTRL_INGENIC 311 bool "Pinctrl driver for the Ingenic JZ47xx SoCs" 312 default y 313 depends on OF 314 depends on MACH_INGENIC || COMPILE_TEST 315 select GENERIC_PINCONF 316 select GENERIC_PINCTRL_GROUPS 317 select GENERIC_PINMUX_FUNCTIONS 318 select REGMAP_MMIO 319 320config PINCTRL_RK805 321 tristate "Pinctrl and GPIO driver for RK805 PMIC" 322 depends on MFD_RK808 323 select GPIOLIB 324 select PINMUX 325 select GENERIC_PINCONF 326 help 327 This selects the pinctrl driver for RK805. 328 329config PINCTRL_OCELOT 330 bool "Pinctrl driver for the Microsemi Ocelot SoCs" 331 default y 332 depends on OF 333 depends on MSCC_OCELOT || COMPILE_TEST 334 select GPIOLIB 335 select GPIOLIB_IRQCHIP 336 select GENERIC_PINCONF 337 select GENERIC_PINCTRL_GROUPS 338 select GENERIC_PINMUX_FUNCTIONS 339 select REGMAP_MMIO 340 341source "drivers/pinctrl/actions/Kconfig" 342source "drivers/pinctrl/aspeed/Kconfig" 343source "drivers/pinctrl/bcm/Kconfig" 344source "drivers/pinctrl/berlin/Kconfig" 345source "drivers/pinctrl/freescale/Kconfig" 346source "drivers/pinctrl/intel/Kconfig" 347source "drivers/pinctrl/mvebu/Kconfig" 348source "drivers/pinctrl/nomadik/Kconfig" 349source "drivers/pinctrl/pxa/Kconfig" 350source "drivers/pinctrl/qcom/Kconfig" 351source "drivers/pinctrl/samsung/Kconfig" 352source "drivers/pinctrl/sh-pfc/Kconfig" 353source "drivers/pinctrl/spear/Kconfig" 354source "drivers/pinctrl/sprd/Kconfig" 355source "drivers/pinctrl/stm32/Kconfig" 356source "drivers/pinctrl/sunxi/Kconfig" 357source "drivers/pinctrl/tegra/Kconfig" 358source "drivers/pinctrl/ti/Kconfig" 359source "drivers/pinctrl/uniphier/Kconfig" 360source "drivers/pinctrl/vt8500/Kconfig" 361source "drivers/pinctrl/mediatek/Kconfig" 362source "drivers/pinctrl/zte/Kconfig" 363source "drivers/pinctrl/meson/Kconfig" 364source "drivers/pinctrl/cirrus/Kconfig" 365 366config PINCTRL_XWAY 367 bool 368 depends on SOC_TYPE_XWAY 369 depends on PINCTRL_LANTIQ 370 371config PINCTRL_TB10X 372 bool 373 depends on OF && ARC_PLAT_TB10X 374 select GPIOLIB 375 376endif 377