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_ADI2 34 bool "ADI pin controller driver" 35 depends on (BF54x || BF60x) 36 depends on !GPIO_ADI 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 HAS_IOMEM 102 select 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 GENERIC_PINCONF 157 select MFD_SYSCON 158 159config PINCTRL_MCP23S08 160 tristate "Microchip MCP23xxx I/O expander" 161 depends on SPI_MASTER || I2C 162 depends on I2C || I2C=n 163 select GPIOLIB 164 select GPIOLIB_IRQCHIP 165 select REGMAP_I2C if I2C 166 select REGMAP_SPI if SPI_MASTER 167 select GENERIC_PINCONF 168 help 169 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017 170 I/O expanders. 171 This provides a GPIO interface supporting inputs and outputs. 172 The I2C versions of the chips can be used as interrupt-controller. 173 174config PINCTRL_OXNAS 175 bool 176 depends on OF 177 select PINMUX 178 select PINCONF 179 select GENERIC_PINCONF 180 select GPIOLIB 181 select OF_GPIO 182 select GPIOLIB_IRQCHIP 183 select MFD_SYSCON 184 185config PINCTRL_ROCKCHIP 186 bool 187 select PINMUX 188 select GENERIC_PINCONF 189 select GENERIC_IRQ_CHIP 190 select MFD_SYSCON 191 192config PINCTRL_RZA1 193 bool "Renesas RZ/A1 gpio and pinctrl driver" 194 depends on OF 195 depends on ARCH_R7S72100 || COMPILE_TEST 196 select GPIOLIB 197 select GENERIC_PINCTRL_GROUPS 198 select GENERIC_PINMUX_FUNCTIONS 199 select GENERIC_PINCONF 200 help 201 This selects pinctrl driver for Renesas RZ/A1 platforms. 202 203config PINCTRL_SINGLE 204 tristate "One-register-per-pin type device tree based pinctrl driver" 205 depends on OF 206 depends on HAS_IOMEM 207 select GENERIC_PINCTRL_GROUPS 208 select GENERIC_PINMUX_FUNCTIONS 209 select GENERIC_PINCONF 210 help 211 This selects the device tree based generic pinctrl driver. 212 213config PINCTRL_SIRF 214 bool "CSR SiRFprimaII pin controller driver" 215 depends on ARCH_SIRF 216 select PINMUX 217 select PINCONF 218 select GENERIC_PINCONF 219 select GPIOLIB_IRQCHIP 220 221config PINCTRL_SX150X 222 bool "Semtech SX150x I2C GPIO expander pinctrl driver" 223 depends on I2C=y 224 select PINMUX 225 select PINCONF 226 select GENERIC_PINCONF 227 select GPIOLIB 228 select GPIOLIB_IRQCHIP 229 select REGMAP 230 help 231 Say yes here to provide support for Semtech SX150x-series I2C 232 GPIO expanders as pinctrl module. 233 Compatible models include: 234 - 8 bits: sx1508q, sx1502q 235 - 16 bits: sx1509q, sx1506q 236 237config PINCTRL_PISTACHIO 238 def_bool y if MACH_PISTACHIO 239 depends on GPIOLIB 240 select PINMUX 241 select GENERIC_PINCONF 242 select GPIOLIB_IRQCHIP 243 select OF_GPIO 244 245config PINCTRL_ST 246 bool 247 depends on OF 248 select PINMUX 249 select PINCONF 250 select GPIOLIB_IRQCHIP 251 252config PINCTRL_TZ1090 253 bool "Toumaz Xenif TZ1090 pin control driver" 254 depends on SOC_TZ1090 255 select PINMUX 256 select GENERIC_PINCONF 257 258config PINCTRL_TZ1090_PDC 259 bool "Toumaz Xenif TZ1090 PDC pin control driver" 260 depends on SOC_TZ1090 261 select PINMUX 262 select PINCONF 263 264config PINCTRL_U300 265 bool "U300 pin controller driver" 266 depends on ARCH_U300 267 select PINMUX 268 select GENERIC_PINCONF 269 270config PINCTRL_COH901 271 bool "ST-Ericsson U300 COH 901 335/571 GPIO" 272 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300 273 select GPIOLIB_IRQCHIP 274 help 275 Say yes here to support GPIO interface on ST-Ericsson U300. 276 The names of the two IP block variants supported are 277 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7 278 ports of 8 GPIO pins each. 279 280config PINCTRL_MAX77620 281 tristate "MAX77620/MAX20024 Pincontrol support" 282 depends on MFD_MAX77620 && OF 283 select PINMUX 284 select GENERIC_PINCONF 285 help 286 Say Yes here to enable Pin control support for Maxim PMIC MAX77620. 287 This PMIC has 8 GPIO pins that work as GPIO as well as special 288 function in alternate mode. This driver also configure push-pull, 289 open drain, FPS slots etc. 290 291config PINCTRL_PALMAS 292 tristate "Pinctrl driver for the PALMAS Series MFD devices" 293 depends on OF && MFD_PALMAS 294 select PINMUX 295 select GENERIC_PINCONF 296 help 297 Palmas device supports the configuration of pins for different 298 functionality. This driver supports the pinmux, push-pull and 299 open drain configuration for the Palmas series devices like 300 TPS65913, TPS80036 etc. 301 302config PINCTRL_PIC32 303 bool "Microchip PIC32 pin controller driver" 304 depends on OF 305 depends on MACH_PIC32 306 select PINMUX 307 select GENERIC_PINCONF 308 select GPIOLIB_IRQCHIP 309 select OF_GPIO 310 help 311 This is the pin controller and gpio driver for Microchip PIC32 312 microcontrollers. This option is selected automatically when specific 313 machine and arch are selected to build. 314 315config PINCTRL_PIC32MZDA 316 def_bool y if PIC32MZDA 317 select PINCTRL_PIC32 318 319config PINCTRL_ZYNQ 320 bool "Pinctrl driver for Xilinx Zynq" 321 depends on ARCH_ZYNQ 322 select PINMUX 323 select GENERIC_PINCONF 324 help 325 This selects the pinctrl driver for Xilinx Zynq. 326 327config PINCTRL_INGENIC 328 bool "Pinctrl driver for the Ingenic JZ47xx SoCs" 329 default y 330 depends on OF 331 depends on MACH_INGENIC || COMPILE_TEST 332 select GENERIC_PINCONF 333 select GENERIC_PINCTRL_GROUPS 334 select GENERIC_PINMUX_FUNCTIONS 335 select REGMAP_MMIO 336 337config PINCTRL_RK805 338 tristate "Pinctrl and GPIO driver for RK805 PMIC" 339 depends on MFD_RK808 340 select GPIOLIB 341 select PINMUX 342 select GENERIC_PINCONF 343 help 344 This selects the pinctrl driver for RK805. 345 346source "drivers/pinctrl/aspeed/Kconfig" 347source "drivers/pinctrl/bcm/Kconfig" 348source "drivers/pinctrl/berlin/Kconfig" 349source "drivers/pinctrl/freescale/Kconfig" 350source "drivers/pinctrl/intel/Kconfig" 351source "drivers/pinctrl/mvebu/Kconfig" 352source "drivers/pinctrl/nomadik/Kconfig" 353source "drivers/pinctrl/pxa/Kconfig" 354source "drivers/pinctrl/qcom/Kconfig" 355source "drivers/pinctrl/samsung/Kconfig" 356source "drivers/pinctrl/sh-pfc/Kconfig" 357source "drivers/pinctrl/spear/Kconfig" 358source "drivers/pinctrl/sprd/Kconfig" 359source "drivers/pinctrl/stm32/Kconfig" 360source "drivers/pinctrl/sunxi/Kconfig" 361source "drivers/pinctrl/tegra/Kconfig" 362source "drivers/pinctrl/ti/Kconfig" 363source "drivers/pinctrl/uniphier/Kconfig" 364source "drivers/pinctrl/vt8500/Kconfig" 365source "drivers/pinctrl/mediatek/Kconfig" 366source "drivers/pinctrl/zte/Kconfig" 367source "drivers/pinctrl/meson/Kconfig" 368 369config PINCTRL_XWAY 370 bool 371 depends on SOC_TYPE_XWAY 372 depends on PINCTRL_LANTIQ 373 374config PINCTRL_TB10X 375 bool 376 depends on OF && ARC_PLAT_TB10X 377 select GPIOLIB 378 379endif 380