xref: /linux/drivers/pinctrl/Kconfig (revision ec648f6b7686b716424e8e73eebb4c11ae199187)
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
34a0f160ffSJoey Goulyconfig PINCTRL_APPLE_GPIO
35a0f160ffSJoey Gouly	tristate "Apple SoC GPIO pin controller driver"
36a0f160ffSJoey Gouly	depends on ARCH_APPLE
37a0f160ffSJoey Gouly	select PINMUX
38a0f160ffSJoey Gouly	select GPIOLIB
39a0f160ffSJoey Gouly	select GPIOLIB_IRQCHIP
40a0f160ffSJoey Gouly	select GENERIC_PINCTRL_GROUPS
41a0f160ffSJoey Gouly	select GENERIC_PINMUX_FUNCTIONS
42a0f160ffSJoey Gouly	select OF_GPIO
43a0f160ffSJoey Gouly	help
44a0f160ffSJoey Gouly	  This is the driver for the GPIO controller found on Apple ARM SoCs,
45a0f160ffSJoey Gouly	  including M1.
46a0f160ffSJoey Gouly
47a0f160ffSJoey Gouly	  This driver can also be built as a module. If so, the module
48a0f160ffSJoey Gouly	  will be called pinctrl-apple-gpio.
49a0f160ffSJoey Gouly
5000df0582SJesper Nilssonconfig PINCTRL_ARTPEC6
5100df0582SJesper Nilsson	bool "Axis ARTPEC-6 pin controller driver"
5200df0582SJesper Nilsson	depends on MACH_ARTPEC6
5300df0582SJesper Nilsson	select PINMUX
5400df0582SJesper Nilsson	select GENERIC_PINCONF
5500df0582SJesper Nilsson	help
5600df0582SJesper Nilsson	  This is the driver for the Axis ARTPEC-6 pin controller. This driver
5700df0582SJesper Nilsson	  supports pin function multiplexing as well as pin bias and drive
5800df0582SJesper Nilsson	  strength configuration. Device tree integration instructions can be
5900df0582SJesper Nilsson	  found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
6000df0582SJesper Nilsson
61c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722
629385f35dSPaul Gortmaker	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
63c8ce8782SLaxman Dewangan	depends on MFD_AS3722 && GPIOLIB
64c8ce8782SLaxman Dewangan	select PINMUX
65c8ce8782SLaxman Dewangan	select GENERIC_PINCONF
66c8ce8782SLaxman Dewangan	help
67c8ce8782SLaxman Dewangan	  AS3722 device supports the configuration of GPIO pins for different
68c8ce8782SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
69c8ce8782SLaxman Dewangan	  open drain configuration for the GPIO pins of AS3722 devices. It also
70c8ce8782SLaxman Dewangan	  supports the GPIO functionality through gpiolib.
71c8ce8782SLaxman Dewangan
72449317a8SQuentin Schulzconfig PINCTRL_AXP209
73449317a8SQuentin Schulz	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
74449317a8SQuentin Schulz	depends on MFD_AXP20X
75971f1b38SQuentin Schulz	depends on OF
76971f1b38SQuentin Schulz	select PINMUX
77971f1b38SQuentin Schulz	select GENERIC_PINCONF
78971f1b38SQuentin Schulz	select GPIOLIB
79449317a8SQuentin Schulz	help
80449317a8SQuentin Schulz	  AXP PMICs provides multiple GPIOs that can be muxed for different
81449317a8SQuentin Schulz	  functions. This driver bundles a pinctrl driver to select the function
82449317a8SQuentin Schulz	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
83449317a8SQuentin Schulz	  selected.
84449317a8SQuentin Schulz	  Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
85449317a8SQuentin Schulz
866732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91
876732ae5cSJean-Christophe PLAGNIOL-VILLARD	bool "AT91 pinctrl driver"
886732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on OF
896732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on ARCH_AT91
906732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINMUX
916732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINCONF
9280cc3732SAlexander Stein	select GPIOLIB
9380cc3732SAlexander Stein	select OF_GPIO
9480cc3732SAlexander Stein	select GPIOLIB_IRQCHIP
956732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
966732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
976732ae5cSJean-Christophe PLAGNIOL-VILLARD
9877618084SLudovic Desrochesconfig PINCTRL_AT91PIO4
9977618084SLudovic Desroches	bool "AT91 PIO4 pinctrl driver"
10077618084SLudovic Desroches	depends on OF
1010a03658dSTiezhu Yang	depends on HAS_IOMEM
102e682fcc7STiezhu Yang	depends on ARCH_AT91 || COMPILE_TEST
10377618084SLudovic Desroches	select PINMUX
10477618084SLudovic Desroches	select GENERIC_PINCONF
10577618084SLudovic Desroches	select GPIOLIB
10677618084SLudovic Desroches	select GPIOLIB_IRQCHIP
10777618084SLudovic Desroches	select OF_GPIO
10877618084SLudovic Desroches	help
10977618084SLudovic Desroches	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
11077618084SLudovic Desroches	  controller available on sama5d2 SoC.
11177618084SLudovic Desroches
112dbad75ddSKen Xueconfig PINCTRL_AMD
113337ea0fbSJean Delvare	tristate "AMD GPIO pin control"
114fd35b202SLinus Walleij	depends on HAS_IOMEM
11547fa5c97SGeert Uytterhoeven	depends on ACPI || COMPILE_TEST
116e2a021d4SLinus Walleij	select GPIOLIB
117dbad75ddSKen Xue	select GPIOLIB_IRQCHIP
11883b31c2aSPetr Mladek	select PINMUX
119dbad75ddSKen Xue	select PINCONF
120dbad75ddSKen Xue	select GENERIC_PINCONF
121dbad75ddSKen Xue	help
122dbad75ddSKen Xue	  driver for memory mapped GPIO functionality on AMD platforms
123dbad75ddSKen Xue	  (x86 or arm).Most pins are usually muxed to some other
124dbad75ddSKen Xue	  functionality by firmware,so only a small amount is available
125dbad75ddSKen Xue	  for gpio use.
126dbad75ddSKen Xue
127dbad75ddSKen Xue	  Requires ACPI/FDT device enumeration code to set up a platform
128dbad75ddSKen Xue	  device.
129dbad75ddSKen Xue
1308f3f0246SManivannan Sadhasivamconfig PINCTRL_BM1880
1318f3f0246SManivannan Sadhasivam	bool "Bitmain BM1880 Pinctrl driver"
1328293b3c6SManivannan Sadhasivam	depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
1338293b3c6SManivannan Sadhasivam	default ARCH_BITMAIN
1348f3f0246SManivannan Sadhasivam	select PINMUX
1358f3f0246SManivannan Sadhasivam	help
1368f3f0246SManivannan Sadhasivam	  Pinctrl driver for Bitmain BM1880 SoC.
1378f3f0246SManivannan Sadhasivam
1381ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD
1391ff91f0aSDavid Lechner	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
1401ff91f0aSDavid Lechner	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
1411ff91f0aSDavid Lechner	select PINCONF
1421ff91f0aSDavid Lechner	select GENERIC_PINCONF
1431ff91f0aSDavid Lechner	help
1441ff91f0aSDavid Lechner	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
1451ff91f0aSDavid Lechner	  pullup/pulldown pin groups.
1461ff91f0aSDavid Lechner
14756cc3af4SMarco Felschconfig PINCTRL_DA9062
14856cc3af4SMarco Felsch	tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
14956cc3af4SMarco Felsch	depends on MFD_DA9062
15056cc3af4SMarco Felsch	select GPIOLIB
15156cc3af4SMarco Felsch	help
15256cc3af4SMarco Felsch	  The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for
15356cc3af4SMarco Felsch	  different functions. This driver bundles a pinctrl driver to select the
15456cc3af4SMarco Felsch	  function muxing and a GPIO driver to handle the GPIO when the GPIO
15556cc3af4SMarco Felsch	  function is selected.
15656cc3af4SMarco Felsch
15756cc3af4SMarco Felsch	  Say yes to enable pinctrl and GPIO support for the DA9062 PMIC.
15856cc3af4SMarco Felsch
15938b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR
16038b0e507SBaruch Siach	bool
16138b0e507SBaruch Siach	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
16238b0e507SBaruch Siach	select PINMUX
16338b0e507SBaruch Siach	select GENERIC_PINCONF
16438b0e507SBaruch Siach
1653f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1663f8c50c9SJohn Crispin	bool
1673f8c50c9SJohn Crispin	depends on LANTIQ
1683f8c50c9SJohn Crispin	select PINMUX
1693f8c50c9SJohn Crispin	select PINCONF
1703f8c50c9SJohn Crispin
1712f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX
1722f77ac93SJoachim Eastwood	bool "NXP LPC18XX/43XX SCU pinctrl driver"
1732f77ac93SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
1742f77ac93SJoachim Eastwood	default ARCH_LPC18XX
1752f77ac93SJoachim Eastwood	select PINMUX
1762f77ac93SJoachim Eastwood	select GENERIC_PINCONF
1772f77ac93SJoachim Eastwood	help
1782f77ac93SJoachim Eastwood	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
1792f77ac93SJoachim Eastwood
180e316cb2bSJohn Crispinconfig PINCTRL_FALCON
181e316cb2bSJohn Crispin	bool
182e316cb2bSJohn Crispin	depends on SOC_FALCON
183e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
184e316cb2bSJohn Crispin
18506351d13SLinus Walleijconfig PINCTRL_GEMINI
18606351d13SLinus Walleij	bool
18706351d13SLinus Walleij	depends on ARCH_GEMINI
18806351d13SLinus Walleij	default ARCH_GEMINI
18906351d13SLinus Walleij	select PINMUX
1901c5b7f3cSLinus Walleij	select GENERIC_PINCONF
19106351d13SLinus Walleij	select MFD_SYSCON
19206351d13SLinus Walleij
1930f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_I2C
1940f04a817SAndy Shevchenko	tristate
1950f04a817SAndy Shevchenko	select REGMAP_I2C
1960f04a817SAndy Shevchenko
1970f04a817SAndy Shevchenkoconfig PINCTRL_MCP23S08_SPI
1980f04a817SAndy Shevchenko	tristate
1990f04a817SAndy Shevchenko	select REGMAP_SPI
2000f04a817SAndy Shevchenko
20164ac43e6SSebastian Reichelconfig PINCTRL_MCP23S08
20264ac43e6SSebastian Reichel	tristate "Microchip MCP23xxx I/O expander"
20364ac43e6SSebastian Reichel	depends on SPI_MASTER || I2C
204e2a021d4SLinus Walleij	select GPIOLIB
20564ac43e6SSebastian Reichel	select GPIOLIB_IRQCHIP
20682039d24SSebastian Reichel	select GENERIC_PINCONF
2070f04a817SAndy Shevchenko	select PINCTRL_MCP23S08_I2C if I2C
2080f04a817SAndy Shevchenko	select PINCTRL_MCP23S08_SPI if SPI_MASTER
20964ac43e6SSebastian Reichel	help
2106ff45566SJan Kundrát	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
2116ff45566SJan Kundrát	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
2126ff45566SJan Kundrát	  This provides a GPIO interface supporting inputs and outputs and a
2136ff45566SJan Kundrát	  corresponding interrupt-controller.
21464ac43e6SSebastian Reichel
215611dac1eSNeil Armstrongconfig PINCTRL_OXNAS
216611dac1eSNeil Armstrong	bool
217611dac1eSNeil Armstrong	depends on OF
218611dac1eSNeil Armstrong	select PINMUX
219611dac1eSNeil Armstrong	select PINCONF
220611dac1eSNeil Armstrong	select GENERIC_PINCONF
221611dac1eSNeil Armstrong	select GPIOLIB
222611dac1eSNeil Armstrong	select OF_GPIO
223611dac1eSNeil Armstrong	select GPIOLIB_IRQCHIP
224611dac1eSNeil Armstrong	select MFD_SYSCON
225611dac1eSNeil Armstrong
226d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
227be786ac5SJianqun Xu	tristate "Rockchip gpio and pinctrl driver"
228febb4ee2SGeert Uytterhoeven	depends on ARCH_ROCKCHIP || COMPILE_TEST
2290662e4a1SHeiko Stuebner	depends on OF
23025fda51cSJianqun Xu	select GPIOLIB
231d3e51161SHeiko Stübner	select PINMUX
232d3e51161SHeiko Stübner	select GENERIC_PINCONF
233d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
234751a99abSHeiko Stübner	select MFD_SYSCON
2350662e4a1SHeiko Stuebner	select OF_GPIO
23625fda51cSJianqun Xu	default ARCH_ROCKCHIP
23725fda51cSJianqun Xu	help
23825fda51cSJianqun Xu          This support pinctrl and gpio driver for Rockchip SoCs.
239d3e51161SHeiko Stübner
2408b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
2418b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
2428b8b091bSTony Lindgren	depends on OF
243fd35b202SLinus Walleij	depends on HAS_IOMEM
244caeb774eSTony Lindgren	select GENERIC_PINCTRL_GROUPS
245571aec4dSTony Lindgren	select GENERIC_PINMUX_FUNCTIONS
2469dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
2478b8b091bSTony Lindgren	help
2488b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
2498b8b091bSTony Lindgren
2509e80f906SNeil Armstrongconfig PINCTRL_SX150X
2519e80f906SNeil Armstrong	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
252e2a021d4SLinus Walleij	depends on I2C=y
2539e80f906SNeil Armstrong	select PINMUX
2549e80f906SNeil Armstrong	select PINCONF
2559e80f906SNeil Armstrong	select GENERIC_PINCONF
256e2a021d4SLinus Walleij	select GPIOLIB
2579e80f906SNeil Armstrong	select GPIOLIB_IRQCHIP
2580db0f26cSAndrey Smirnov	select REGMAP
2599e80f906SNeil Armstrong	help
2609e80f906SNeil Armstrong	  Say yes here to provide support for Semtech SX150x-series I2C
2619e80f906SNeil Armstrong	  GPIO expanders as pinctrl module.
2629e80f906SNeil Armstrong	  Compatible models include:
2639e80f906SNeil Armstrong	  - 8 bits:  sx1508q, sx1502q
2649e80f906SNeil Armstrong	  - 16 bits: sx1509q, sx1506q
2659e80f906SNeil Armstrong
266cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO
2676ceb3c64SJiaxun Yang	bool "IMG Pistachio SoC pinctrl driver"
2686ceb3c64SJiaxun Yang	depends on OF && (MIPS || COMPILE_TEST)
269cefc03e5SAndrew Bresticker	depends on GPIOLIB
270cefc03e5SAndrew Bresticker	select PINMUX
271cefc03e5SAndrew Bresticker	select GENERIC_PINCONF
272cefc03e5SAndrew Bresticker	select GPIOLIB_IRQCHIP
273cefc03e5SAndrew Bresticker	select OF_GPIO
2746ceb3c64SJiaxun Yang    help
2756ceb3c64SJiaxun Yang	  This support pinctrl and gpio driver for IMG Pistachio SoC.
276cefc03e5SAndrew Bresticker
277701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
278701016c0SSrinivas KANDAGATLA	bool
279701016c0SSrinivas KANDAGATLA	depends on OF
280701016c0SSrinivas KANDAGATLA	select PINMUX
281701016c0SSrinivas KANDAGATLA	select PINCONF
282130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
283701016c0SSrinivas KANDAGATLA
284*ec648f6bSEmil Renner Berthingconfig PINCTRL_STARFIVE
285*ec648f6bSEmil Renner Berthing	tristate "Pinctrl and GPIO driver for the StarFive JH7100 SoC"
286*ec648f6bSEmil Renner Berthing	depends on SOC_STARFIVE || COMPILE_TEST
287*ec648f6bSEmil Renner Berthing	depends on OF
288*ec648f6bSEmil Renner Berthing	default SOC_STARFIVE
289*ec648f6bSEmil Renner Berthing	select GENERIC_PINCTRL_GROUPS
290*ec648f6bSEmil Renner Berthing	select GENERIC_PINMUX_FUNCTIONS
291*ec648f6bSEmil Renner Berthing	select GENERIC_PINCONF
292*ec648f6bSEmil Renner Berthing	select GPIOLIB
293*ec648f6bSEmil Renner Berthing	select GPIOLIB_IRQCHIP
294*ec648f6bSEmil Renner Berthing	select OF_GPIO
295*ec648f6bSEmil Renner Berthing	help
296*ec648f6bSEmil Renner Berthing	  Say yes here to support pin control on the StarFive JH7100 SoC.
297*ec648f6bSEmil Renner Berthing	  This also provides an interface to the GPIO pins not used by other
298*ec648f6bSEmil Renner Berthing	  peripherals supporting inputs, outputs, configuring pull-up/pull-down
299*ec648f6bSEmil Renner Berthing	  and interrupts on input changes.
300*ec648f6bSEmil Renner Berthing
3011490d9f8SAmelie Delaunayconfig PINCTRL_STMFX
3021490d9f8SAmelie Delaunay	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
3039af2de76SAmelie Delaunay	depends on I2C
304ec2e0f4fSAmelie Delaunay	depends on OF_GPIO
3051490d9f8SAmelie Delaunay	select GENERIC_PINCONF
3061490d9f8SAmelie Delaunay	select GPIOLIB_IRQCHIP
3071490d9f8SAmelie Delaunay	select MFD_STMFX
3081490d9f8SAmelie Delaunay	help
3091490d9f8SAmelie Delaunay	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
3101490d9f8SAmelie Delaunay	  GPIO expander.
3111490d9f8SAmelie Delaunay	  This provides a GPIO interface supporting inputs and outputs,
3121490d9f8SAmelie Delaunay	  and configuring push-pull, open-drain, and can also be used as
3131490d9f8SAmelie Delaunay	  interrupt-controller.
3141490d9f8SAmelie Delaunay
3152df723d4SLaxman Dewanganconfig PINCTRL_MAX77620
3162df723d4SLaxman Dewangan	tristate "MAX77620/MAX20024 Pincontrol support"
31724d6a91cSArnd Bergmann	depends on MFD_MAX77620 && OF
31879f28b9fSArnd Bergmann	select PINMUX
3192df723d4SLaxman Dewangan	select GENERIC_PINCONF
3202df723d4SLaxman Dewangan	help
3212df723d4SLaxman Dewangan	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
3222df723d4SLaxman Dewangan	  This PMIC has 8 GPIO pins that work as GPIO as well as special
3232df723d4SLaxman Dewangan	  function in alternate mode. This driver also configure push-pull,
3242df723d4SLaxman Dewangan	  open drain, FPS slots etc.
3252df723d4SLaxman Dewangan
3260a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
327767b8ce3SPaul Gortmaker	tristate "Pinctrl driver for the PALMAS Series MFD devices"
3280a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
32963ca8db7SAxel Lin	select PINMUX
3300a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
3310a8d3e24SLaxman Dewangan	help
3320a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
3330a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
3340a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
3350a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
3360a8d3e24SLaxman Dewangan
3372ba384e6SJoshua Hendersonconfig PINCTRL_PIC32
3382ba384e6SJoshua Henderson	bool "Microchip PIC32 pin controller driver"
3392ba384e6SJoshua Henderson	depends on OF
3402ba384e6SJoshua Henderson	depends on MACH_PIC32
3412ba384e6SJoshua Henderson	select PINMUX
3422ba384e6SJoshua Henderson	select GENERIC_PINCONF
3432ba384e6SJoshua Henderson	select GPIOLIB_IRQCHIP
3442ba384e6SJoshua Henderson	select OF_GPIO
3452ba384e6SJoshua Henderson	help
3462ba384e6SJoshua Henderson	  This is the pin controller and gpio driver for Microchip PIC32
3472ba384e6SJoshua Henderson	  microcontrollers. This option is selected automatically when specific
3482ba384e6SJoshua Henderson	  machine and arch are selected to build.
3492ba384e6SJoshua Henderson
3502ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA
3512ba384e6SJoshua Henderson	def_bool y if PIC32MZDA
3522ba384e6SJoshua Henderson	select PINCTRL_PIC32
3532ba384e6SJoshua Henderson
354add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ
355add958ceSSoren Brinkmann	bool "Pinctrl driver for Xilinx Zynq"
356add958ceSSoren Brinkmann	depends on ARCH_ZYNQ
357add958ceSSoren Brinkmann	select PINMUX
358add958ceSSoren Brinkmann	select GENERIC_PINCONF
359add958ceSSoren Brinkmann	help
360485dba27SMasahiro Yamada	  This selects the pinctrl driver for Xilinx Zynq.
361add958ceSSoren Brinkmann
3628b242ca7SSai Krishna Potthuriconfig PINCTRL_ZYNQMP
3638b242ca7SSai Krishna Potthuri	tristate "Pinctrl driver for Xilinx ZynqMP"
3648b242ca7SSai Krishna Potthuri	depends on ZYNQMP_FIRMWARE
3658b242ca7SSai Krishna Potthuri	select PINMUX
3668b242ca7SSai Krishna Potthuri	select GENERIC_PINCONF
3678b242ca7SSai Krishna Potthuri	default ZYNQMP_FIRMWARE
3688b242ca7SSai Krishna Potthuri	help
3698b242ca7SSai Krishna Potthuri	  This selects the pinctrl driver for Xilinx ZynqMP platform.
3708b242ca7SSai Krishna Potthuri	  This driver will query the pin information from the firmware
3718b242ca7SSai Krishna Potthuri	  and allow configuring the pins.
3728b242ca7SSai Krishna Potthuri	  Configuration can include the mux function to select on those
3738b242ca7SSai Krishna Potthuri	  pin(s)/group(s), and various pin configuration parameters
3748b242ca7SSai Krishna Potthuri	  such as pull-up, slew rate, etc.
375fa99e701SSai Krishna Potthuri	  This driver can also be built as a module. If so, the module
376fa99e701SSai Krishna Potthuri	  will be called pinctrl-zynqmp.
3778b242ca7SSai Krishna Potthuri
378b5c23aa4SPaul Cercueilconfig PINCTRL_INGENIC
379b5c23aa4SPaul Cercueil	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
380635c20a1SPaul Cercueil	default MACH_INGENIC
381c504985eSLinus Walleij	depends on OF
382635c20a1SPaul Cercueil	depends on MIPS || COMPILE_TEST
383b5c23aa4SPaul Cercueil	select GENERIC_PINCONF
384b5c23aa4SPaul Cercueil	select GENERIC_PINCTRL_GROUPS
385b5c23aa4SPaul Cercueil	select GENERIC_PINMUX_FUNCTIONS
386e72394e2SPaul Cercueil	select GPIOLIB
387e72394e2SPaul Cercueil	select GPIOLIB_IRQCHIP
388b5c23aa4SPaul Cercueil	select REGMAP_MMIO
389b5c23aa4SPaul Cercueil
390ea479996SJoseph Chenconfig PINCTRL_RK805
391ea479996SJoseph Chen	tristate "Pinctrl and GPIO driver for RK805 PMIC"
392ea479996SJoseph Chen	depends on MFD_RK808
393ea479996SJoseph Chen	select GPIOLIB
394ea479996SJoseph Chen	select PINMUX
395ea479996SJoseph Chen	select GENERIC_PINCONF
396ea479996SJoseph Chen	help
397ea479996SJoseph Chen	  This selects the pinctrl driver for RK805.
398ea479996SJoseph Chen
399ce8dc094SAlexandre Belloniconfig PINCTRL_OCELOT
400da801ab5SAlexandre Belloni	bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
401ce8dc094SAlexandre Belloni	depends on OF
4022dab3dd1SLinus Walleij	depends on HAS_IOMEM
403ce8dc094SAlexandre Belloni	select GPIOLIB
404be36abb7SQuentin Schulz	select GPIOLIB_IRQCHIP
405ce8dc094SAlexandre Belloni	select GENERIC_PINCONF
406ce8dc094SAlexandre Belloni	select GENERIC_PINCTRL_GROUPS
407ce8dc094SAlexandre Belloni	select GENERIC_PINMUX_FUNCTIONS
408da801ab5SAlexandre Belloni	select OF_GPIO
409ce8dc094SAlexandre Belloni	select REGMAP_MMIO
410ce8dc094SAlexandre Belloni
4117e5ea974SLars Povlsenconfig PINCTRL_MICROCHIP_SGPIO
4127e5ea974SLars Povlsen	bool "Pinctrl driver for Microsemi/Microchip Serial GPIO"
413552a9cc0SLars Povlsen	depends on OF
4147e5ea974SLars Povlsen	depends on HAS_IOMEM
4157e5ea974SLars Povlsen	select GPIOLIB
416be2dc859SLars Povlsen	select GPIOLIB_IRQCHIP
4177e5ea974SLars Povlsen	select GENERIC_PINCONF
4187e5ea974SLars Povlsen	select GENERIC_PINCTRL_GROUPS
4197e5ea974SLars Povlsen	select GENERIC_PINMUX_FUNCTIONS
420552a9cc0SLars Povlsen	select OF_GPIO
4217e5ea974SLars Povlsen	help
4227e5ea974SLars Povlsen	  Support for the serial GPIO interface used on Microsemi and
4237e5ea974SLars Povlsen	  Microchip SoC's. By using a serial interface, the SIO
4247e5ea974SLars Povlsen	  controller significantly extends the number of available
4257e5ea974SLars Povlsen	  GPIOs with a minimum number of additional pins on the
4267e5ea974SLars Povlsen	  device. The primary purpose of the SIO controller is to
4277e5ea974SLars Povlsen	  connect control signals from SFP modules and to act as an
4287e5ea974SLars Povlsen	  LED controller.
4297e5ea974SLars Povlsen
430d4c34d09SDamien Le Moalconfig PINCTRL_K210
431d4c34d09SDamien Le Moal	bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
432d4c34d09SDamien Le Moal	depends on RISCV && SOC_CANAAN && OF
433d4c34d09SDamien Le Moal	select GENERIC_PINMUX_FUNCTIONS
434d4c34d09SDamien Le Moal	select GENERIC_PINCONF
435d4c34d09SDamien Le Moal	select GPIOLIB
436d4c34d09SDamien Le Moal	select OF_GPIO
437d4c34d09SDamien Le Moal	select REGMAP_MMIO
438d4c34d09SDamien Le Moal	default SOC_CANAAN
439d4c34d09SDamien Le Moal	help
440d4c34d09SDamien Le Moal	  Add support for the Canaan Kendryte K210 RISC-V SOC Field
441d4c34d09SDamien Le Moal	  Programmable IO Array (FPIOA) controller.
442d4c34d09SDamien Le Moal
443ffd4e739SLakshmi Sowjanya Dconfig PINCTRL_KEEMBAY
444ffd4e739SLakshmi Sowjanya D	tristate "Pinctrl driver for Intel Keem Bay SoC"
445ffd4e739SLakshmi Sowjanya D	depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
446ffd4e739SLakshmi Sowjanya D	depends on HAS_IOMEM
447ffd4e739SLakshmi Sowjanya D	select PINMUX
448ffd4e739SLakshmi Sowjanya D	select PINCONF
449ffd4e739SLakshmi Sowjanya D	select GENERIC_PINCONF
450ffd4e739SLakshmi Sowjanya D	select GENERIC_PINCTRL_GROUPS
451ffd4e739SLakshmi Sowjanya D	select GENERIC_PINMUX_FUNCTIONS
452ffd4e739SLakshmi Sowjanya D	select GPIOLIB
453ffd4e739SLakshmi Sowjanya D	select GPIOLIB_IRQCHIP
454ffd4e739SLakshmi Sowjanya D	select GPIO_GENERIC
455ffd4e739SLakshmi Sowjanya D	help
456ffd4e739SLakshmi Sowjanya D	  This selects pin control driver for the Intel Keembay SoC.
457ffd4e739SLakshmi Sowjanya D	  It provides pin config functions such as pullup, pulldown,
458ffd4e739SLakshmi Sowjanya D	  interrupt, drive strength, sec lock, schmitt trigger, slew
459ffd4e739SLakshmi Sowjanya D	  rate control and direction control. This module will be
460ffd4e739SLakshmi Sowjanya D	  called as pinctrl-keembay.
461ffd4e739SLakshmi Sowjanya D
4622242ddfbSManivannan Sadhasivamsource "drivers/pinctrl/actions/Kconfig"
4634d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig"
464b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig"
4653de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
466edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig"
4675fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig"
46806763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
4693a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig"
4703b588e43STomer Maimonsource "drivers/pinctrl/nuvoton/Kconfig"
4714b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig"
47269b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
473518b466aSSergio Paracuellossource "drivers/pinctrl/ralink/Kconfig"
474077365a9SGeert Uytterhoevensource "drivers/pinctrl/renesas/Kconfig"
475ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
476deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
47741d32cfcSBaolin Wangsource "drivers/pinctrl/sprd/Kconfig"
478aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig"
4795f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
48025cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig"
481003910ebSNishanth Menonsource "drivers/pinctrl/ti/Kconfig"
4826e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig"
483170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
484a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig"
485277d14ebSJerome Brunetsource "drivers/pinctrl/meson/Kconfig"
486218d72a7SRichard Fitzgeraldsource "drivers/pinctrl/cirrus/Kconfig"
487a68a7844SNobuhiro Iwamatsusource "drivers/pinctrl/visconti/Kconfig"
488deda8287SViresh Kumar
4893f8c50c9SJohn Crispinconfig PINCTRL_XWAY
4903f8c50c9SJohn Crispin	bool
4913f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
4923f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
4933f8c50c9SJohn Crispin
4945aad0db1SChristian Ruppertconfig PINCTRL_TB10X
4955aad0db1SChristian Ruppert	bool
496b99e6fb8SLinus Walleij	depends on OF && ARC_PLAT_TB10X
497b99e6fb8SLinus Walleij	select GPIOLIB
4985aad0db1SChristian Ruppert
4991948d5c5SRahul Tanwarconfig PINCTRL_EQUILIBRIUM
5001948d5c5SRahul Tanwar	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
5019e65527aSPaul Cercueil	depends on OF && HAS_IOMEM
50280691a8aSGeert Uytterhoeven	depends on X86 || COMPILE_TEST
5031948d5c5SRahul Tanwar	select PINMUX
5041948d5c5SRahul Tanwar	select PINCONF
5051948d5c5SRahul Tanwar	select GPIOLIB
5061948d5c5SRahul Tanwar	select GPIO_GENERIC
5071948d5c5SRahul Tanwar	select GPIOLIB_IRQCHIP
5081948d5c5SRahul Tanwar	select GENERIC_PINCONF
5091948d5c5SRahul Tanwar	select GENERIC_PINCTRL_GROUPS
5101948d5c5SRahul Tanwar	select GENERIC_PINMUX_FUNCTIONS
5111948d5c5SRahul Tanwar
5121948d5c5SRahul Tanwar	help
5131948d5c5SRahul Tanwar	  Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning
5141948d5c5SRahul Tanwar	  Mountain network processor SoC that supports both the linux GPIO and pin
5151948d5c5SRahul Tanwar	  control frameworks. It provides interfaces to setup pinmux, assign desired
5161948d5c5SRahul Tanwar	  pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and
5171948d5c5SRahul Tanwar	  pinconf settings are retrieved from device tree.
5181948d5c5SRahul Tanwar
519d219b924SPhil Reidendif
520