Kconfig 9.86 KB
Newer Older
1 2 3 4
#
# PINCTRL infrastructure and drivers
#

5 6
menuconfig PINCTRL
	bool "Pin controllers"
7

8
if PINCTRL
9

10
config GENERIC_PINCTRL_GROUPS
11 12
	bool

13
config PINMUX
14
	bool "Support pin multiplexing controllers" if COMPILE_TEST
15

16 17 18 19
config GENERIC_PINMUX_FUNCTIONS
	bool
	select PINMUX

20
config PINCONF
21
	bool "Support pin configuration controllers" if COMPILE_TEST
22

23 24 25 26
config GENERIC_PINCONF
	bool
	select PINCONF

27 28 29 30 31 32
config DEBUG_PINCTRL
	bool "Debug PINCTRL calls"
	depends on DEBUG_KERNEL
	help
	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.

33 34 35 36 37 38 39 40 41 42 43
config PINCTRL_ARTPEC6
        bool "Axis ARTPEC-6 pin controller driver"
        depends on MACH_ARTPEC6
        select PINMUX
        select GENERIC_PINCONF
        help
          This is the driver for the Axis ARTPEC-6 pin controller. This driver
          supports pin function multiplexing as well as pin bias and drive
          strength configuration. Device tree integration instructions can be
          found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt

44
config PINCTRL_AS3722
45
	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
46 47 48 49 50 51 52 53 54
	depends on MFD_AS3722 && GPIOLIB
	select PINMUX
	select GENERIC_PINCONF
	help
	  AS3722 device supports the configuration of GPIO pins for different
	  functionality. This driver supports the pinmux, push-pull and
	  open drain configuration for the GPIO pins of AS3722 devices. It also
	  supports the GPIO functionality through gpiolib.

55 56 57
config PINCTRL_AXP209
	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
	depends on MFD_AXP20X
58 59 60 61
	depends on OF
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB
62 63 64 65 66 67 68
	help
	  AXP PMICs provides multiple GPIOs that can be muxed for different
	  functions. This driver bundles a pinctrl driver to select the function
	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
	  selected.
	  Say yes to enable pinctrl and GPIO support for the AXP209 PMIC

69 70 71 72 73 74
config PINCTRL_AT91
	bool "AT91 pinctrl driver"
	depends on OF
	depends on ARCH_AT91
	select PINMUX
	select PINCONF
75 76 77
	select GPIOLIB
	select OF_GPIO
	select GPIOLIB_IRQCHIP
78 79 80
	help
	  Say Y here to enable the at91 pinctrl driver

81 82 83 84 85 86 87 88 89 90 91 92 93
config PINCTRL_AT91PIO4
	bool "AT91 PIO4 pinctrl driver"
	depends on OF
	depends on ARCH_AT91
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB
	select GPIOLIB_IRQCHIP
	select OF_GPIO
	help
	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
	  controller available on sama5d2 SoC.

94
config PINCTRL_AMD
95
	tristate "AMD GPIO pin control"
96
	depends on HAS_IOMEM
97
	select GPIOLIB
98
	select GPIOLIB_IRQCHIP
99
	select PINMUX
100 101 102 103 104 105 106 107 108 109 110
	select PINCONF
	select GENERIC_PINCONF
	help
	  driver for memory mapped GPIO functionality on AMD platforms
	  (x86 or arm).Most pins are usually muxed to some other
	  functionality by firmware,so only a small amount is available
	  for gpio use.

	  Requires ACPI/FDT device enumeration code to set up a platform
	  device.

111 112 113 114 115 116 117 118 119
config PINCTRL_DA850_PUPD
	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
	select PINCONF
	select GENERIC_PINCONF
	help
	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
	  pullup/pulldown pin groups.

120 121 122 123 124 125
config PINCTRL_DIGICOLOR
	bool
	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
	select PINMUX
	select GENERIC_PINCONF

126 127 128 129 130 131
config PINCTRL_LANTIQ
	bool
	depends on LANTIQ
	select PINMUX
	select PINCONF

132 133 134 135 136 137 138 139 140
config PINCTRL_LPC18XX
	bool "NXP LPC18XX/43XX SCU pinctrl driver"
	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
	default ARCH_LPC18XX
	select PINMUX
	select GENERIC_PINCONF
	help
	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).

141 142 143 144 145
config PINCTRL_FALCON
	bool
	depends on SOC_FALCON
	depends on PINCTRL_LANTIQ

146 147 148 149 150
config PINCTRL_GEMINI
	bool
	depends on ARCH_GEMINI
	default ARCH_GEMINI
	select PINMUX
151
	select GENERIC_PINCONF
152 153
	select MFD_SYSCON

154 155 156
config PINCTRL_MCP23S08
	tristate "Microchip MCP23xxx I/O expander"
	depends on SPI_MASTER || I2C
157
	depends on I2C || I2C=n
158
	select GPIOLIB
159 160 161
	select GPIOLIB_IRQCHIP
	select REGMAP_I2C if I2C
	select REGMAP_SPI if SPI_MASTER
162
	select GENERIC_PINCONF
163
	help
164 165 166 167
	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
	  This provides a GPIO interface supporting inputs and outputs and a
	  corresponding interrupt-controller.
168

169 170 171 172 173 174 175 176 177 178 179
config PINCTRL_OXNAS
	bool
	depends on OF
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
	select GPIOLIB
	select OF_GPIO
	select GPIOLIB_IRQCHIP
	select MFD_SYSCON

180 181 182 183 184
config PINCTRL_ROCKCHIP
	bool
	select PINMUX
	select GENERIC_PINCONF
	select GENERIC_IRQ_CHIP
185
	select MFD_SYSCON
186

187 188 189 190 191 192 193 194 195 196 197
config PINCTRL_RZA1
	bool "Renesas RZ/A1 gpio and pinctrl driver"
	depends on OF
	depends on ARCH_R7S72100 || COMPILE_TEST
	select GPIOLIB
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	help
	  This selects pinctrl driver for Renesas RZ/A1 platforms.

198 199 200 201 202 203 204 205 206 207
config PINCTRL_RZN1
	bool "Renesas RZ/N1 pinctrl driver"
	depends on OF
	depends on ARCH_RZN1 || COMPILE_TEST
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select GENERIC_PINCONF
	help
	  This selects pinctrl driver for Renesas RZ/N1 devices.

208 209 210
config PINCTRL_SINGLE
	tristate "One-register-per-pin type device tree based pinctrl driver"
	depends on OF
211
	depends on HAS_IOMEM
212
	select GENERIC_PINCTRL_GROUPS
213
	select GENERIC_PINMUX_FUNCTIONS
214
	select GENERIC_PINCONF
215 216 217
	help
	  This selects the device tree based generic pinctrl driver.

218
config PINCTRL_SIRF
219
	bool "CSR SiRFprimaII pin controller driver"
220
	depends on ARCH_SIRF
221
	select PINMUX
222 223
	select PINCONF
	select GENERIC_PINCONF
224
	select GPIOLIB_IRQCHIP
225

226 227
config PINCTRL_SX150X
	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
228
	depends on I2C=y
229 230 231
	select PINMUX
	select PINCONF
	select GENERIC_PINCONF
232
	select GPIOLIB
233
	select GPIOLIB_IRQCHIP
234
	select REGMAP
235 236 237 238 239 240 241
	help
	  Say yes here to provide support for Semtech SX150x-series I2C
	  GPIO expanders as pinctrl module.
	  Compatible models include:
	  - 8 bits:  sx1508q, sx1502q
	  - 16 bits: sx1509q, sx1506q

242 243 244 245 246 247 248 249
config PINCTRL_PISTACHIO
	def_bool y if MACH_PISTACHIO
	depends on GPIOLIB
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB_IRQCHIP
	select OF_GPIO

250 251 252 253 254
config PINCTRL_ST
	bool
	depends on OF
	select PINMUX
	select PINCONF
255
	select GPIOLIB_IRQCHIP
256

257 258
config PINCTRL_U300
	bool "U300 pin controller driver"
259 260
	depends on ARCH_U300
	select PINMUX
261
	select GENERIC_PINCONF
262

263 264
config PINCTRL_COH901
	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
265
	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
266
	select GPIOLIB_IRQCHIP
267 268 269 270 271 272
	help
	  Say yes here to support GPIO interface on ST-Ericsson U300.
	  The names of the two IP block variants supported are
	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
	  ports of 8 GPIO pins each.

273 274
config PINCTRL_MAX77620
	tristate "MAX77620/MAX20024 Pincontrol support"
275
	depends on MFD_MAX77620 && OF
276
	select PINMUX
277 278 279 280 281 282 283
	select GENERIC_PINCONF
	help
	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
	  This PMIC has 8 GPIO pins that work as GPIO as well as special
	  function in alternate mode. This driver also configure push-pull,
	  open drain, FPS slots etc.

284
config PINCTRL_PALMAS
285
	tristate "Pinctrl driver for the PALMAS Series MFD devices"
286
	depends on OF && MFD_PALMAS
287
	select PINMUX
288 289 290 291 292 293 294
	select GENERIC_PINCONF
	help
	  Palmas device supports the configuration of pins for different
	  functionality. This driver supports the pinmux, push-pull and
	  open drain configuration for the Palmas series devices like
	  TPS65913, TPS80036 etc.

295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311
config PINCTRL_PIC32
	bool "Microchip PIC32 pin controller driver"
	depends on OF
	depends on MACH_PIC32
	select PINMUX
	select GENERIC_PINCONF
	select GPIOLIB_IRQCHIP
	select OF_GPIO
	help
	  This is the pin controller and gpio driver for Microchip PIC32
	  microcontrollers. This option is selected automatically when specific
	  machine and arch are selected to build.

config PINCTRL_PIC32MZDA
	def_bool y if PIC32MZDA
	select PINCTRL_PIC32

312 313 314 315 316 317
config PINCTRL_ZYNQ
	bool "Pinctrl driver for Xilinx Zynq"
	depends on ARCH_ZYNQ
	select PINMUX
	select GENERIC_PINCONF
	help
318
	  This selects the pinctrl driver for Xilinx Zynq.
319

320 321
config PINCTRL_INGENIC
	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
322
	default MACH_INGENIC
323
	depends on OF
324
	depends on MIPS || COMPILE_TEST
325 326 327
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
328 329
	select GPIOLIB
	select GPIOLIB_IRQCHIP
330 331
	select REGMAP_MMIO

332 333 334 335 336 337 338 339 340
config PINCTRL_RK805
	tristate "Pinctrl and GPIO driver for RK805 PMIC"
	depends on MFD_RK808
	select GPIOLIB
	select PINMUX
	select GENERIC_PINCONF
	help
	  This selects the pinctrl driver for RK805.

341 342 343 344 345 346
config PINCTRL_OCELOT
	bool "Pinctrl driver for the Microsemi Ocelot SoCs"
	default y
	depends on OF
	depends on MSCC_OCELOT || COMPILE_TEST
	select GPIOLIB
347
	select GPIOLIB_IRQCHIP
348 349 350 351 352
	select GENERIC_PINCONF
	select GENERIC_PINCTRL_GROUPS
	select GENERIC_PINMUX_FUNCTIONS
	select REGMAP_MMIO

353
source "drivers/pinctrl/actions/Kconfig"
354
source "drivers/pinctrl/aspeed/Kconfig"
355
source "drivers/pinctrl/bcm/Kconfig"
356
source "drivers/pinctrl/berlin/Kconfig"
357
source "drivers/pinctrl/freescale/Kconfig"
358
source "drivers/pinctrl/intel/Kconfig"
359
source "drivers/pinctrl/mvebu/Kconfig"
360
source "drivers/pinctrl/nomadik/Kconfig"
361
source "drivers/pinctrl/nuvoton/Kconfig"
362
source "drivers/pinctrl/pxa/Kconfig"
363
source "drivers/pinctrl/qcom/Kconfig"
364
source "drivers/pinctrl/samsung/Kconfig"
365
source "drivers/pinctrl/sh-pfc/Kconfig"
366
source "drivers/pinctrl/spear/Kconfig"
367
source "drivers/pinctrl/sprd/Kconfig"
368
source "drivers/pinctrl/stm32/Kconfig"
369
source "drivers/pinctrl/sunxi/Kconfig"
370
source "drivers/pinctrl/tegra/Kconfig"
371
source "drivers/pinctrl/ti/Kconfig"
372
source "drivers/pinctrl/uniphier/Kconfig"
373
source "drivers/pinctrl/vt8500/Kconfig"
374
source "drivers/pinctrl/mediatek/Kconfig"
375
source "drivers/pinctrl/zte/Kconfig"
376
source "drivers/pinctrl/meson/Kconfig"
377
source "drivers/pinctrl/cirrus/Kconfig"
378

379 380 381 382 383
config PINCTRL_XWAY
	bool
	depends on SOC_TYPE_XWAY
	depends on PINCTRL_LANTIQ

384 385
config PINCTRL_TB10X
	bool
386 387
	depends on OF && ARC_PLAT_TB10X
	select GPIOLIB
388

389
endif