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