xref: /linux/drivers/pinctrl/Kconfig (revision 736658c5ebc93743687c6f627c9317b97d26c5be)
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
14ae6b4d85SLinus Walleij	bool "Support pin multiplexing controllers"
15ae6b4d85SLinus Walleij
16ae6b4d85SLinus Walleijconfig PINCONF
17ae6b4d85SLinus Walleij	bool "Support pin configuration controllers"
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
290493e649SPatrice Chotardconfig PINCTRL_ABX500
300493e649SPatrice Chotard	bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
310493e649SPatrice Chotard	depends on AB8500_CORE
320493e649SPatrice Chotard	select GENERIC_PINCONF
330493e649SPatrice Chotard	help
340493e649SPatrice Chotard	  Select this to enable the ABx500 family IC GPIO driver
350493e649SPatrice Chotard
363c937993SPatrice Chotardconfig PINCTRL_AB8500
373c937993SPatrice Chotard	bool "AB8500 pin controller driver"
383c937993SPatrice Chotard	depends on PINCTRL_ABX500 && ARCH_U8500
393c937993SPatrice Chotard
40a8f96e41SPatrice Chotardconfig PINCTRL_AB8540
41a8f96e41SPatrice Chotard	bool "AB8540 pin controller driver"
42a8f96e41SPatrice Chotard	depends on PINCTRL_ABX500 && ARCH_U8500
43a8f96e41SPatrice Chotard
4409dbec3fSPatrice Chotardconfig PINCTRL_AB9540
4509dbec3fSPatrice Chotard	bool "AB9540 pin controller driver"
4609dbec3fSPatrice Chotard	depends on PINCTRL_ABX500 && ARCH_U8500
4709dbec3fSPatrice Chotard
481aa2d8d4SPatrice Chotardconfig PINCTRL_AB8505
491aa2d8d4SPatrice Chotard	bool "AB8505 pin controller driver"
501aa2d8d4SPatrice Chotard	depends on PINCTRL_ABX500 && ARCH_U8500
511aa2d8d4SPatrice Chotard
526732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91
536732ae5cSJean-Christophe PLAGNIOL-VILLARD	bool "AT91 pinctrl driver"
546732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on OF
556732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on ARCH_AT91
566732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINMUX
576732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINCONF
586732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
596732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
606732ae5cSJean-Christophe PLAGNIOL-VILLARD
61a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL
62a5d811bbSMathias Nyman	bool "Intel Baytrail GPIO pin control"
63a5d811bbSMathias Nyman	depends on GPIOLIB && ACPI && X86
64a5d811bbSMathias Nyman	select IRQ_DOMAIN
65a5d811bbSMathias Nyman	help
66a5d811bbSMathias Nyman	  driver for memory mapped GPIO functionality on Intel Baytrail
67a5d811bbSMathias Nyman	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
68a5d811bbSMathias Nyman	  Most pins are usually muxed to some other functionality by firmware,
69a5d811bbSMathias Nyman	  so only a small amount is available for gpio use.
70a5d811bbSMathias Nyman
71a5d811bbSMathias Nyman	  Requires ACPI device enumeration code to set up a platform device.
72a5d811bbSMathias Nyman
73e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835
74e1b2dc70SSimon Arlott	bool
75e1b2dc70SSimon Arlott	select PINMUX
76e1b2dc70SSimon Arlott	select PINCONF
77e1b2dc70SSimon Arlott
78ae75ff81SDong Aishengconfig PINCTRL_IMX
79ae75ff81SDong Aisheng	bool
80ae75ff81SDong Aisheng	select PINMUX
81ae75ff81SDong Aisheng	select PINCONF
82ae75ff81SDong Aisheng
83b9aa8f13SUwe Kleine-Königconfig PINCTRL_IMX35
84b9aa8f13SUwe Kleine-König	bool "IMX35 pinctrl driver"
85b9aa8f13SUwe Kleine-König	depends on OF
86b9aa8f13SUwe Kleine-König	depends on SOC_IMX35
87b9aa8f13SUwe Kleine-König	select PINCTRL_IMX
88b9aa8f13SUwe Kleine-König	help
89b9aa8f13SUwe Kleine-König	  Say Y here to enable the imx35 pinctrl driver
90b9aa8f13SUwe Kleine-König
914f6a16bfSDong Aishengconfig PINCTRL_IMX51
924f6a16bfSDong Aisheng	bool "IMX51 pinctrl driver"
934f6a16bfSDong Aisheng	depends on OF
944f6a16bfSDong Aisheng	depends on SOC_IMX51
954f6a16bfSDong Aisheng	select PINCTRL_IMX
964f6a16bfSDong Aisheng	help
974f6a16bfSDong Aisheng	  Say Y here to enable the imx51 pinctrl driver
984f6a16bfSDong Aisheng
9993fbd3c0SDong Aishengconfig PINCTRL_IMX53
10093fbd3c0SDong Aisheng	bool "IMX53 pinctrl driver"
10193fbd3c0SDong Aisheng	depends on OF
10293fbd3c0SDong Aisheng	depends on SOC_IMX53
10393fbd3c0SDong Aisheng	select PINCTRL_IMX
10493fbd3c0SDong Aisheng	help
10593fbd3c0SDong Aisheng	  Say Y here to enable the imx53 pinctrl driver
10693fbd3c0SDong Aisheng
107d8fe3572SDong Aishengconfig PINCTRL_IMX6Q
1083f551d6aSShawn Guo	bool "IMX6Q/DL pinctrl driver"
109d8fe3572SDong Aisheng	depends on OF
110d8fe3572SDong Aisheng	depends on SOC_IMX6Q
111d8fe3572SDong Aisheng	select PINCTRL_IMX
112d8fe3572SDong Aisheng	help
1133f551d6aSShawn Guo	  Say Y here to enable the imx6q/dl pinctrl driver
114d8fe3572SDong Aisheng
11521e59123SShawn Guoconfig PINCTRL_IMX6SL
11621e59123SShawn Guo	bool "IMX6SL pinctrl driver"
11721e59123SShawn Guo	depends on OF
11821e59123SShawn Guo	depends on SOC_IMX6SL
11921e59123SShawn Guo	select PINCTRL_IMX
12021e59123SShawn Guo	help
12121e59123SShawn Guo	  Say Y here to enable the imx6sl pinctrl driver
122f4e66983SHaojian Zhuang
12378bafc66SJingchang Luconfig PINCTRL_VF610
12478bafc66SJingchang Lu	bool "Freescale Vybrid VF610 pinctrl driver"
12578bafc66SJingchang Lu	depends on OF
12678bafc66SJingchang Lu	depends on SOC_VF610
12778bafc66SJingchang Lu	select PINCTRL_IMX
12878bafc66SJingchang Lu	help
12978bafc66SJingchang Lu	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
13078bafc66SJingchang Lu
1313f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1323f8c50c9SJohn Crispin	bool
1333f8c50c9SJohn Crispin	depends on LANTIQ
1343f8c50c9SJohn Crispin	select PINMUX
1353f8c50c9SJohn Crispin	select PINCONF
1363f8c50c9SJohn Crispin
137e316cb2bSJohn Crispinconfig PINCTRL_FALCON
138e316cb2bSJohn Crispin	bool
139e316cb2bSJohn Crispin	depends on SOC_FALCON
140e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
141e316cb2bSJohn Crispin
14217723111SShawn Guoconfig PINCTRL_MXS
14317723111SShawn Guo	bool
14490db8a14SAxel Lin	select PINMUX
14590db8a14SAxel Lin	select PINCONF
14617723111SShawn Guo
14717723111SShawn Guoconfig PINCTRL_IMX23
14817723111SShawn Guo	bool
14917723111SShawn Guo	select PINCTRL_MXS
15017723111SShawn Guo
15117723111SShawn Guoconfig PINCTRL_IMX28
15217723111SShawn Guo	bool
15317723111SShawn Guo	select PINCTRL_MXS
15417723111SShawn Guo
155e98ea774SLinus Walleijconfig PINCTRL_NOMADIK
156e98ea774SLinus Walleij	bool "Nomadik pin controller driver"
1570fa7be40SArnd Bergmann	depends on ARCH_U8500 || ARCH_NOMADIK
158dbfe8ca2SLinus Walleij	select PINMUX
159d41af627SLinus Walleij	select PINCONF
160e98ea774SLinus Walleij
161f79c5ed9SLinus Walleijconfig PINCTRL_STN8815
162f79c5ed9SLinus Walleij	bool "STN8815 pin controller driver"
163f79c5ed9SLinus Walleij	depends on PINCTRL_NOMADIK && ARCH_NOMADIK
164f79c5ed9SLinus Walleij
165e98ea774SLinus Walleijconfig PINCTRL_DB8500
166e98ea774SLinus Walleij	bool "DB8500 pin controller driver"
167e98ea774SLinus Walleij	depends on PINCTRL_NOMADIK && ARCH_U8500
168e98ea774SLinus Walleij
16945a1b531SPatrice Chotardconfig PINCTRL_DB8540
17045a1b531SPatrice Chotard	bool "DB8540 pin controller driver"
17145a1b531SPatrice Chotard	depends on PINCTRL_NOMADIK && ARCH_U8500
17245a1b531SPatrice Chotard
173d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
174d3e51161SHeiko Stübner	bool
175d3e51161SHeiko Stübner	select PINMUX
176d3e51161SHeiko Stübner	select GENERIC_PINCONF
177d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
178d3e51161SHeiko Stübner
1798b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
1808b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
1818b8b091bSTony Lindgren	depends on OF
1828b8b091bSTony Lindgren	select PINMUX
1838b8b091bSTony Lindgren	select PINCONF
1849dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
1858b8b091bSTony Lindgren	help
1868b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
1878b8b091bSTony Lindgren
1883bece55aSLinus Walleijconfig PINCTRL_SIRF
189d3e26f2fSBarry Song	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
190d3e26f2fSBarry Song	depends on ARCH_SIRF
191393daa81SRongjun Ying	select PINMUX
192393daa81SRongjun Ying
1930e37f88dSMaxime Ripardconfig PINCTRL_SUNXI
1940e37f88dSMaxime Ripard	bool
1950e37f88dSMaxime Ripard	select PINMUX
1960e37f88dSMaxime Ripard	select GENERIC_PINCONF
1970e37f88dSMaxime Ripard
198701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
199701016c0SSrinivas KANDAGATLA	bool
200701016c0SSrinivas KANDAGATLA	depends on OF
201701016c0SSrinivas KANDAGATLA	select PINMUX
202701016c0SSrinivas KANDAGATLA	select PINCONF
203701016c0SSrinivas KANDAGATLA
204971dac71SStephen Warrenconfig PINCTRL_TEGRA
205971dac71SStephen Warren	bool
206507ccdbfSAxel Lin	select PINMUX
207507ccdbfSAxel Lin	select PINCONF
208971dac71SStephen Warren
209971dac71SStephen Warrenconfig PINCTRL_TEGRA20
210971dac71SStephen Warren	bool
211971dac71SStephen Warren	select PINCTRL_TEGRA
212971dac71SStephen Warren
213971dac71SStephen Warrenconfig PINCTRL_TEGRA30
214971dac71SStephen Warren	bool
215971dac71SStephen Warren	select PINCTRL_TEGRA
216971dac71SStephen Warren
217b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114
218b6ae7a26SPritesh Raithatha	bool
219b6ae7a26SPritesh Raithatha	select PINCTRL_TEGRA
220b6ae7a26SPritesh Raithatha
221d5025f9fSJames Hoganconfig PINCTRL_TZ1090
222d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
223d5025f9fSJames Hogan	depends on SOC_TZ1090
224d5025f9fSJames Hogan	select PINMUX
225d5025f9fSJames Hogan	select GENERIC_PINCONF
226d5025f9fSJames Hogan
227b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
228b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
229b58f0273SJames Hogan	depends on SOC_TZ1090
230b58f0273SJames Hogan	select PINMUX
231b58f0273SJames Hogan	select PINCONF
232b58f0273SJames Hogan
2333bece55aSLinus Walleijconfig PINCTRL_U300
2343bece55aSLinus Walleij	bool "U300 pin controller driver"
23598da3529SLinus Walleij	depends on ARCH_U300
23698da3529SLinus Walleij	select PINMUX
237dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
23845f034efSLinus Walleij
239ca402d37SLinus Walleijconfig PINCTRL_COH901
240ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
2413c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
242ca402d37SLinus Walleij	help
243ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
244ca402d37SLinus Walleij	  The names of the two IP block variants supported are
245ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
246ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
247ca402d37SLinus Walleij
24830574f0dSThomas Abrahamconfig PINCTRL_SAMSUNG
249cbc351abSArnd Bergmann	bool
25030574f0dSThomas Abraham	select PINMUX
25130574f0dSThomas Abraham	select PINCONF
25230574f0dSThomas Abraham
253a1ed2670SKukjin Kimconfig PINCTRL_EXYNOS
25483978253SDoug Anderson	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
25583978253SDoug Anderson	depends on OF && GPIOLIB && ARCH_EXYNOS
25643b169dbSThomas Abraham	select PINCTRL_SAMSUNG
25743b169dbSThomas Abraham
258f0b9a7e5SThomas Abrahamconfig PINCTRL_EXYNOS5440
259f0b9a7e5SThomas Abraham	bool "Samsung EXYNOS5440 SoC pinctrl driver"
26083978253SDoug Anderson	depends on SOC_EXYNOS5440
261f0b9a7e5SThomas Abraham	select PINMUX
262f0b9a7e5SThomas Abraham	select PINCONF
263f0b9a7e5SThomas Abraham
2640a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
265*736658c5SMark Brown	bool "Pinctrl driver for the PALMAS Series MFD devices"
2660a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
2670a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
2680a8d3e24SLaxman Dewangan	help
2690a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
2700a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
2710a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
2720a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
2730a8d3e24SLaxman Dewangan
274af99a750SHeiko Stuebnerconfig PINCTRL_S3C24XX
275af99a750SHeiko Stuebner	bool "Samsung S3C24XX SoC pinctrl driver"
276af99a750SHeiko Stuebner	depends on ARCH_S3C24XX
277af99a750SHeiko Stuebner	select PINCTRL_SAMSUNG
278af99a750SHeiko Stuebner
27961dd7261STomasz Figaconfig PINCTRL_S3C64XX
28061dd7261STomasz Figa	bool "Samsung S3C64XX SoC pinctrl driver"
28161dd7261STomasz Figa	depends on ARCH_S3C64XX
28261dd7261STomasz Figa	select PINCTRL_SAMSUNG
28361dd7261STomasz Figa
28406763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
2856e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
286deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
287170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
288deda8287SViresh Kumar
2893f8c50c9SJohn Crispinconfig PINCTRL_XWAY
2903f8c50c9SJohn Crispin	bool
2913f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
2923f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
2933f8c50c9SJohn Crispin
29445f034efSLinus Walleijendmenu
29598da3529SLinus Walleij
2962744e8afSLinus Walleijendif
297