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