xref: /linux/drivers/pinctrl/Kconfig (revision 776180848b574c9c01217fa958f10843ffce584f)
12744e8afSLinus Walleij#
22744e8afSLinus Walleij# PINCTRL infrastructure and drivers
32744e8afSLinus Walleij#
42744e8afSLinus Walleij
545f034efSLinus Walleijconfig PINCTRL
645f034efSLinus Walleij	bool
72744e8afSLinus Walleij
82744e8afSLinus Walleijif PINCTRL
92744e8afSLinus Walleij
1045f034efSLinus Walleijmenu "Pin controllers"
1145f034efSLinus Walleij	depends on PINCTRL
1245f034efSLinus Walleij
132744e8afSLinus Walleijconfig PINMUX
14244e95a7SUwe Kleine-König	bool "Support pin multiplexing controllers" if COMPILE_TEST
15ae6b4d85SLinus Walleij
16ae6b4d85SLinus Walleijconfig PINCONF
17244e95a7SUwe Kleine-König	bool "Support pin configuration controllers" if COMPILE_TEST
182744e8afSLinus Walleij
19394349f7SLinus Walleijconfig GENERIC_PINCONF
20394349f7SLinus Walleij	bool
21394349f7SLinus Walleij	select PINCONF
22394349f7SLinus Walleij
232744e8afSLinus Walleijconfig DEBUG_PINCTRL
242744e8afSLinus Walleij	bool "Debug PINCTRL calls"
252744e8afSLinus Walleij	depends on DEBUG_KERNEL
262744e8afSLinus Walleij	help
272744e8afSLinus Walleij	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
282744e8afSLinus Walleij
29e9a03addSSonic Zhangconfig PINCTRL_ADI2
30e9a03addSSonic Zhang	bool "ADI pin controller driver"
319d7278d0SSonic Zhang	depends on BLACKFIN
32e9a03addSSonic Zhang	select PINMUX
33e9a03addSSonic Zhang	select IRQ_DOMAIN
34e9a03addSSonic Zhang	help
35e9a03addSSonic Zhang	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
36e9a03addSSonic Zhang	  future processors. This option is selected automatically when specific
37e9a03addSSonic Zhang	  machine and arch are selected to build.
38e9a03addSSonic Zhang
39c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722
40c8ce8782SLaxman Dewangan	bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
41c8ce8782SLaxman Dewangan	depends on MFD_AS3722 && GPIOLIB
42c8ce8782SLaxman Dewangan	select PINMUX
43c8ce8782SLaxman Dewangan	select GENERIC_PINCONF
44c8ce8782SLaxman Dewangan	help
45c8ce8782SLaxman Dewangan	  AS3722 device supports the configuration of GPIO pins for different
46c8ce8782SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
47c8ce8782SLaxman Dewangan	  open drain configuration for the GPIO pins of AS3722 devices. It also
48c8ce8782SLaxman Dewangan	  supports the GPIO functionality through gpiolib.
49c8ce8782SLaxman Dewangan
50e9a03addSSonic Zhangconfig PINCTRL_BF54x
51e9a03addSSonic Zhang	def_bool y if BF54x
52e9a03addSSonic Zhang	select PINCTRL_ADI2
53e9a03addSSonic Zhang
54e9a03addSSonic Zhangconfig PINCTRL_BF60x
55e9a03addSSonic Zhang	def_bool y if BF60x
56e9a03addSSonic Zhang	select PINCTRL_ADI2
57e9a03addSSonic Zhang
586732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91
596732ae5cSJean-Christophe PLAGNIOL-VILLARD	bool "AT91 pinctrl driver"
606732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on OF
616732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on ARCH_AT91
626732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINMUX
636732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINCONF
6480cc3732SAlexander Stein	select GPIOLIB
6580cc3732SAlexander Stein	select OF_GPIO
6680cc3732SAlexander Stein	select GPIOLIB_IRQCHIP
676732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
686732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
696732ae5cSJean-Christophe PLAGNIOL-VILLARD
70*77618084SLudovic Desrochesconfig PINCTRL_AT91PIO4
71*77618084SLudovic Desroches	bool "AT91 PIO4 pinctrl driver"
72*77618084SLudovic Desroches	depends on OF
73*77618084SLudovic Desroches	depends on ARCH_AT91
74*77618084SLudovic Desroches	select PINMUX
75*77618084SLudovic Desroches	select GENERIC_PINCONF
76*77618084SLudovic Desroches	select GPIOLIB
77*77618084SLudovic Desroches	select GPIOLIB_IRQCHIP
78*77618084SLudovic Desroches	select OF_GPIO
79*77618084SLudovic Desroches	help
80*77618084SLudovic Desroches	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
81*77618084SLudovic Desroches	  controller available on sama5d2 SoC.
82*77618084SLudovic Desroches
83dbad75ddSKen Xueconfig PINCTRL_AMD
84dbad75ddSKen Xue	bool "AMD GPIO pin control"
85dbad75ddSKen Xue	depends on GPIOLIB
86dbad75ddSKen Xue	select GPIOLIB_IRQCHIP
87dbad75ddSKen Xue	select PINCONF
88dbad75ddSKen Xue	select GENERIC_PINCONF
89dbad75ddSKen Xue	help
90dbad75ddSKen Xue	  driver for memory mapped GPIO functionality on AMD platforms
91dbad75ddSKen Xue	  (x86 or arm).Most pins are usually muxed to some other
92dbad75ddSKen Xue	  functionality by firmware,so only a small amount is available
93dbad75ddSKen Xue	  for gpio use.
94dbad75ddSKen Xue
95dbad75ddSKen Xue	  Requires ACPI/FDT device enumeration code to set up a platform
96dbad75ddSKen Xue	  device.
97dbad75ddSKen Xue
9838b0e507SBaruch Siachconfig PINCTRL_DIGICOLOR
9938b0e507SBaruch Siach	bool
10038b0e507SBaruch Siach	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
10138b0e507SBaruch Siach	select PINMUX
10238b0e507SBaruch Siach	select GENERIC_PINCONF
10338b0e507SBaruch Siach
1043f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1053f8c50c9SJohn Crispin	bool
1063f8c50c9SJohn Crispin	depends on LANTIQ
1073f8c50c9SJohn Crispin	select PINMUX
1083f8c50c9SJohn Crispin	select PINCONF
1093f8c50c9SJohn Crispin
1102f77ac93SJoachim Eastwoodconfig PINCTRL_LPC18XX
1112f77ac93SJoachim Eastwood	bool "NXP LPC18XX/43XX SCU pinctrl driver"
1122f77ac93SJoachim Eastwood	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
1132f77ac93SJoachim Eastwood	default ARCH_LPC18XX
1142f77ac93SJoachim Eastwood	select PINMUX
1152f77ac93SJoachim Eastwood	select GENERIC_PINCONF
1162f77ac93SJoachim Eastwood	help
1172f77ac93SJoachim Eastwood	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
1182f77ac93SJoachim Eastwood
119e316cb2bSJohn Crispinconfig PINCTRL_FALCON
120e316cb2bSJohn Crispin	bool
121e316cb2bSJohn Crispin	depends on SOC_FALCON
122e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
123e316cb2bSJohn Crispin
1246ac73095SBeniamino Galvaniconfig PINCTRL_MESON
1256ac73095SBeniamino Galvani	bool
126b99e6fb8SLinus Walleij	depends on OF
1276ac73095SBeniamino Galvani	select PINMUX
1286ac73095SBeniamino Galvani	select PINCONF
1296ac73095SBeniamino Galvani	select GENERIC_PINCONF
130b99e6fb8SLinus Walleij	select GPIOLIB
1316ac73095SBeniamino Galvani	select OF_GPIO
1326ac73095SBeniamino Galvani	select REGMAP_MMIO
1336ac73095SBeniamino Galvani
134d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
135d3e51161SHeiko Stübner	bool
136d3e51161SHeiko Stübner	select PINMUX
137d3e51161SHeiko Stübner	select GENERIC_PINCONF
138d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
139751a99abSHeiko Stübner	select MFD_SYSCON
140d3e51161SHeiko Stübner
1418b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
1428b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
1438b8b091bSTony Lindgren	depends on OF
1448b8b091bSTony Lindgren	select PINMUX
1458b8b091bSTony Lindgren	select PINCONF
1469dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
1478b8b091bSTony Lindgren	help
1488b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
1498b8b091bSTony Lindgren
1503bece55aSLinus Walleijconfig PINCTRL_SIRF
151a17272a4SBarry Song	bool "CSR SiRFprimaII pin controller driver"
152d3e26f2fSBarry Song	depends on ARCH_SIRF
153393daa81SRongjun Ying	select PINMUX
154f9367793SWei Chen	select PINCONF
155f9367793SWei Chen	select GENERIC_PINCONF
1567420d2d0SLinus Walleij	select GPIOLIB_IRQCHIP
157393daa81SRongjun Ying
158cefc03e5SAndrew Brestickerconfig PINCTRL_PISTACHIO
159cefc03e5SAndrew Bresticker	def_bool y if MACH_PISTACHIO
160cefc03e5SAndrew Bresticker	depends on GPIOLIB
161cefc03e5SAndrew Bresticker	select PINMUX
162cefc03e5SAndrew Bresticker	select GENERIC_PINCONF
163cefc03e5SAndrew Bresticker	select GPIOLIB_IRQCHIP
164cefc03e5SAndrew Bresticker	select OF_GPIO
165cefc03e5SAndrew Bresticker
166701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
167701016c0SSrinivas KANDAGATLA	bool
168701016c0SSrinivas KANDAGATLA	depends on OF
169701016c0SSrinivas KANDAGATLA	select PINMUX
170701016c0SSrinivas KANDAGATLA	select PINCONF
171130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
172701016c0SSrinivas KANDAGATLA
173971dac71SStephen Warrenconfig PINCTRL_TEGRA
174971dac71SStephen Warren	bool
175507ccdbfSAxel Lin	select PINMUX
176507ccdbfSAxel Lin	select PINCONF
177971dac71SStephen Warren
178971dac71SStephen Warrenconfig PINCTRL_TEGRA20
179971dac71SStephen Warren	bool
180971dac71SStephen Warren	select PINCTRL_TEGRA
181971dac71SStephen Warren
182971dac71SStephen Warrenconfig PINCTRL_TEGRA30
183971dac71SStephen Warren	bool
184971dac71SStephen Warren	select PINCTRL_TEGRA
185971dac71SStephen Warren
186b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114
187b6ae7a26SPritesh Raithatha	bool
188b6ae7a26SPritesh Raithatha	select PINCTRL_TEGRA
189b6ae7a26SPritesh Raithatha
1901a16bee6SAshwini Ghugeconfig PINCTRL_TEGRA124
1911a16bee6SAshwini Ghuge	bool
1921a16bee6SAshwini Ghuge	select PINCTRL_TEGRA
1931a16bee6SAshwini Ghuge
1949184f756SStephen Warrenconfig PINCTRL_TEGRA210
1959184f756SStephen Warren	bool
1969184f756SStephen Warren	select PINCTRL_TEGRA
1979184f756SStephen Warren
198dc0a3938SThierry Redingconfig PINCTRL_TEGRA_XUSB
199dc0a3938SThierry Reding	def_bool y if ARCH_TEGRA
200dc0a3938SThierry Reding	select GENERIC_PHY
201dc0a3938SThierry Reding	select PINCONF
202dc0a3938SThierry Reding	select PINMUX
203dc0a3938SThierry Reding
204d5025f9fSJames Hoganconfig PINCTRL_TZ1090
205d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
206d5025f9fSJames Hogan	depends on SOC_TZ1090
207d5025f9fSJames Hogan	select PINMUX
208d5025f9fSJames Hogan	select GENERIC_PINCONF
209d5025f9fSJames Hogan
210b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
211b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
212b58f0273SJames Hogan	depends on SOC_TZ1090
213b58f0273SJames Hogan	select PINMUX
214b58f0273SJames Hogan	select PINCONF
215b58f0273SJames Hogan
2163bece55aSLinus Walleijconfig PINCTRL_U300
2173bece55aSLinus Walleij	bool "U300 pin controller driver"
21898da3529SLinus Walleij	depends on ARCH_U300
21998da3529SLinus Walleij	select PINMUX
220dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
22145f034efSLinus Walleij
222ca402d37SLinus Walleijconfig PINCTRL_COH901
223ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
2243c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
225523dcce7SLinus Walleij	select GPIOLIB_IRQCHIP
226ca402d37SLinus Walleij	help
227ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
228ca402d37SLinus Walleij	  The names of the two IP block variants supported are
229ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
230ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
231ca402d37SLinus Walleij
2320a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
233736658c5SMark Brown	bool "Pinctrl driver for the PALMAS Series MFD devices"
2340a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
23563ca8db7SAxel Lin	select PINMUX
2360a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
2370a8d3e24SLaxman Dewangan	help
2380a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
2390a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
2400a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
2410a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
2420a8d3e24SLaxman Dewangan
243add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ
244add958ceSSoren Brinkmann	bool "Pinctrl driver for Xilinx Zynq"
245add958ceSSoren Brinkmann	depends on ARCH_ZYNQ
246add958ceSSoren Brinkmann	select PINMUX
247add958ceSSoren Brinkmann	select GENERIC_PINCONF
248add958ceSSoren Brinkmann	help
249add958ceSSoren Brinkmann	  This selectes the pinctrl driver for Xilinx Zynq.
250add958ceSSoren Brinkmann
251b17f2f9bSRay Juisource "drivers/pinctrl/bcm/Kconfig"
2523de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
253edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig"
2545fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig"
25506763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
2563a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig"
25769b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
258ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
2596e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
260deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
2615f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
2626e908892SMasahiro Yamadasource "drivers/pinctrl/uniphier/Kconfig"
263170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
264a6df410dSHongzhou Yangsource "drivers/pinctrl/mediatek/Kconfig"
265deda8287SViresh Kumar
2663f8c50c9SJohn Crispinconfig PINCTRL_XWAY
2673f8c50c9SJohn Crispin	bool
2683f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
2693f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
2703f8c50c9SJohn Crispin
2715aad0db1SChristian Ruppertconfig PINCTRL_TB10X
2725aad0db1SChristian Ruppert	bool
273b99e6fb8SLinus Walleij	depends on OF && ARC_PLAT_TB10X
274b99e6fb8SLinus Walleij	select GPIOLIB
2755aad0db1SChristian Ruppert
27645f034efSLinus Walleijendmenu
27798da3529SLinus Walleij
2782744e8afSLinus Walleijendif
279