xref: /linux/drivers/pinctrl/Kconfig (revision d5025f9f535108ba44c7f00573a2a34c18a3ea2b)
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
198971dac71SStephen Warrenconfig PINCTRL_TEGRA
199971dac71SStephen Warren	bool
200507ccdbfSAxel Lin	select PINMUX
201507ccdbfSAxel Lin	select PINCONF
202971dac71SStephen Warren
203971dac71SStephen Warrenconfig PINCTRL_TEGRA20
204971dac71SStephen Warren	bool
205971dac71SStephen Warren	select PINCTRL_TEGRA
206971dac71SStephen Warren
207971dac71SStephen Warrenconfig PINCTRL_TEGRA30
208971dac71SStephen Warren	bool
209971dac71SStephen Warren	select PINCTRL_TEGRA
210971dac71SStephen Warren
211b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114
212b6ae7a26SPritesh Raithatha	bool
213b6ae7a26SPritesh Raithatha	select PINCTRL_TEGRA
214b6ae7a26SPritesh Raithatha
215*d5025f9fSJames Hoganconfig PINCTRL_TZ1090
216*d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
217*d5025f9fSJames Hogan	depends on SOC_TZ1090
218*d5025f9fSJames Hogan	select PINMUX
219*d5025f9fSJames Hogan	select GENERIC_PINCONF
220*d5025f9fSJames Hogan
2213bece55aSLinus Walleijconfig PINCTRL_U300
2223bece55aSLinus Walleij	bool "U300 pin controller driver"
22398da3529SLinus Walleij	depends on ARCH_U300
22498da3529SLinus Walleij	select PINMUX
225dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
22645f034efSLinus Walleij
227ca402d37SLinus Walleijconfig PINCTRL_COH901
228ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
2293c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
230ca402d37SLinus Walleij	help
231ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
232ca402d37SLinus Walleij	  The names of the two IP block variants supported are
233ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
234ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
235ca402d37SLinus Walleij
23630574f0dSThomas Abrahamconfig PINCTRL_SAMSUNG
237cbc351abSArnd Bergmann	bool
23830574f0dSThomas Abraham	select PINMUX
23930574f0dSThomas Abraham	select PINCONF
24030574f0dSThomas Abraham
241a1ed2670SKukjin Kimconfig PINCTRL_EXYNOS
242a1ed2670SKukjin Kim	bool "Pinctrl driver data for Samsung EXYNOS SoCs"
243924da314SAxel Lin	depends on OF && GPIOLIB
24443b169dbSThomas Abraham	select PINCTRL_SAMSUNG
24543b169dbSThomas Abraham
246f0b9a7e5SThomas Abrahamconfig PINCTRL_EXYNOS5440
247f0b9a7e5SThomas Abraham	bool "Samsung EXYNOS5440 SoC pinctrl driver"
248f0b9a7e5SThomas Abraham	select PINMUX
249f0b9a7e5SThomas Abraham	select PINCONF
250f0b9a7e5SThomas Abraham
25161dd7261STomasz Figaconfig PINCTRL_S3C64XX
25261dd7261STomasz Figa	bool "Samsung S3C64XX SoC pinctrl driver"
25361dd7261STomasz Figa	depends on ARCH_S3C64XX
25461dd7261STomasz Figa	select PINCTRL_SAMSUNG
25561dd7261STomasz Figa
25606763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
2576e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
258deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
259170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
260deda8287SViresh Kumar
2613f8c50c9SJohn Crispinconfig PINCTRL_XWAY
2623f8c50c9SJohn Crispin	bool
2633f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
2643f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
2653f8c50c9SJohn Crispin
26645f034efSLinus Walleijendmenu
26798da3529SLinus Walleij
2682744e8afSLinus Walleijendif
269