xref: /linux/drivers/pinctrl/Kconfig (revision 6ceb3c64063cd7b7155709f5ff67b85aa8a0e20b)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
22744e8afSLinus Walleij#
32744e8afSLinus Walleij# PINCTRL infrastructure and drivers
42744e8afSLinus Walleij#
52744e8afSLinus Walleij
6d219b924SPhil Reidmenuconfig PINCTRL
7d219b924SPhil Reid	bool "Pin controllers"
82744e8afSLinus Walleij
9d219b924SPhil Reidif PINCTRL
1045f034efSLinus Walleij
11c033a718SLinus Walleijconfig GENERIC_PINCTRL_GROUPS
12c7059c5aSTony Lindgren	bool
13c7059c5aSTony Lindgren
142744e8afSLinus Walleijconfig PINMUX
15244e95a7SUwe Kleine-König	bool "Support pin multiplexing controllers" if COMPILE_TEST
16ae6b4d85SLinus Walleij
17a76edc89STony Lindgrenconfig GENERIC_PINMUX_FUNCTIONS
18a76edc89STony Lindgren	bool
19a76edc89STony Lindgren	select PINMUX
20a76edc89STony Lindgren
21ae6b4d85SLinus Walleijconfig PINCONF
22244e95a7SUwe Kleine-König	bool "Support pin configuration controllers" if COMPILE_TEST
232744e8afSLinus Walleij
24394349f7SLinus Walleijconfig GENERIC_PINCONF
25394349f7SLinus Walleij	bool
26394349f7SLinus Walleij	select PINCONF
27394349f7SLinus Walleij
282744e8afSLinus Walleijconfig DEBUG_PINCTRL
292744e8afSLinus Walleij	bool "Debug PINCTRL calls"
302744e8afSLinus Walleij	depends on DEBUG_KERNEL
312744e8afSLinus Walleij	help
322744e8afSLinus Walleij	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
332744e8afSLinus Walleij
3400df0582SJesper Nilssonconfig PINCTRL_ARTPEC6
3500df0582SJesper Nilsson	bool "Axis ARTPEC-6 pin controller driver"
3600df0582SJesper Nilsson	depends on MACH_ARTPEC6
3700df0582SJesper Nilsson	select PINMUX
3800df0582SJesper Nilsson	select GENERIC_PINCONF
3900df0582SJesper Nilsson	help
4000df0582SJesper Nilsson	  This is the driver for the Axis ARTPEC-6 pin controller. This driver
4100df0582SJesper Nilsson	  supports pin function multiplexing as well as pin bias and drive
4200df0582SJesper Nilsson	  strength configuration. Device tree integration instructions can be
4300df0582SJesper Nilsson	  found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
4400df0582SJesper Nilsson
45c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722
469385f35dSPaul Gortmaker	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
47c8ce8782SLaxman Dewangan	depends on MFD_AS3722 && GPIOLIB
48c8ce8782SLaxman Dewangan	select PINMUX
49c8ce8782SLaxman Dewangan	select GENERIC_PINCONF
50c8ce8782SLaxman Dewangan	help
51c8ce8782SLaxman Dewangan	  AS3722 device supports the configuration of GPIO pins for different
52c8ce8782SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
53c8ce8782SLaxman Dewangan	  open drain configuration for the GPIO pins of AS3722 devices. It also
54c8ce8782SLaxman Dewangan	  supports the GPIO functionality through gpiolib.
55c8ce8782SLaxman Dewangan
56449317a8SQuentin Schulzconfig PINCTRL_AXP209
57449317a8SQuentin Schulz	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
58449317a8SQuentin Schulz	depends on MFD_AXP20X
59971f1b38SQuentin Schulz	depends on OF
60971f1b38SQuentin Schulz	select PINMUX
61971f1b38SQuentin Schulz	select GENERIC_PINCONF
62971f1b38SQuentin Schulz	select GPIOLIB
63449317a8SQuentin Schulz	help
64449317a8SQuentin Schulz	  AXP PMICs provides multiple GPIOs that can be muxed for different
65449317a8SQuentin Schulz	  functions. This driver bundles a pinctrl driver to select the function
66449317a8SQuentin Schulz	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
67449317a8SQuentin Schulz	  selected.
68449317a8SQuentin Schulz	  Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
69449317a8SQuentin Schulz
706732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91
716732ae5cSJean-Christophe PLAGNIOL-VILLARD	bool "AT91 pinctrl driver"
726732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on OF
736732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on ARCH_AT91
746732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINMUX
756732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINCONF
7680cc3732SAlexander Stein	select GPIOLIB
7780cc3732SAlexander Stein	select OF_GPIO
7880cc3732SAlexander Stein	select GPIOLIB_IRQCHIP
796732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
806732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
816732ae5cSJean-Christophe PLAGNIOL-VILLARD
8277618084SLudovic Desrochesconfig PINCTRL_AT91PIO4
8377618084SLudovic Desroches	bool "AT91 PIO4 pinctrl driver"
8477618084SLudovic Desroches	depends on OF
850a03658dSTiezhu Yang	depends on HAS_IOMEM
86e682fcc7STiezhu Yang	depends on ARCH_AT91 || COMPILE_TEST
8777618084SLudovic Desroches	select PINMUX
8877618084SLudovic Desroches	select GENERIC_PINCONF
8977618084SLudovic Desroches	select GPIOLIB
9077618084SLudovic Desroches	select GPIOLIB_IRQCHIP
9177618084SLudovic Desroches	select OF_GPIO
9277618084SLudovic Desroches	help
9377618084SLudovic Desroches	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
9477618084SLudovic Desroches	  controller available on sama5d2 SoC.
9577618084SLudovic Desroches
96dbad75ddSKen Xueconfig PINCTRL_AMD
97337ea0fbSJean Delvare	tristate "AMD GPIO pin control"
98fd35b202SLinus Walleij	depends on HAS_IOMEM
9947fa5c97SGeert Uytterhoeven	depends on ACPI || COMPILE_TEST
100e2a021d4SLinus Walleij	select GPIOLIB
101dbad75ddSKen Xue	select GPIOLIB_IRQCHIP
10283b31c2aSPetr Mladek	select PINMUX
103dbad75ddSKen Xue	select PINCONF
104dbad75ddSKen Xue	select GENERIC_PINCONF
105dbad75ddSKen Xue	help
106dbad75ddSKen Xue	  driver for memory mapped GPIO functionality on AMD platforms
107dbad75ddSKen Xue	  (x86 or arm).Most pins are usually muxed to some other
108dbad75ddSKen Xue	  functionality by firmware,so only a small amount is available
109dbad75ddSKen Xue	  for gpio use.
110dbad75ddSKen Xue
111dbad75ddSKen Xue	  Requires ACPI/FDT device enumeration code to set up a platform
112dbad75ddSKen Xue	  device.
113dbad75ddSKen Xue
1148f3f0246SManivannan Sadhasivamconfig PINCTRL_BM1880
1158f3f0246SManivannan Sadhasivam	bool "Bitmain BM1880 Pinctrl driver"
1168293b3c6SManivannan Sadhasivam	depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
1178293b3c6SManivannan Sadhasivam	default ARCH_BITMAIN
1188f3f0246SManivannan Sadhasivam	select PINMUX
1198f3f0246SManivannan Sadhasivam	help
1208f3f0246SManivannan Sadhasivam	  Pinctrl driver for Bitmain BM1880 SoC.
1218f3f0246SManivannan Sadhasivam
1221ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD
1231ff91f0aSDavid Lechner	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
1241ff91f0aSDavid Lechner	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
1251ff91f0aSDavid Lechner	select PINCONF
1261ff91f0aSDavid Lechner	select GENERIC_PINCONF
1271ff91f0aSDavid Lechner	help
1281ff91f0aSDavid Lechner	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
1291ff91f0aSDavid Lechner	  pullup/pulldown pin groups.
1301ff91f0aSDavid Lechner
13156cc3af4SMarco Felschconfig PINCTRL_DA9062
13256cc3af4SMarco Felsch	tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
13356cc3af4SMarco Felsch	depends on MFD_DA9062
13456cc3af4SMarco Felsch	select GPIOLIB
13556cc3af4SMarco Felsch	help
13656cc3af4SMarco Felsch	  The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for
13756cc3af4SMarco Felsch	  different functions. This driver bundles a pinctrl driver to select the
13856cc3af4SMarco Felsch	  function muxing and a GPIO driver to handle the GPIO when the GPIO
13956cc3af4SMarco Felsch	  function is selected.
14056cc3af4SMarco Felsch
14156cc3af4SMarco Felsch	  Say yes to enable pinctrl and GPIO support for the DA9062 PMIC.
14256cc3af4SMarco Felsch
14338b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR
14438b0e507SBaruch Siach	bool
14538b0e507SBaruch Siach	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
14638b0e507SBaruch Siach	select PINMUX
14738b0e507SBaruch Siach	select GENERIC_PINCONF
14838b0e507SBaruch Siach
1493f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1503f8c50c9SJohn Crispin	bool
1513f8c50c9SJohn Crispin	depends on LANTIQ
1523f8c50c9SJohn Crispin	select PINMUX
1533f8c50c9SJohn Crispin	select PINCONF
1543f8c50c9SJohn Crispin
1552f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX
1562f77ac93SJoachim Eastwood	bool "NXP LPC18XX/43XX SCU pinctrl driver"
1572f77ac93SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
1582f77ac93SJoachim Eastwood	default ARCH_LPC18XX
1592f77ac93SJoachim Eastwood	select PINMUX
1602f77ac93SJoachim Eastwood	select GENERIC_PINCONF
1612f77ac93SJoachim Eastwood	help
1622f77ac93SJoachim Eastwood	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
1632f77ac93SJoachim Eastwood
164e316cb2bSJohn Crispinconfig PINCTRL_FALCON
165e316cb2bSJohn Crispin	bool
166e316cb2bSJohn Crispin	depends on SOC_FALCON
167e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
168e316cb2bSJohn Crispin
16906351d13SLinus Walleijconfig PINCTRL_GEMINI
17006351d13SLinus Walleij	bool
17106351d13SLinus Walleij	depends on ARCH_GEMINI
17206351d13SLinus Walleij	default ARCH_GEMINI
17306351d13SLinus Walleij	select PINMUX
1741c5b7f3cSLinus Walleij	select GENERIC_PINCONF
17506351d13SLinus Walleij	select MFD_SYSCON
17606351d13SLinus Walleij
1770f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_I2C
1780f04a817SAndy Shevchenko	tristate
1790f04a817SAndy Shevchenko	select REGMAP_I2C
1800f04a817SAndy Shevchenko
1810f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_SPI
1820f04a817SAndy Shevchenko	tristate
1830f04a817SAndy Shevchenko	select REGMAP_SPI
1840f04a817SAndy Shevchenko
18564ac43e6SSebastian Reichelconfig PINCTRL_MCP23S08
18664ac43e6SSebastian Reichel	tristate "Microchip MCP23xxx I/O expander"
18764ac43e6SSebastian Reichel	depends on SPI_MASTER || I2C
188e2a021d4SLinus Walleij	select GPIOLIB
18964ac43e6SSebastian Reichel	select GPIOLIB_IRQCHIP
19082039d24SSebastian Reichel	select GENERIC_PINCONF
1910f04a817SAndy Shevchenko	select PINCTRL_MCP23S08_I2C if I2C
1920f04a817SAndy Shevchenko	select PINCTRL_MCP23S08_SPI if SPI_MASTER
19364ac43e6SSebastian Reichel	help
1946ff45566SJan Kundrát	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
1956ff45566SJan Kundrát	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
1966ff45566SJan Kundrát	  This provides a GPIO interface supporting inputs and outputs and a
1976ff45566SJan Kundrát	  corresponding interrupt-controller.
19864ac43e6SSebastian Reichel
199611dac1eSNeil Armstrongconfig PINCTRL_OXNAS
200611dac1eSNeil Armstrong	bool
201611dac1eSNeil Armstrong	depends on OF
202611dac1eSNeil Armstrong	select PINMUX
203611dac1eSNeil Armstrong	select PINCONF
204611dac1eSNeil Armstrong	select GENERIC_PINCONF
205611dac1eSNeil Armstrong	select GPIOLIB
206611dac1eSNeil Armstrong	select OF_GPIO
207611dac1eSNeil Armstrong	select GPIOLIB_IRQCHIP
208611dac1eSNeil Armstrong	select MFD_SYSCON
209611dac1eSNeil Armstrong
210d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
211be786ac5SJianqun Xu	tristate "Rockchip gpio and pinctrl driver"
212febb4ee2SGeert Uytterhoeven	depends on ARCH_ROCKCHIP || COMPILE_TEST
2130662e4a1SHeiko Stuebner	depends on OF
21425fda51cSJianqun Xu	select GPIOLIB
215d3e51161SHeiko Stübner	select PINMUX
216d3e51161SHeiko Stübner	select GENERIC_PINCONF
217d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
218751a99abSHeiko Stübner	select MFD_SYSCON
2190662e4a1SHeiko Stuebner	select OF_GPIO
22025fda51cSJianqun Xu	default ARCH_ROCKCHIP
22125fda51cSJianqun Xu	help
22225fda51cSJianqun Xu          This support pinctrl and gpio driver for Rockchip SoCs.
223d3e51161SHeiko Stübner
2248b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
2258b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
2268b8b091bSTony Lindgren	depends on OF
227fd35b202SLinus Walleij	depends on HAS_IOMEM
228caeb774eSTony Lindgren	select GENERIC_PINCTRL_GROUPS
229571aec4dSTony Lindgren	select GENERIC_PINMUX_FUNCTIONS
2309dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
2318b8b091bSTony Lindgren	help
2328b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
2338b8b091bSTony Lindgren
2349e80f906SNeil Armstrongconfig PINCTRL_SX150X
2359e80f906SNeil Armstrong	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
236e2a021d4SLinus Walleij	depends on I2C=y
2379e80f906SNeil Armstrong	select PINMUX
2389e80f906SNeil Armstrong	select PINCONF
2399e80f906SNeil Armstrong	select GENERIC_PINCONF
240e2a021d4SLinus Walleij	select GPIOLIB
2419e80f906SNeil Armstrong	select GPIOLIB_IRQCHIP
2420db0f26cSAndrey Smirnov	select REGMAP
2439e80f906SNeil Armstrong	help
2449e80f906SNeil Armstrong	  Say yes here to provide support for Semtech SX150x-series I2C
2459e80f906SNeil Armstrong	  GPIO expanders as pinctrl module.
2469e80f906SNeil Armstrong	  Compatible models include:
2479e80f906SNeil Armstrong	  - 8 bits:  sx1508q, sx1502q
2489e80f906SNeil Armstrong	  - 16 bits: sx1509q, sx1506q
2499e80f906SNeil Armstrong
250cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO
251*6ceb3c64SJiaxun Yang	bool "IMG Pistachio SoC pinctrl driver"
252*6ceb3c64SJiaxun Yang	depends on OF && (MIPS || COMPILE_TEST)
253cefc03e5SAndrew Bresticker	depends on GPIOLIB
254cefc03e5SAndrew Bresticker	select PINMUX
255cefc03e5SAndrew Bresticker	select GENERIC_PINCONF
256cefc03e5SAndrew Bresticker	select GPIOLIB_IRQCHIP
257cefc03e5SAndrew Bresticker	select OF_GPIO
258*6ceb3c64SJiaxun Yang    help
259*6ceb3c64SJiaxun Yang	  This support pinctrl and gpio driver for IMG Pistachio SoC.
260cefc03e5SAndrew Bresticker
261701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
262701016c0SSrinivas KANDAGATLA	bool
263701016c0SSrinivas KANDAGATLA	depends on OF
264701016c0SSrinivas KANDAGATLA	select PINMUX
265701016c0SSrinivas KANDAGATLA	select PINCONF
266130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
267701016c0SSrinivas KANDAGATLA
2681490d9f8SAmelie Delaunayconfig PINCTRL_STMFX
2691490d9f8SAmelie Delaunay	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
2709af2de76SAmelie Delaunay	depends on I2C
271ec2e0f4fSAmelie Delaunay	depends on OF_GPIO
2721490d9f8SAmelie Delaunay	select GENERIC_PINCONF
2731490d9f8SAmelie Delaunay	select GPIOLIB_IRQCHIP
2741490d9f8SAmelie Delaunay	select MFD_STMFX
2751490d9f8SAmelie Delaunay	help
2761490d9f8SAmelie Delaunay	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
2771490d9f8SAmelie Delaunay	  GPIO expander.
2781490d9f8SAmelie Delaunay	  This provides a GPIO interface supporting inputs and outputs,
2791490d9f8SAmelie Delaunay	  and configuring push-pull, open-drain, and can also be used as
2801490d9f8SAmelie Delaunay	  interrupt-controller.
2811490d9f8SAmelie Delaunay
2822df723d4SLaxman Dewanganconfig PINCTRL_MAX77620
2832df723d4SLaxman Dewangan	tristate "MAX77620/MAX20024 Pincontrol support"
28424d6a91cSArnd Bergmann	depends on MFD_MAX77620 && OF
28579f28b9fSArnd Bergmann	select PINMUX
2862df723d4SLaxman Dewangan	select GENERIC_PINCONF
2872df723d4SLaxman Dewangan	help
2882df723d4SLaxman Dewangan	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
2892df723d4SLaxman Dewangan	  This PMIC has 8 GPIO pins that work as GPIO as well as special
2902df723d4SLaxman Dewangan	  function in alternate mode. This driver also configure push-pull,
2912df723d4SLaxman Dewangan	  open drain, FPS slots etc.
2922df723d4SLaxman Dewangan
2930a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
294767b8ce3SPaul Gortmaker	tristate "Pinctrl driver for the PALMAS Series MFD devices"
2950a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
29663ca8db7SAxel Lin	select PINMUX
2970a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
2980a8d3e24SLaxman Dewangan	help
2990a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
3000a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
3010a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
3020a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
3030a8d3e24SLaxman Dewangan
3042ba384e6SJoshua Hendersonconfig PINCTRL_PIC32
3052ba384e6SJoshua Henderson	bool "Microchip PIC32 pin controller driver"
3062ba384e6SJoshua Henderson	depends on OF
3072ba384e6SJoshua Henderson	depends on MACH_PIC32
3082ba384e6SJoshua Henderson	select PINMUX
3092ba384e6SJoshua Henderson	select GENERIC_PINCONF
3102ba384e6SJoshua Henderson	select GPIOLIB_IRQCHIP
3112ba384e6SJoshua Henderson	select OF_GPIO
3122ba384e6SJoshua Henderson	help
3132ba384e6SJoshua Henderson	  This is the pin controller and gpio driver for Microchip PIC32
3142ba384e6SJoshua Henderson	  microcontrollers. This option is selected automatically when specific
3152ba384e6SJoshua Henderson	  machine and arch are selected to build.
3162ba384e6SJoshua Henderson
3172ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA
3182ba384e6SJoshua Henderson	def_bool y if PIC32MZDA
3192ba384e6SJoshua Henderson	select PINCTRL_PIC32
3202ba384e6SJoshua Henderson
321add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ
322add958ceSSoren Brinkmann	bool "Pinctrl driver for Xilinx Zynq"
323add958ceSSoren Brinkmann	depends on ARCH_ZYNQ
324add958ceSSoren Brinkmann	select PINMUX
325add958ceSSoren Brinkmann	select GENERIC_PINCONF
326add958ceSSoren Brinkmann	help
327485dba27SMasahiro Yamada	  This selects the pinctrl driver for Xilinx Zynq.
328add958ceSSoren Brinkmann
3298b242ca7SSai Krishna Potthuriconfig PINCTRL_ZYNQMP
3308b242ca7SSai Krishna Potthuri	tristate "Pinctrl driver for Xilinx ZynqMP"
3318b242ca7SSai Krishna Potthuri	depends on ZYNQMP_FIRMWARE
3328b242ca7SSai Krishna Potthuri	select PINMUX
3338b242ca7SSai Krishna Potthuri	select GENERIC_PINCONF
3348b242ca7SSai Krishna Potthuri	default ZYNQMP_FIRMWARE
3358b242ca7SSai Krishna Potthuri	help
3368b242ca7SSai Krishna Potthuri	  This selects the pinctrl driver for Xilinx ZynqMP platform.
3378b242ca7SSai Krishna Potthuri	  This driver will query the pin information from the firmware
3388b242ca7SSai Krishna Potthuri	  and allow configuring the pins.
3398b242ca7SSai Krishna Potthuri	  Configuration can include the mux function to select on those
3408b242ca7SSai Krishna Potthuri	  pin(s)/group(s), and various pin configuration parameters
3418b242ca7SSai Krishna Potthuri	  such as pull-up, slew rate, etc.
342fa99e701SSai Krishna Potthuri	  This driver can also be built as a module. If so, the module
343fa99e701SSai Krishna Potthuri	  will be called pinctrl-zynqmp.
3448b242ca7SSai Krishna Potthuri
345b5c23aa4SPaul Cercueilconfig PINCTRL_INGENIC
346b5c23aa4SPaul Cercueil	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
347635c20a1SPaul Cercueil	default MACH_INGENIC
348c504985eSLinus Walleij	depends on OF
349635c20a1SPaul Cercueil	depends on MIPS || COMPILE_TEST
350b5c23aa4SPaul Cercueil	select GENERIC_PINCONF
351b5c23aa4SPaul Cercueil	select GENERIC_PINCTRL_GROUPS
352b5c23aa4SPaul Cercueil	select GENERIC_PINMUX_FUNCTIONS
353e72394e2SPaul Cercueil	select GPIOLIB
354e72394e2SPaul Cercueil	select GPIOLIB_IRQCHIP
355b5c23aa4SPaul Cercueil	select REGMAP_MMIO
356b5c23aa4SPaul Cercueil
357ea479996SJoseph Chenconfig PINCTRL_RK805
358ea479996SJoseph Chen	tristate "Pinctrl and GPIO driver for RK805 PMIC"
359ea479996SJoseph Chen	depends on MFD_RK808
360ea479996SJoseph Chen	select GPIOLIB
361ea479996SJoseph Chen	select PINMUX
362ea479996SJoseph Chen	select GENERIC_PINCONF
363ea479996SJoseph Chen	help
364ea479996SJoseph Chen	  This selects the pinctrl driver for RK805.
365ea479996SJoseph Chen
366ce8dc094SAlexandre Belloniconfig PINCTRL_OCELOT
367da801ab5SAlexandre Belloni	bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
368ce8dc094SAlexandre Belloni	depends on OF
3692dab3dd1SLinus Walleij	depends on HAS_IOMEM
370ce8dc094SAlexandre Belloni	select GPIOLIB
371be36abb7SQuentin Schulz	select GPIOLIB_IRQCHIP
372ce8dc094SAlexandre Belloni	select GENERIC_PINCONF
373ce8dc094SAlexandre Belloni	select GENERIC_PINCTRL_GROUPS
374ce8dc094SAlexandre Belloni	select GENERIC_PINMUX_FUNCTIONS
375da801ab5SAlexandre Belloni	select OF_GPIO
376ce8dc094SAlexandre Belloni	select REGMAP_MMIO
377ce8dc094SAlexandre Belloni
3787e5ea974SLars Povlsenconfig PINCTRL_MICROCHIP_SGPIO
3797e5ea974SLars Povlsen	bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
380552a9cc0SLars Povlsen	depends on OF
3817e5ea974SLars Povlsen	depends on HAS_IOMEM
3827e5ea974SLars Povlsen	select GPIOLIB
383be2dc859SLars Povlsen	select GPIOLIB_IRQCHIP
3847e5ea974SLars Povlsen	select GENERIC_PINCONF
3857e5ea974SLars Povlsen	select GENERIC_PINCTRL_GROUPS
3867e5ea974SLars Povlsen	select GENERIC_PINMUX_FUNCTIONS
387552a9cc0SLars Povlsen	select OF_GPIO
3887e5ea974SLars Povlsen	help
3897e5ea974SLars Povlsen	  Support for the serial GPIO interface used on Microsemi and
3907e5ea974SLars Povlsen	  Microchip SoC's. By using a serial interface, the SIO
3917e5ea974SLars Povlsen	  controller significantly extends the number of available
3927e5ea974SLars Povlsen	  GPIOs with a minimum number of additional pins on the
3937e5ea974SLars Povlsen	  device. The primary purpose of the SIO controller is to
3947e5ea974SLars Povlsen	  connect control signals from SFP modules and to act as an
3957e5ea974SLars Povlsen	  LED controller.
3967e5ea974SLars Povlsen
397d4c34d09SDamien Le Moalconfig PINCTRL_K210
398d4c34d09SDamien Le Moal	bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
399d4c34d09SDamien Le Moal	depends on RISCV && SOC_CANAAN && OF
400d4c34d09SDamien Le Moal	select GENERIC_PINMUX_FUNCTIONS
401d4c34d09SDamien Le Moal	select GENERIC_PINCONF
402d4c34d09SDamien Le Moal	select GPIOLIB
403d4c34d09SDamien Le Moal	select OF_GPIO
404d4c34d09SDamien Le Moal	select REGMAP_MMIO
405d4c34d09SDamien Le Moal	default SOC_CANAAN
406d4c34d09SDamien Le Moal	help
407d4c34d09SDamien Le Moal	  Add support for the Canaan Kendryte K210 RISC-V SOC Field
408d4c34d09SDamien Le Moal	  Programmable IO Array (FPIOA) controller.
409d4c34d09SDamien Le Moal
4102242ddfbSManivannan Sadhasivamsource "drivers/pinctrl/actions/Kconfig"
4114d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig"
412b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig"
4133de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
414edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig"
4155fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig"
41606763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
4173a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig"
4183b588e43STomer Maimonsource "drivers/pinctrl/nuvoton/Kconfig"
4194b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig"
42069b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
421518b466aSSergio Paracuellossource "drivers/pinctrl/ralink/Kconfig"
422077365a9SGeert Uytterhoevensource "drivers/pinctrl/renesas/Kconfig"
423ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
424deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
42541d32cfcSBaolin Wangsource "drivers/pinctrl/sprd/Kconfig"
426aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig"
4275f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
42825cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig"
429003910ebSNishanth Menonsource "drivers/pinctrl/ti/Kconfig"
4306e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig"
431170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
432a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig"
433277d14ebSJerome Brunetsource "drivers/pinctrl/meson/Kconfig"
434218d72a7SRichard Fitzgeraldsource "drivers/pinctrl/cirrus/Kconfig"
435a68a7844SNobuhiro Iwamatsusource "drivers/pinctrl/visconti/Kconfig"
436deda8287SViresh Kumar
4373f8c50c9SJohn Crispinconfig PINCTRL_XWAY
4383f8c50c9SJohn Crispin	bool
4393f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
4403f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
4413f8c50c9SJohn Crispin
4425aad0db1SChristian Ruppertconfig PINCTRL_TB10X
4435aad0db1SChristian Ruppert	bool
444b99e6fb8SLinus Walleij	depends on OF && ARC_PLAT_TB10X
445b99e6fb8SLinus Walleij	select GPIOLIB
4465aad0db1SChristian Ruppert
4471948d5c5SRahul Tanwarconfig PINCTRL_EQUILIBRIUM
4481948d5c5SRahul Tanwar	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
4499e65527aSPaul Cercueil	depends on OF && HAS_IOMEM
45080691a8aSGeert Uytterhoeven	depends on X86 || COMPILE_TEST
4511948d5c5SRahul Tanwar	select PINMUX
4521948d5c5SRahul Tanwar	select PINCONF
4531948d5c5SRahul Tanwar	select GPIOLIB
4541948d5c5SRahul Tanwar	select GPIO_GENERIC
4551948d5c5SRahul Tanwar	select GPIOLIB_IRQCHIP
4561948d5c5SRahul Tanwar	select GENERIC_PINCONF
4571948d5c5SRahul Tanwar	select GENERIC_PINCTRL_GROUPS
4581948d5c5SRahul Tanwar	select GENERIC_PINMUX_FUNCTIONS
4591948d5c5SRahul Tanwar
4601948d5c5SRahul Tanwar	help
4611948d5c5SRahul Tanwar	  Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning
4621948d5c5SRahul Tanwar	  Mountain network processor SoC that supports both the linux GPIO and pin
4631948d5c5SRahul Tanwar	  control frameworks. It provides interfaces to setup pinmux, assign desired
4641948d5c5SRahul Tanwar	  pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and
4651948d5c5SRahul Tanwar	  pinconf settings are retrieved from device tree.
4661948d5c5SRahul Tanwar
467d219b924SPhil Reidendif
468