xref: /linux/drivers/pinctrl/Kconfig (revision 376f413a7d98f02e8253cf9dd44935a7545fcb62)
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
52e9a03addSSonic Zhangconfig PINCTRL_ADI2
53e9a03addSSonic Zhang	bool "ADI pin controller driver"
549d7278d0SSonic Zhang	depends on BLACKFIN
55e9a03addSSonic Zhang	select PINMUX
56e9a03addSSonic Zhang	select IRQ_DOMAIN
57e9a03addSSonic Zhang	help
58e9a03addSSonic Zhang	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
59e9a03addSSonic Zhang	  future processors. This option is selected automatically when specific
60e9a03addSSonic Zhang	  machine and arch are selected to build.
61e9a03addSSonic Zhang
62c8ce8782SLaxman Dewanganconfig PINCTRL_AS3722
63c8ce8782SLaxman Dewangan	bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
64c8ce8782SLaxman Dewangan	depends on MFD_AS3722 && GPIOLIB
65c8ce8782SLaxman Dewangan	select PINMUX
66c8ce8782SLaxman Dewangan	select GENERIC_PINCONF
67c8ce8782SLaxman Dewangan	help
68c8ce8782SLaxman Dewangan	  AS3722 device supports the configuration of GPIO pins for different
69c8ce8782SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
70c8ce8782SLaxman Dewangan	  open drain configuration for the GPIO pins of AS3722 devices. It also
71c8ce8782SLaxman Dewangan	  supports the GPIO functionality through gpiolib.
72c8ce8782SLaxman Dewangan
73e9a03addSSonic Zhangconfig PINCTRL_BF54x
74e9a03addSSonic Zhang	def_bool y if BF54x
75e9a03addSSonic Zhang	select PINCTRL_ADI2
76e9a03addSSonic Zhang
77e9a03addSSonic Zhangconfig PINCTRL_BF60x
78e9a03addSSonic Zhang	def_bool y if BF60x
79e9a03addSSonic Zhang	select PINCTRL_ADI2
80e9a03addSSonic Zhang
816732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91
826732ae5cSJean-Christophe PLAGNIOL-VILLARD	bool "AT91 pinctrl driver"
836732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on OF
846732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on ARCH_AT91
856732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINMUX
866732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINCONF
876732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
886732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
896732ae5cSJean-Christophe PLAGNIOL-VILLARD
90a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL
91a5d811bbSMathias Nyman	bool "Intel Baytrail GPIO pin control"
92a5d811bbSMathias Nyman	depends on GPIOLIB && ACPI && X86
93a5d811bbSMathias Nyman	select IRQ_DOMAIN
94a5d811bbSMathias Nyman	help
95a5d811bbSMathias Nyman	  driver for memory mapped GPIO functionality on Intel Baytrail
96a5d811bbSMathias Nyman	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
97a5d811bbSMathias Nyman	  Most pins are usually muxed to some other functionality by firmware,
98a5d811bbSMathias Nyman	  so only a small amount is available for gpio use.
99a5d811bbSMathias Nyman
100a5d811bbSMathias Nyman	  Requires ACPI device enumeration code to set up a platform device.
101a5d811bbSMathias Nyman
102e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835
103e1b2dc70SSimon Arlott	bool
104e1b2dc70SSimon Arlott	select PINMUX
105e1b2dc70SSimon Arlott	select PINCONF
106e1b2dc70SSimon Arlott
107ae75ff81SDong Aishengconfig PINCTRL_IMX
108ae75ff81SDong Aisheng	bool
109ae75ff81SDong Aisheng	select PINMUX
110ae75ff81SDong Aisheng	select PINCONF
111ae75ff81SDong Aisheng
11230612cd9SMarkus Pargmannconfig PINCTRL_IMX1_CORE
11330612cd9SMarkus Pargmann	bool
11430612cd9SMarkus Pargmann	select PINMUX
11530612cd9SMarkus Pargmann	select PINCONF
11630612cd9SMarkus Pargmann
117e16dbf60SMarkus Pargmannconfig PINCTRL_IMX27
118e16dbf60SMarkus Pargmann	bool "IMX27 pinctrl driver"
119e16dbf60SMarkus Pargmann	depends on SOC_IMX27
120e16dbf60SMarkus Pargmann	select PINCTRL_IMX1_CORE
121e16dbf60SMarkus Pargmann	help
122e16dbf60SMarkus Pargmann	  Say Y here to enable the imx27 pinctrl driver
123e16dbf60SMarkus Pargmann
124b4a87c9bSDenis Carikli
125b4a87c9bSDenis Carikliconfig PINCTRL_IMX25
126b4a87c9bSDenis Carikli        bool "IMX25 pinctrl driver"
127b4a87c9bSDenis Carikli        depends on OF
128b4a87c9bSDenis Carikli        depends on SOC_IMX25
129b4a87c9bSDenis Carikli        select PINCTRL_IMX
130b4a87c9bSDenis Carikli        help
131b4a87c9bSDenis Carikli          Say Y here to enable the imx25 pinctrl driver
132b4a87c9bSDenis Carikli
133b9aa8f13SUwe Kleine-Königconfig PINCTRL_IMX35
134b9aa8f13SUwe Kleine-König	bool "IMX35 pinctrl driver"
135b9aa8f13SUwe Kleine-König	depends on SOC_IMX35
136b9aa8f13SUwe Kleine-König	select PINCTRL_IMX
137b9aa8f13SUwe Kleine-König	help
138b9aa8f13SUwe Kleine-König	  Say Y here to enable the imx35 pinctrl driver
139b9aa8f13SUwe Kleine-König
1409da83120SGreg Ungererconfig PINCTRL_IMX50
1419da83120SGreg Ungerer	bool "IMX50 pinctrl driver"
1429da83120SGreg Ungerer	depends on SOC_IMX50
1439da83120SGreg Ungerer	select PINCTRL_IMX
1449da83120SGreg Ungerer	help
1459da83120SGreg Ungerer	  Say Y here to enable the imx50 pinctrl driver
1469da83120SGreg Ungerer
1474f6a16bfSDong Aishengconfig PINCTRL_IMX51
1484f6a16bfSDong Aisheng	bool "IMX51 pinctrl driver"
1494f6a16bfSDong Aisheng	depends on SOC_IMX51
1504f6a16bfSDong Aisheng	select PINCTRL_IMX
1514f6a16bfSDong Aisheng	help
1524f6a16bfSDong Aisheng	  Say Y here to enable the imx51 pinctrl driver
1534f6a16bfSDong Aisheng
15493fbd3c0SDong Aishengconfig PINCTRL_IMX53
15593fbd3c0SDong Aisheng	bool "IMX53 pinctrl driver"
15693fbd3c0SDong Aisheng	depends on SOC_IMX53
15793fbd3c0SDong Aisheng	select PINCTRL_IMX
15893fbd3c0SDong Aisheng	help
15993fbd3c0SDong Aisheng	  Say Y here to enable the imx53 pinctrl driver
16093fbd3c0SDong Aisheng
161d8fe3572SDong Aishengconfig PINCTRL_IMX6Q
1623f551d6aSShawn Guo	bool "IMX6Q/DL pinctrl driver"
163d8fe3572SDong Aisheng	depends on SOC_IMX6Q
164d8fe3572SDong Aisheng	select PINCTRL_IMX
165d8fe3572SDong Aisheng	help
1663f551d6aSShawn Guo	  Say Y here to enable the imx6q/dl pinctrl driver
167d8fe3572SDong Aisheng
16821e59123SShawn Guoconfig PINCTRL_IMX6SL
16921e59123SShawn Guo	bool "IMX6SL pinctrl driver"
17021e59123SShawn Guo	depends on SOC_IMX6SL
17121e59123SShawn Guo	select PINCTRL_IMX
17221e59123SShawn Guo	help
17321e59123SShawn Guo	  Say Y here to enable the imx6sl pinctrl driver
174f4e66983SHaojian Zhuang
17578bafc66SJingchang Luconfig PINCTRL_VF610
17678bafc66SJingchang Lu	bool "Freescale Vybrid VF610 pinctrl driver"
17778bafc66SJingchang Lu	depends on SOC_VF610
17878bafc66SJingchang Lu	select PINCTRL_IMX
17978bafc66SJingchang Lu	help
18078bafc66SJingchang Lu	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
18178bafc66SJingchang Lu
1823f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1833f8c50c9SJohn Crispin	bool
1843f8c50c9SJohn Crispin	depends on LANTIQ
1853f8c50c9SJohn Crispin	select PINMUX
1863f8c50c9SJohn Crispin	select PINCONF
1873f8c50c9SJohn Crispin
188e316cb2bSJohn Crispinconfig PINCTRL_FALCON
189e316cb2bSJohn Crispin	bool
190e316cb2bSJohn Crispin	depends on SOC_FALCON
191e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
192e316cb2bSJohn Crispin
19317723111SShawn Guoconfig PINCTRL_MXS
19417723111SShawn Guo	bool
19590db8a14SAxel Lin	select PINMUX
19690db8a14SAxel Lin	select PINCONF
19717723111SShawn Guo
19817723111SShawn Guoconfig PINCTRL_IMX23
19917723111SShawn Guo	bool
20017723111SShawn Guo	select PINCTRL_MXS
20117723111SShawn Guo
20217723111SShawn Guoconfig PINCTRL_IMX28
20317723111SShawn Guo	bool
20417723111SShawn Guo	select PINCTRL_MXS
20517723111SShawn Guo
206f365be09SBjorn Anderssonconfig PINCTRL_MSM
207*376f413aSBjorn Andersson	tristate
208f365be09SBjorn Andersson	select PINMUX
209f365be09SBjorn Andersson	select PINCONF
210f365be09SBjorn Andersson	select GENERIC_PINCONF
211f365be09SBjorn Andersson
21255aaf834SBjorn Anderssonconfig PINCTRL_MSM8X74
213*376f413aSBjorn Andersson	tristate "Qualcomm 8x74 pin controller driver"
214*376f413aSBjorn Andersson	depends on GPIOLIB && OF && OF_IRQ
21555aaf834SBjorn Andersson	select PINCTRL_MSM
216*376f413aSBjorn Andersson	help
217*376f413aSBjorn Andersson	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
218*376f413aSBjorn Andersson	  Qualcomm TLMM block found in the Qualcomm 8974 platform.
21955aaf834SBjorn Andersson
220e98ea774SLinus Walleijconfig PINCTRL_NOMADIK
221e98ea774SLinus Walleij	bool "Nomadik pin controller driver"
2220fa7be40SArnd Bergmann	depends on ARCH_U8500 || ARCH_NOMADIK
223dbfe8ca2SLinus Walleij	select PINMUX
224d41af627SLinus Walleij	select PINCONF
225e98ea774SLinus Walleij
226f79c5ed9SLinus Walleijconfig PINCTRL_STN8815
227f79c5ed9SLinus Walleij	bool "STN8815 pin controller driver"
228f79c5ed9SLinus Walleij	depends on PINCTRL_NOMADIK && ARCH_NOMADIK
229f79c5ed9SLinus Walleij
230e98ea774SLinus Walleijconfig PINCTRL_DB8500
231e98ea774SLinus Walleij	bool "DB8500 pin controller driver"
232e98ea774SLinus Walleij	depends on PINCTRL_NOMADIK && ARCH_U8500
233e98ea774SLinus Walleij
23445a1b531SPatrice Chotardconfig PINCTRL_DB8540
23545a1b531SPatrice Chotard	bool "DB8540 pin controller driver"
23645a1b531SPatrice Chotard	depends on PINCTRL_NOMADIK && ARCH_U8500
23745a1b531SPatrice Chotard
238d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
239d3e51161SHeiko Stübner	bool
240d3e51161SHeiko Stübner	select PINMUX
241d3e51161SHeiko Stübner	select GENERIC_PINCONF
242d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
243d3e51161SHeiko Stübner
2448b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
2458b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
2468b8b091bSTony Lindgren	depends on OF
2478b8b091bSTony Lindgren	select PINMUX
2488b8b091bSTony Lindgren	select PINCONF
2499dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
2508b8b091bSTony Lindgren	help
2518b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
2528b8b091bSTony Lindgren
2533bece55aSLinus Walleijconfig PINCTRL_SIRF
254d3e26f2fSBarry Song	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
255d3e26f2fSBarry Song	depends on ARCH_SIRF
256393daa81SRongjun Ying	select PINMUX
257393daa81SRongjun Ying
2580e37f88dSMaxime Ripardconfig PINCTRL_SUNXI
2590e37f88dSMaxime Ripard	bool
2600e37f88dSMaxime Ripard	select PINMUX
2610e37f88dSMaxime Ripard	select GENERIC_PINCONF
2620e37f88dSMaxime Ripard
263701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
264701016c0SSrinivas KANDAGATLA	bool
265701016c0SSrinivas KANDAGATLA	depends on OF
266701016c0SSrinivas KANDAGATLA	select PINMUX
267701016c0SSrinivas KANDAGATLA	select PINCONF
268701016c0SSrinivas KANDAGATLA
269971dac71SStephen Warrenconfig PINCTRL_TEGRA
270971dac71SStephen Warren	bool
271507ccdbfSAxel Lin	select PINMUX
272507ccdbfSAxel Lin	select PINCONF
273971dac71SStephen Warren
274971dac71SStephen Warrenconfig PINCTRL_TEGRA20
275971dac71SStephen Warren	bool
276971dac71SStephen Warren	select PINCTRL_TEGRA
277971dac71SStephen Warren
278971dac71SStephen Warrenconfig PINCTRL_TEGRA30
279971dac71SStephen Warren	bool
280971dac71SStephen Warren	select PINCTRL_TEGRA
281971dac71SStephen Warren
282b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114
283b6ae7a26SPritesh Raithatha	bool
284b6ae7a26SPritesh Raithatha	select PINCTRL_TEGRA
285b6ae7a26SPritesh Raithatha
2861a16bee6SAshwini Ghugeconfig PINCTRL_TEGRA124
2871a16bee6SAshwini Ghuge	bool
2881a16bee6SAshwini Ghuge	select PINCTRL_TEGRA
2891a16bee6SAshwini Ghuge
290d5025f9fSJames Hoganconfig PINCTRL_TZ1090
291d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
292d5025f9fSJames Hogan	depends on SOC_TZ1090
293d5025f9fSJames Hogan	select PINMUX
294d5025f9fSJames Hogan	select GENERIC_PINCONF
295d5025f9fSJames Hogan
296b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
297b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
298b58f0273SJames Hogan	depends on SOC_TZ1090
299b58f0273SJames Hogan	select PINMUX
300b58f0273SJames Hogan	select PINCONF
301b58f0273SJames Hogan
3023bece55aSLinus Walleijconfig PINCTRL_U300
3033bece55aSLinus Walleij	bool "U300 pin controller driver"
30498da3529SLinus Walleij	depends on ARCH_U300
30598da3529SLinus Walleij	select PINMUX
306dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
30745f034efSLinus Walleij
308ca402d37SLinus Walleijconfig PINCTRL_COH901
309ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
3103c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
311ca402d37SLinus Walleij	help
312ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
313ca402d37SLinus Walleij	  The names of the two IP block variants supported are
314ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
315ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
316ca402d37SLinus Walleij
31730574f0dSThomas Abrahamconfig PINCTRL_SAMSUNG
318cbc351abSArnd Bergmann	bool
31930574f0dSThomas Abraham	select PINMUX
32030574f0dSThomas Abraham	select PINCONF
32130574f0dSThomas Abraham
322a1ed2670SKukjin Kimconfig PINCTRL_EXYNOS
32383978253SDoug Anderson	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
324608a26a7SMateusz Krawczuk	depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
32543b169dbSThomas Abraham	select PINCTRL_SAMSUNG
32643b169dbSThomas Abraham
327f0b9a7e5SThomas Abrahamconfig PINCTRL_EXYNOS5440
328f0b9a7e5SThomas Abraham	bool "Samsung EXYNOS5440 SoC pinctrl driver"
32983978253SDoug Anderson	depends on SOC_EXYNOS5440
330f0b9a7e5SThomas Abraham	select PINMUX
331f0b9a7e5SThomas Abraham	select PINCONF
332f0b9a7e5SThomas Abraham
3330a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
334736658c5SMark Brown	bool "Pinctrl driver for the PALMAS Series MFD devices"
3350a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
33663ca8db7SAxel Lin	select PINMUX
3370a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
3380a8d3e24SLaxman Dewangan	help
3390a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
3400a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
3410a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
3420a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
3430a8d3e24SLaxman Dewangan
344af99a750SHeiko Stuebnerconfig PINCTRL_S3C24XX
345af99a750SHeiko Stuebner	bool "Samsung S3C24XX SoC pinctrl driver"
346af99a750SHeiko Stuebner	depends on ARCH_S3C24XX
347af99a750SHeiko Stuebner	select PINCTRL_SAMSUNG
348af99a750SHeiko Stuebner
34961dd7261STomasz Figaconfig PINCTRL_S3C64XX
35061dd7261STomasz Figa	bool "Samsung S3C64XX SoC pinctrl driver"
35161dd7261STomasz Figa	depends on ARCH_S3C64XX
35261dd7261STomasz Figa	select PINCTRL_SAMSUNG
35361dd7261STomasz Figa
35406763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
3556e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
356deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
357170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
358deda8287SViresh Kumar
3593f8c50c9SJohn Crispinconfig PINCTRL_XWAY
3603f8c50c9SJohn Crispin	bool
3613f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
3623f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
3633f8c50c9SJohn Crispin
3645aad0db1SChristian Ruppertconfig PINCTRL_TB10X
3655aad0db1SChristian Ruppert	bool
3665aad0db1SChristian Ruppert	depends on ARC_PLAT_TB10X
3675aad0db1SChristian Ruppert
36845f034efSLinus Walleijendmenu
36998da3529SLinus Walleij
3702744e8afSLinus Walleijendif
371