xref: /linux/drivers/pinctrl/Kconfig (revision 0db0f26c2c5d439e07883cd8e7f22fe24e6a0101)
12744e8afSLinus Walleij#
22744e8afSLinus Walleij# PINCTRL infrastructure and drivers
32744e8afSLinus Walleij#
42744e8afSLinus Walleij
545f034efSLinus Walleijconfig PINCTRL
645f034efSLinus Walleij	bool
72744e8afSLinus Walleij
845f034efSLinus Walleijmenu "Pin controllers"
945f034efSLinus Walleij	depends on PINCTRL
1045f034efSLinus Walleij
112744e8afSLinus Walleijconfig PINMUX
12244e95a7SUwe Kleine-König	bool "Support pin multiplexing controllers" if COMPILE_TEST
13ae6b4d85SLinus Walleij
14ae6b4d85SLinus Walleijconfig PINCONF
15244e95a7SUwe Kleine-König	bool "Support pin configuration controllers" if COMPILE_TEST
162744e8afSLinus Walleij
17394349f7SLinus Walleijconfig GENERIC_PINCONF
18394349f7SLinus Walleij	bool
19394349f7SLinus Walleij	select PINCONF
20394349f7SLinus Walleij
212744e8afSLinus Walleijconfig DEBUG_PINCTRL
222744e8afSLinus Walleij	bool "Debug PINCTRL calls"
232744e8afSLinus Walleij	depends on DEBUG_KERNEL
242744e8afSLinus Walleij	help
252744e8afSLinus Walleij	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
262744e8afSLinus Walleij
27e9a03addSSonic Zhangconfig PINCTRL_ADI2
28e9a03addSSonic Zhang	bool "ADI pin controller driver"
299d7278d0SSonic Zhang	depends on BLACKFIN
30e9a03addSSonic Zhang	select PINMUX
31e9a03addSSonic Zhang	select IRQ_DOMAIN
32e9a03addSSonic Zhang	help
33e9a03addSSonic Zhang	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
34e9a03addSSonic Zhang	  future processors. This option is selected automatically when specific
35e9a03addSSonic Zhang	  machine and arch are selected to build.
36e9a03addSSonic Zhang
37c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722
389385f35dSPaul Gortmaker	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
39c8ce8782SLaxman Dewangan	depends on MFD_AS3722 && GPIOLIB
40c8ce8782SLaxman Dewangan	select PINMUX
41c8ce8782SLaxman Dewangan	select GENERIC_PINCONF
42c8ce8782SLaxman Dewangan	help
43c8ce8782SLaxman Dewangan	  AS3722 device supports the configuration of GPIO pins for different
44c8ce8782SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
45c8ce8782SLaxman Dewangan	  open drain configuration for the GPIO pins of AS3722 devices. It also
46c8ce8782SLaxman Dewangan	  supports the GPIO functionality through gpiolib.
47c8ce8782SLaxman Dewangan
48e9a03addSSonic Zhangconfig PINCTRL_BF54x
49e9a03addSSonic Zhang	def_bool y if BF54x
50e9a03addSSonic Zhang	select PINCTRL_ADI2
51e9a03addSSonic Zhang
52e9a03addSSonic Zhangconfig PINCTRL_BF60x
53e9a03addSSonic Zhang	def_bool y if BF60x
54e9a03addSSonic Zhang	select PINCTRL_ADI2
55e9a03addSSonic Zhang
566732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91
576732ae5cSJean-Christophe PLAGNIOL-VILLARD	bool "AT91 pinctrl driver"
586732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on OF
596732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on ARCH_AT91
606732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINMUX
616732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINCONF
6280cc3732SAlexander Stein	select GPIOLIB
6380cc3732SAlexander Stein	select OF_GPIO
6480cc3732SAlexander Stein	select GPIOLIB_IRQCHIP
656732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
666732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
676732ae5cSJean-Christophe PLAGNIOL-VILLARD
6877618084SLudovic Desrochesconfig PINCTRL_AT91PIO4
6977618084SLudovic Desroches	bool "AT91 PIO4 pinctrl driver"
7077618084SLudovic Desroches	depends on OF
7177618084SLudovic Desroches	depends on ARCH_AT91
7277618084SLudovic Desroches	select PINMUX
7377618084SLudovic Desroches	select GENERIC_PINCONF
7477618084SLudovic Desroches	select GPIOLIB
7577618084SLudovic Desroches	select GPIOLIB_IRQCHIP
7677618084SLudovic Desroches	select OF_GPIO
7777618084SLudovic Desroches	help
7877618084SLudovic Desroches	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
7977618084SLudovic Desroches	  controller available on sama5d2 SoC.
8077618084SLudovic Desroches
81dbad75ddSKen Xueconfig PINCTRL_AMD
82337ea0fbSJean Delvare	tristate "AMD GPIO pin control"
83dbad75ddSKen Xue	depends on GPIOLIB
84dbad75ddSKen Xue	select GPIOLIB_IRQCHIP
85dbad75ddSKen Xue	select PINCONF
86dbad75ddSKen Xue	select GENERIC_PINCONF
87dbad75ddSKen Xue	help
88dbad75ddSKen Xue	  driver for memory mapped GPIO functionality on AMD platforms
89dbad75ddSKen Xue	  (x86 or arm).Most pins are usually muxed to some other
90dbad75ddSKen Xue	  functionality by firmware,so only a small amount is available
91dbad75ddSKen Xue	  for gpio use.
92dbad75ddSKen Xue
93dbad75ddSKen Xue	  Requires ACPI/FDT device enumeration code to set up a platform
94dbad75ddSKen Xue	  device.
95dbad75ddSKen Xue
9638b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR
9738b0e507SBaruch Siach	bool
9838b0e507SBaruch Siach	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
9938b0e507SBaruch Siach	select PINMUX
10038b0e507SBaruch Siach	select GENERIC_PINCONF
10138b0e507SBaruch Siach
1023f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1033f8c50c9SJohn Crispin	bool
1043f8c50c9SJohn Crispin	depends on LANTIQ
1053f8c50c9SJohn Crispin	select PINMUX
1063f8c50c9SJohn Crispin	select PINCONF
1073f8c50c9SJohn Crispin
1082f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX
1092f77ac93SJoachim Eastwood	bool "NXP LPC18XX/43XX SCU pinctrl driver"
1102f77ac93SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
1112f77ac93SJoachim Eastwood	default ARCH_LPC18XX
1122f77ac93SJoachim Eastwood	select PINMUX
1132f77ac93SJoachim Eastwood	select GENERIC_PINCONF
1142f77ac93SJoachim Eastwood	help
1152f77ac93SJoachim Eastwood	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
1162f77ac93SJoachim Eastwood
117e316cb2bSJohn Crispinconfig PINCTRL_FALCON
118e316cb2bSJohn Crispin	bool
119e316cb2bSJohn Crispin	depends on SOC_FALCON
120e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
121e316cb2bSJohn Crispin
1226ac73095SBeniamino Galvaniconfig PINCTRL_MESON
1236ac73095SBeniamino Galvani	bool
124b99e6fb8SLinus Walleij	depends on OF
1256ac73095SBeniamino Galvani	select PINMUX
1266ac73095SBeniamino Galvani	select PINCONF
1276ac73095SBeniamino Galvani	select GENERIC_PINCONF
128b99e6fb8SLinus Walleij	select GPIOLIB
1296ac73095SBeniamino Galvani	select OF_GPIO
1306ac73095SBeniamino Galvani	select REGMAP_MMIO
1316ac73095SBeniamino Galvani
132611dac1eSNeil Armstrongconfig PINCTRL_OXNAS
133611dac1eSNeil Armstrong	bool
134611dac1eSNeil Armstrong	depends on OF
135611dac1eSNeil Armstrong	select PINMUX
136611dac1eSNeil Armstrong	select PINCONF
137611dac1eSNeil Armstrong	select GENERIC_PINCONF
138611dac1eSNeil Armstrong	select GPIOLIB
139611dac1eSNeil Armstrong	select OF_GPIO
140611dac1eSNeil Armstrong	select GPIOLIB_IRQCHIP
141611dac1eSNeil Armstrong	select MFD_SYSCON
142611dac1eSNeil Armstrong
143d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
144d3e51161SHeiko Stübner	bool
145d3e51161SHeiko Stübner	select PINMUX
146d3e51161SHeiko Stübner	select GENERIC_PINCONF
147d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
148751a99abSHeiko Stübner	select MFD_SYSCON
149d3e51161SHeiko Stübner
1508b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
1518b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
1528b8b091bSTony Lindgren	depends on OF
1538b8b091bSTony Lindgren	select PINMUX
1548b8b091bSTony Lindgren	select PINCONF
1559dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
1568b8b091bSTony Lindgren	help
1578b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
1588b8b091bSTony Lindgren
1593bece55aSLinus Walleijconfig PINCTRL_SIRF
160a17272a4SBarry Song	bool "CSR SiRFprimaII pin controller driver"
161d3e26f2fSBarry Song	depends on ARCH_SIRF
162393daa81SRongjun Ying	select PINMUX
163f9367793SWei Chen	select PINCONF
164f9367793SWei Chen	select GENERIC_PINCONF
1657420d2d0SLinus Walleij	select GPIOLIB_IRQCHIP
166393daa81SRongjun Ying
1679e80f906SNeil Armstrongconfig PINCTRL_SX150X
1689e80f906SNeil Armstrong	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
1699e80f906SNeil Armstrong	depends on GPIOLIB && I2C=y
1709e80f906SNeil Armstrong	select PINMUX
1719e80f906SNeil Armstrong	select PINCONF
1729e80f906SNeil Armstrong	select GENERIC_PINCONF
1739e80f906SNeil Armstrong	select GPIOLIB_IRQCHIP
174*0db0f26cSAndrey Smirnov	select REGMAP
1759e80f906SNeil Armstrong	help
1769e80f906SNeil Armstrong	  Say yes here to provide support for Semtech SX150x-series I2C
1779e80f906SNeil Armstrong	  GPIO expanders as pinctrl module.
1789e80f906SNeil Armstrong	  Compatible models include:
1799e80f906SNeil Armstrong	  - 8 bits:  sx1508q, sx1502q
1809e80f906SNeil Armstrong	  - 16 bits: sx1509q, sx1506q
1819e80f906SNeil Armstrong
182cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO
183cefc03e5SAndrew Bresticker	def_bool y if MACH_PISTACHIO
184cefc03e5SAndrew Bresticker	depends on GPIOLIB
185cefc03e5SAndrew Bresticker	select PINMUX
186cefc03e5SAndrew Bresticker	select GENERIC_PINCONF
187cefc03e5SAndrew Bresticker	select GPIOLIB_IRQCHIP
188cefc03e5SAndrew Bresticker	select OF_GPIO
189cefc03e5SAndrew Bresticker
190701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
191701016c0SSrinivas KANDAGATLA	bool
192701016c0SSrinivas KANDAGATLA	depends on OF
193701016c0SSrinivas KANDAGATLA	select PINMUX
194701016c0SSrinivas KANDAGATLA	select PINCONF
195130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
196701016c0SSrinivas KANDAGATLA
197d5025f9fSJames Hoganconfig PINCTRL_TZ1090
198d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
199d5025f9fSJames Hogan	depends on SOC_TZ1090
200d5025f9fSJames Hogan	select PINMUX
201d5025f9fSJames Hogan	select GENERIC_PINCONF
202d5025f9fSJames Hogan
203b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
204b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
205b58f0273SJames Hogan	depends on SOC_TZ1090
206b58f0273SJames Hogan	select PINMUX
207b58f0273SJames Hogan	select PINCONF
208b58f0273SJames Hogan
2093bece55aSLinus Walleijconfig PINCTRL_U300
2103bece55aSLinus Walleij	bool "U300 pin controller driver"
21198da3529SLinus Walleij	depends on ARCH_U300
21298da3529SLinus Walleij	select PINMUX
213dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
21445f034efSLinus Walleij
215ca402d37SLinus Walleijconfig PINCTRL_COH901
216ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
2173c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
218523dcce7SLinus Walleij	select GPIOLIB_IRQCHIP
219ca402d37SLinus Walleij	help
220ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
221ca402d37SLinus Walleij	  The names of the two IP block variants supported are
222ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
223ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
224ca402d37SLinus Walleij
2252df723d4SLaxman Dewanganconfig PINCTRL_MAX77620
2262df723d4SLaxman Dewangan	tristate "MAX77620/MAX20024 Pincontrol support"
22724d6a91cSArnd Bergmann	depends on MFD_MAX77620 && OF
22879f28b9fSArnd Bergmann	select PINMUX
2292df723d4SLaxman Dewangan	select GENERIC_PINCONF
2302df723d4SLaxman Dewangan	help
2312df723d4SLaxman Dewangan	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
2322df723d4SLaxman Dewangan	  This PMIC has 8 GPIO pins that work as GPIO as well as special
2332df723d4SLaxman Dewangan	  function in alternate mode. This driver also configure push-pull,
2342df723d4SLaxman Dewangan	  open drain, FPS slots etc.
2352df723d4SLaxman Dewangan
2360a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
237767b8ce3SPaul Gortmaker	tristate "Pinctrl driver for the PALMAS Series MFD devices"
2380a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
23963ca8db7SAxel Lin	select PINMUX
2400a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
2410a8d3e24SLaxman Dewangan	help
2420a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
2430a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
2440a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
2450a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
2460a8d3e24SLaxman Dewangan
2472ba384e6SJoshua Hendersonconfig PINCTRL_PIC32
2482ba384e6SJoshua Henderson	bool "Microchip PIC32 pin controller driver"
2492ba384e6SJoshua Henderson	depends on OF
2502ba384e6SJoshua Henderson	depends on MACH_PIC32
2512ba384e6SJoshua Henderson	select PINMUX
2522ba384e6SJoshua Henderson	select GENERIC_PINCONF
2532ba384e6SJoshua Henderson	select GPIOLIB_IRQCHIP
2542ba384e6SJoshua Henderson	select OF_GPIO
2552ba384e6SJoshua Henderson	help
2562ba384e6SJoshua Henderson	  This is the pin controller and gpio driver for Microchip PIC32
2572ba384e6SJoshua Henderson	  microcontrollers. This option is selected automatically when specific
2582ba384e6SJoshua Henderson	  machine and arch are selected to build.
2592ba384e6SJoshua Henderson
2602ba384e6SJoshua Hendersonconfig PINCTRL_PIC32MZDA
2612ba384e6SJoshua Henderson	def_bool y if PIC32MZDA
2622ba384e6SJoshua Henderson	select PINCTRL_PIC32
2632ba384e6SJoshua Henderson
264add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ
265add958ceSSoren Brinkmann	bool "Pinctrl driver for Xilinx Zynq"
266add958ceSSoren Brinkmann	depends on ARCH_ZYNQ
267add958ceSSoren Brinkmann	select PINMUX
268add958ceSSoren Brinkmann	select GENERIC_PINCONF
269add958ceSSoren Brinkmann	help
270485dba27SMasahiro Yamada	  This selects the pinctrl driver for Xilinx Zynq.
271add958ceSSoren Brinkmann
2724d3d0e42SAndrew Jefferysource "drivers/pinctrl/aspeed/Kconfig"
273b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig"
2743de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
275edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig"
2765fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig"
27706763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
2783a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig"
2794b15ec9dSRobert Jarzmiksource "drivers/pinctrl/pxa/Kconfig"
28069b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
281ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
2826e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
283deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
284aceb16dcSMaxime Coquelinsource "drivers/pinctrl/stm32/Kconfig"
2855f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
28625cbac77SMasahiro Yamadasource "drivers/pinctrl/tegra/Kconfig"
2876e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig"
288170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
289a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig"
290deda8287SViresh Kumar
2913f8c50c9SJohn Crispinconfig PINCTRL_XWAY
2923f8c50c9SJohn Crispin	bool
2933f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
2943f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
2953f8c50c9SJohn Crispin
2965aad0db1SChristian Ruppertconfig PINCTRL_TB10X
2975aad0db1SChristian Ruppert	bool
298b99e6fb8SLinus Walleij	depends on OF && ARC_PLAT_TB10X
299b99e6fb8SLinus Walleij	select GPIOLIB
3005aad0db1SChristian Ruppert
30145f034efSLinus Walleijendmenu
302