xref: /linux/drivers/pinctrl/Kconfig (revision 56cc3af4e8c8eaba91b51efa6081a868adbd97c3)
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
8577618084SLudovic Desroches	depends on ARCH_AT91
8677618084SLudovic Desroches	select PINMUX
8777618084SLudovic Desroches	select GENERIC_PINCONF
8877618084SLudovic Desroches	select GPIOLIB
8977618084SLudovic Desroches	select GPIOLIB_IRQCHIP
9077618084SLudovic Desroches	select OF_GPIO
9177618084SLudovic Desroches	help
9277618084SLudovic Desroches	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
9377618084SLudovic Desroches	  controller available on sama5d2 SoC.
9477618084SLudovic Desroches
95dbad75ddSKen Xueconfig PINCTRL_AMD
96337ea0fbSJean Delvare	tristate "AMD GPIO pin control"
97fd35b202SLinus Walleij	depends on HAS_IOMEM
98e2a021d4SLinus Walleij	select GPIOLIB
99dbad75ddSKen Xue	select GPIOLIB_IRQCHIP
10083b31c2aSPetr Mladek	select PINMUX
101dbad75ddSKen Xue	select PINCONF
102dbad75ddSKen Xue	select GENERIC_PINCONF
103dbad75ddSKen Xue	help
104dbad75ddSKen Xue	  driver for memory mapped GPIO functionality on AMD platforms
105dbad75ddSKen Xue	  (x86 or arm).Most pins are usually muxed to some other
106dbad75ddSKen Xue	  functionality by firmware,so only a small amount is available
107dbad75ddSKen Xue	  for gpio use.
108dbad75ddSKen Xue
109dbad75ddSKen Xue	  Requires ACPI/FDT device enumeration code to set up a platform
110dbad75ddSKen Xue	  device.
111dbad75ddSKen Xue
1128f3f0246SManivannan Sadhasivamconfig PINCTRL_BM1880
1138f3f0246SManivannan Sadhasivam	bool "Bitmain BM1880 Pinctrl driver"
1148293b3c6SManivannan Sadhasivam	depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
1158293b3c6SManivannan Sadhasivam	default ARCH_BITMAIN
1168f3f0246SManivannan Sadhasivam	select PINMUX
1178f3f0246SManivannan Sadhasivam	help
1188f3f0246SManivannan Sadhasivam	  Pinctrl driver for Bitmain BM1880 SoC.
1198f3f0246SManivannan Sadhasivam
1201ff91f0aSDavid Lechnerconfig PINCTRL_DA850_PUPD
1211ff91f0aSDavid Lechner	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
1221ff91f0aSDavid Lechner	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
1231ff91f0aSDavid Lechner	select PINCONF
1241ff91f0aSDavid Lechner	select GENERIC_PINCONF
1251ff91f0aSDavid Lechner	help
1261ff91f0aSDavid Lechner	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
1271ff91f0aSDavid Lechner	  pullup/pulldown pin groups.
1281ff91f0aSDavid Lechner
129*56cc3af4SMarco Felschconfig PINCTRL_DA9062
130*56cc3af4SMarco Felsch	tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
131*56cc3af4SMarco Felsch	depends on MFD_DA9062
132*56cc3af4SMarco Felsch	select GPIOLIB
133*56cc3af4SMarco Felsch	help
134*56cc3af4SMarco Felsch	  The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for
135*56cc3af4SMarco Felsch	  different functions. This driver bundles a pinctrl driver to select the
136*56cc3af4SMarco Felsch	  function muxing and a GPIO driver to handle the GPIO when the GPIO
137*56cc3af4SMarco Felsch	  function is selected.
138*56cc3af4SMarco Felsch
139*56cc3af4SMarco Felsch	  Say yes to enable pinctrl and GPIO support for the DA9062 PMIC.
140*56cc3af4SMarco Felsch
14138b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR
14238b0e507SBaruch Siach	bool
14338b0e507SBaruch Siach	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
14438b0e507SBaruch Siach	select PINMUX
14538b0e507SBaruch Siach	select GENERIC_PINCONF
14638b0e507SBaruch Siach
1473f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1483f8c50c9SJohn Crispin	bool
1493f8c50c9SJohn Crispin	depends on LANTIQ
1503f8c50c9SJohn Crispin	select PINMUX
1513f8c50c9SJohn Crispin	select PINCONF
1523f8c50c9SJohn Crispin
1532f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX
1542f77ac93SJoachim Eastwood	bool "NXP LPC18XX/43XX SCU pinctrl driver"
1552f77ac93SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
1562f77ac93SJoachim Eastwood	default ARCH_LPC18XX
1572f77ac93SJoachim Eastwood	select PINMUX
1582f77ac93SJoachim Eastwood	select GENERIC_PINCONF
1592f77ac93SJoachim Eastwood	help
1602f77ac93SJoachim Eastwood	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
1612f77ac93SJoachim Eastwood
162e316cb2bSJohn Crispinconfig PINCTRL_FALCON
163e316cb2bSJohn Crispin	bool
164e316cb2bSJohn Crispin	depends on SOC_FALCON
165e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
166e316cb2bSJohn Crispin
16706351d13SLinus Walleijconfig PINCTRL_GEMINI
16806351d13SLinus Walleij	bool
16906351d13SLinus Walleij	depends on ARCH_GEMINI
17006351d13SLinus Walleij	default ARCH_GEMINI
17106351d13SLinus Walleij	select PINMUX
1721c5b7f3cSLinus Walleij	select GENERIC_PINCONF
17306351d13SLinus Walleij	select MFD_SYSCON
17406351d13SLinus Walleij
17564ac43e6SSebastian Reichelconfig PINCTRL_MCP23S08
17664ac43e6SSebastian Reichel	tristate "Microchip MCP23xxx I/O expander"
17764ac43e6SSebastian Reichel	depends on SPI_MASTER || I2C
178adeac775SArnd Bergmann	depends on I2C || I2C=n
179e2a021d4SLinus Walleij	select GPIOLIB
18064ac43e6SSebastian Reichel	select GPIOLIB_IRQCHIP
18164ac43e6SSebastian Reichel	select REGMAP_I2C if I2C
18264ac43e6SSebastian Reichel	select REGMAP_SPI if SPI_MASTER
18382039d24SSebastian Reichel	select GENERIC_PINCONF
18464ac43e6SSebastian Reichel	help
1856ff45566SJan Kundrát	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
1866ff45566SJan Kundrát	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
1876ff45566SJan Kundrát	  This provides a GPIO interface supporting inputs and outputs and a
1886ff45566SJan Kundrát	  corresponding interrupt-controller.
18964ac43e6SSebastian Reichel
190611dac1eSNeil Armstrongconfig PINCTRL_OXNAS
191611dac1eSNeil Armstrong	bool
192611dac1eSNeil Armstrong	depends on OF
193611dac1eSNeil Armstrong	select PINMUX
194611dac1eSNeil Armstrong	select PINCONF
195611dac1eSNeil Armstrong	select GENERIC_PINCONF
196611dac1eSNeil Armstrong	select GPIOLIB
197611dac1eSNeil Armstrong	select OF_GPIO
198611dac1eSNeil Armstrong	select GPIOLIB_IRQCHIP
199611dac1eSNeil Armstrong	select MFD_SYSCON
200611dac1eSNeil Armstrong
201d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
202d3e51161SHeiko Stübner	bool
203d3e51161SHeiko Stübner	select PINMUX
204d3e51161SHeiko Stübner	select GENERIC_PINCONF
205d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
206751a99abSHeiko Stübner	select MFD_SYSCON
207d3e51161SHeiko Stübner
2085a49b644SJacopo Mondiconfig PINCTRL_RZA1
2095a49b644SJacopo Mondi	bool "Renesas RZ/A1 gpio and pinctrl driver"
2105a49b644SJacopo Mondi	depends on OF
2115a49b644SJacopo Mondi	depends on ARCH_R7S72100 || COMPILE_TEST
2125a49b644SJacopo Mondi	select GPIOLIB
2135a49b644SJacopo Mondi	select GENERIC_PINCTRL_GROUPS
2145a49b644SJacopo Mondi	select GENERIC_PINMUX_FUNCTIONS
2155a49b644SJacopo Mondi	select GENERIC_PINCONF
2165a49b644SJacopo Mondi	help
2175a49b644SJacopo Mondi	  This selects pinctrl driver for Renesas RZ/A1 platforms.
2185a49b644SJacopo Mondi
219b59d0e78SChris Brandtconfig PINCTRL_RZA2
220b59d0e78SChris Brandt	bool "Renesas RZ/A2 gpio and pinctrl driver"
221b59d0e78SChris Brandt	depends on OF
222b59d0e78SChris Brandt	depends on ARCH_R7S9210 || COMPILE_TEST
223b59d0e78SChris Brandt	select GPIOLIB
224b59d0e78SChris Brandt	select GENERIC_PINCTRL_GROUPS
225b59d0e78SChris Brandt	select GENERIC_PINMUX_FUNCTIONS
226b59d0e78SChris Brandt	select GENERIC_PINCONF
227b59d0e78SChris Brandt	help
228b59d0e78SChris Brandt	  This selects GPIO and pinctrl driver for Renesas RZ/A2 platforms.
229b59d0e78SChris Brandt
2304e53b500SPhil Edworthyconfig PINCTRL_RZN1
2314e53b500SPhil Edworthy	bool "Renesas RZ/N1 pinctrl driver"
2324e53b500SPhil Edworthy	depends on OF
2334e53b500SPhil Edworthy	depends on ARCH_RZN1 || COMPILE_TEST
2344e53b500SPhil Edworthy	select GENERIC_PINCTRL_GROUPS
2354e53b500SPhil Edworthy	select GENERIC_PINMUX_FUNCTIONS
2364e53b500SPhil Edworthy	select GENERIC_PINCONF
2374e53b500SPhil Edworthy	help
2384e53b500SPhil Edworthy	  This selects pinctrl driver for Renesas RZ/N1 devices.
2394e53b500SPhil Edworthy
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
2503bece55aSLinus Walleijconfig PINCTRL_SIRF
251a17272a4SBarry Song	bool "CSR SiRFprimaII pin controller driver"
252d3e26f2fSBarry Song	depends on ARCH_SIRF
253393daa81SRongjun Ying	select PINMUX
254f9367793SWei Chen	select PINCONF
255f9367793SWei Chen	select GENERIC_PINCONF
2567420d2d0SLinus Walleij	select GPIOLIB_IRQCHIP
257393daa81SRongjun Ying
2589e80f906SNeil Armstrongconfig PINCTRL_SX150X
2599e80f906SNeil Armstrong	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
260e2a021d4SLinus Walleij	depends on I2C=y
2619e80f906SNeil Armstrong	select PINMUX
2629e80f906SNeil Armstrong	select PINCONF
2639e80f906SNeil Armstrong	select GENERIC_PINCONF
264e2a021d4SLinus Walleij	select GPIOLIB
2659e80f906SNeil Armstrong	select GPIOLIB_IRQCHIP
2660db0f26cSAndrey Smirnov	select REGMAP
2679e80f906SNeil Armstrong	help
2689e80f906SNeil Armstrong	  Say yes here to provide support for Semtech SX150x-series I2C
2699e80f906SNeil Armstrong	  GPIO expanders as pinctrl module.
2709e80f906SNeil Armstrong	  Compatible models include:
2719e80f906SNeil Armstrong	  - 8 bits:  sx1508q, sx1502q
2729e80f906SNeil Armstrong	  - 16 bits: sx1509q, sx1506q
2739e80f906SNeil Armstrong
274cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO
275cefc03e5SAndrew Bresticker	def_bool y if MACH_PISTACHIO
276cefc03e5SAndrew Bresticker	depends on GPIOLIB
277cefc03e5SAndrew Bresticker	select PINMUX
278cefc03e5SAndrew Bresticker	select GENERIC_PINCONF
279cefc03e5SAndrew Bresticker	select GPIOLIB_IRQCHIP
280cefc03e5SAndrew Bresticker	select OF_GPIO
281cefc03e5SAndrew Bresticker
282701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
283701016c0SSrinivas KANDAGATLA	bool
284701016c0SSrinivas KANDAGATLA	depends on OF
285701016c0SSrinivas KANDAGATLA	select PINMUX
286701016c0SSrinivas KANDAGATLA	select PINCONF
287130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
288701016c0SSrinivas KANDAGATLA
2891490d9f8SAmelie Delaunayconfig PINCTRL_STMFX
2901490d9f8SAmelie Delaunay	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
2919af2de76SAmelie Delaunay	depends on I2C
292ec2e0f4fSAmelie Delaunay	depends on OF_GPIO
2931490d9f8SAmelie Delaunay	select GENERIC_PINCONF
2941490d9f8SAmelie Delaunay	select GPIOLIB_IRQCHIP
2951490d9f8SAmelie Delaunay	select MFD_STMFX
2961490d9f8SAmelie Delaunay	help
2971490d9f8SAmelie Delaunay	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
2981490d9f8SAmelie Delaunay	  GPIO expander.
2991490d9f8SAmelie Delaunay	  This provides a GPIO interface supporting inputs and outputs,
3001490d9f8SAmelie Delaunay	  and configuring push-pull, open-drain, and can also be used as
3011490d9f8SAmelie Delaunay	  interrupt-controller.
3021490d9f8SAmelie Delaunay
3033bece55aSLinus Walleijconfig PINCTRL_U300
3043bece55aSLinus Walleij	bool "U300 pin controller driver"
30598da3529SLinus Walleij	depends on ARCH_U300
30698da3529SLinus Walleij	select PINMUX
307dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
30845f034efSLinus Walleij
309ca402d37SLinus Walleijconfig PINCTRL_COH901
310ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
3113c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
312523dcce7SLinus Walleij	select GPIOLIB_IRQCHIP
313ca402d37SLinus Walleij	help
314ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
315ca402d37SLinus Walleij	  The names of the two IP block variants supported are
316ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
317ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
318ca402d37SLinus Walleij
3192df723d4SLaxman Dewanganconfig PINCTRL_MAX77620
3202df723d4SLaxman Dewangan	tristate "MAX77620/MAX20024 Pincontrol support"
32124d6a91cSArnd Bergmann	depends on MFD_MAX77620 && OF
32279f28b9fSArnd Bergmann	select PINMUX
3232df723d4SLaxman Dewangan	select GENERIC_PINCONF
3242df723d4SLaxman Dewangan	help
3252df723d4SLaxman Dewangan	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
3262df723d4SLaxman Dewangan	  This PMIC has 8 GPIO pins that work as GPIO as well as special
3272df723d4SLaxman Dewangan	  function in alternate mode. This driver also configure push-pull,
3282df723d4SLaxman Dewangan	  open drain, FPS slots etc.
3292df723d4SLaxman Dewangan
3300a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
331767b8ce3SPaul Gortmaker	tristate "Pinctrl driver for the PALMAS Series MFD devices"
3320a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
33363ca8db7SAxel Lin	select PINMUX
3340a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
3350a8d3e24SLaxman Dewangan	help
3360a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
3370a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
3380a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
3390a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
3400a8d3e24SLaxman Dewangan
3412ba384e6SJoshua Hendersonconfig PINCTRL_PIC32
3422ba384e6SJoshua Henderson	bool "Microchip PIC32 pin controller driver"
3432ba384e6SJoshua Henderson	depends on OF
3442ba384e6SJoshua Henderson	depends on MACH_PIC32
3452ba384e6SJoshua Henderson	select PINMUX
3462ba384e6SJoshua Henderson	select GENERIC_PINCONF
3472ba384e6SJoshua Henderson	select GPIOLIB_IRQCHIP
3482ba384e6SJoshua Henderson	select OF_GPIO
3492ba384e6SJoshua Henderson	help
3502ba384e6SJoshua Henderson	  This is the pin controller and gpio driver for Microchip PIC32
3512ba384e6SJoshua Henderson	  microcontrollers. This option is selected automatically when specific
3522ba384e6SJoshua Henderson	  machine and arch are selected to build.
3532ba384e6SJoshua Henderson
3542ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA
3552ba384e6SJoshua Henderson	def_bool y if PIC32MZDA
3562ba384e6SJoshua Henderson	select PINCTRL_PIC32
3572ba384e6SJoshua Henderson
358add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ
359add958ceSSoren Brinkmann	bool "Pinctrl driver for Xilinx Zynq"
360add958ceSSoren Brinkmann	depends on ARCH_ZYNQ
361add958ceSSoren Brinkmann	select PINMUX
362add958ceSSoren Brinkmann	select GENERIC_PINCONF
363add958ceSSoren Brinkmann	help
364485dba27SMasahiro Yamada	  This selects the pinctrl driver for Xilinx Zynq.
365add958ceSSoren Brinkmann
366b5c23aa4SPaul Cercueilconfig PINCTRL_INGENIC
367b5c23aa4SPaul Cercueil	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
368635c20a1SPaul Cercueil	default MACH_INGENIC
369c504985eSLinus Walleij	depends on OF
370635c20a1SPaul Cercueil	depends on MIPS || COMPILE_TEST
371b5c23aa4SPaul Cercueil	select GENERIC_PINCONF
372b5c23aa4SPaul Cercueil	select GENERIC_PINCTRL_GROUPS
373b5c23aa4SPaul Cercueil	select GENERIC_PINMUX_FUNCTIONS
374e72394e2SPaul Cercueil	select GPIOLIB
375e72394e2SPaul Cercueil	select GPIOLIB_IRQCHIP
376b5c23aa4SPaul Cercueil	select REGMAP_MMIO
377b5c23aa4SPaul Cercueil
378ea479996SJoseph Chenconfig PINCTRL_RK805
379ea479996SJoseph Chen	tristate "Pinctrl and GPIO driver for RK805 PMIC"
380ea479996SJoseph Chen	depends on MFD_RK808
381ea479996SJoseph Chen	select GPIOLIB
382ea479996SJoseph Chen	select PINMUX
383ea479996SJoseph Chen	select GENERIC_PINCONF
384ea479996SJoseph Chen	help
385ea479996SJoseph Chen	  This selects the pinctrl driver for RK805.
386ea479996SJoseph Chen
387ce8dc094SAlexandre Belloniconfig PINCTRL_OCELOT
388da801ab5SAlexandre Belloni	bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
389ce8dc094SAlexandre Belloni	depends on OF
3902dab3dd1SLinus Walleij	depends on HAS_IOMEM
391ce8dc094SAlexandre Belloni	select GPIOLIB
392be36abb7SQuentin Schulz	select GPIOLIB_IRQCHIP
393ce8dc094SAlexandre Belloni	select GENERIC_PINCONF
394ce8dc094SAlexandre Belloni	select GENERIC_PINCTRL_GROUPS
395ce8dc094SAlexandre Belloni	select GENERIC_PINMUX_FUNCTIONS
396da801ab5SAlexandre Belloni	select OF_GPIO
397ce8dc094SAlexandre Belloni	select REGMAP_MMIO
398ce8dc094SAlexandre Belloni
3992242ddfbSManivannan Sadhasivamsource "drivers/pinctrl/actions/Kconfig"
4004d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig"
401b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig"
4023de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
403edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig"
4045fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig"
40506763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
4063a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig"
4073b588e43STomer Maimonsource "drivers/pinctrl/nuvoton/Kconfig"
4084b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig"
40969b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
410ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
4116e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
412deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
41341d32cfcSBaolin Wangsource "drivers/pinctrl/sprd/Kconfig"
414aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig"
4155f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
41625cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig"
417003910ebSNishanth Menonsource "drivers/pinctrl/ti/Kconfig"
4186e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig"
419170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
420a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig"
421cbff0c4dSShawn Guosource "drivers/pinctrl/zte/Kconfig"
422277d14ebSJerome Brunetsource "drivers/pinctrl/meson/Kconfig"
423218d72a7SRichard Fitzgeraldsource "drivers/pinctrl/cirrus/Kconfig"
424deda8287SViresh Kumar
4253f8c50c9SJohn Crispinconfig PINCTRL_XWAY
4263f8c50c9SJohn Crispin	bool
4273f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
4283f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
4293f8c50c9SJohn Crispin
4305aad0db1SChristian Ruppertconfig PINCTRL_TB10X
4315aad0db1SChristian Ruppert	bool
432b99e6fb8SLinus Walleij	depends on OF && ARC_PLAT_TB10X
433b99e6fb8SLinus Walleij	select GPIOLIB
4345aad0db1SChristian Ruppert
4351948d5c5SRahul Tanwarconfig PINCTRL_EQUILIBRIUM
4361948d5c5SRahul Tanwar	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
4379e65527aSPaul Cercueil	depends on OF && HAS_IOMEM
4381948d5c5SRahul Tanwar	select PINMUX
4391948d5c5SRahul Tanwar	select PINCONF
4401948d5c5SRahul Tanwar	select GPIOLIB
4411948d5c5SRahul Tanwar	select GPIO_GENERIC
4421948d5c5SRahul Tanwar	select GPIOLIB_IRQCHIP
4431948d5c5SRahul Tanwar	select GENERIC_PINCONF
4441948d5c5SRahul Tanwar	select GENERIC_PINCTRL_GROUPS
4451948d5c5SRahul Tanwar	select GENERIC_PINMUX_FUNCTIONS
4461948d5c5SRahul Tanwar
4471948d5c5SRahul Tanwar	help
4481948d5c5SRahul Tanwar	  Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning
4491948d5c5SRahul Tanwar	  Mountain network processor SoC that supports both the linux GPIO and pin
4501948d5c5SRahul Tanwar	  control frameworks. It provides interfaces to setup pinmux, assign desired
4511948d5c5SRahul Tanwar	  pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and
4521948d5c5SRahul Tanwar	  pinconf settings are retrieved from device tree.
4531948d5c5SRahul Tanwar
454d219b924SPhil Reidendif
455