xref: /linux/drivers/pinctrl/Kconfig (revision e9a03add0c6ed5341fc59ff9c76843c2888a33fa)
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
52*e9a03addSSonic Zhangconfig PINCTRL_ADI2
53*e9a03addSSonic Zhang	bool "ADI pin controller driver"
54*e9a03addSSonic Zhang	select PINMUX
55*e9a03addSSonic Zhang	select IRQ_DOMAIN
56*e9a03addSSonic Zhang	help
57*e9a03addSSonic Zhang	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
58*e9a03addSSonic Zhang	  future processors. This option is selected automatically when specific
59*e9a03addSSonic Zhang	  machine and arch are selected to build.
60*e9a03addSSonic Zhang
61*e9a03addSSonic Zhangconfig PINCTRL_BF54x
62*e9a03addSSonic Zhang	def_bool y if BF54x
63*e9a03addSSonic Zhang	select PINCTRL_ADI2
64*e9a03addSSonic Zhang
65*e9a03addSSonic Zhangconfig PINCTRL_BF60x
66*e9a03addSSonic Zhang	def_bool y if BF60x
67*e9a03addSSonic Zhang	select PINCTRL_ADI2
68*e9a03addSSonic Zhang
696732ae5cSJean-Christophe PLAGNIOL-VILLARDconfig PINCTRL_AT91
706732ae5cSJean-Christophe PLAGNIOL-VILLARD	bool "AT91 pinctrl driver"
716732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on OF
726732ae5cSJean-Christophe PLAGNIOL-VILLARD	depends on ARCH_AT91
736732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINMUX
746732ae5cSJean-Christophe PLAGNIOL-VILLARD	select PINCONF
756732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
766732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
776732ae5cSJean-Christophe PLAGNIOL-VILLARD
78a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL
79a5d811bbSMathias Nyman	bool "Intel Baytrail GPIO pin control"
80a5d811bbSMathias Nyman	depends on GPIOLIB && ACPI && X86
81a5d811bbSMathias Nyman	select IRQ_DOMAIN
82a5d811bbSMathias Nyman	help
83a5d811bbSMathias Nyman	  driver for memory mapped GPIO functionality on Intel Baytrail
84a5d811bbSMathias Nyman	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
85a5d811bbSMathias Nyman	  Most pins are usually muxed to some other functionality by firmware,
86a5d811bbSMathias Nyman	  so only a small amount is available for gpio use.
87a5d811bbSMathias Nyman
88a5d811bbSMathias Nyman	  Requires ACPI device enumeration code to set up a platform device.
89a5d811bbSMathias Nyman
90e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835
91e1b2dc70SSimon Arlott	bool
92e1b2dc70SSimon Arlott	select PINMUX
93e1b2dc70SSimon Arlott	select PINCONF
94e1b2dc70SSimon Arlott
95ae75ff81SDong Aishengconfig PINCTRL_IMX
96ae75ff81SDong Aisheng	bool
97ae75ff81SDong Aisheng	select PINMUX
98ae75ff81SDong Aisheng	select PINCONF
99ae75ff81SDong Aisheng
100b9aa8f13SUwe Kleine-Königconfig PINCTRL_IMX35
101b9aa8f13SUwe Kleine-König	bool "IMX35 pinctrl driver"
102b9aa8f13SUwe Kleine-König	depends on OF
103b9aa8f13SUwe Kleine-König	depends on SOC_IMX35
104b9aa8f13SUwe Kleine-König	select PINCTRL_IMX
105b9aa8f13SUwe Kleine-König	help
106b9aa8f13SUwe Kleine-König	  Say Y here to enable the imx35 pinctrl driver
107b9aa8f13SUwe Kleine-König
1084f6a16bfSDong Aishengconfig PINCTRL_IMX51
1094f6a16bfSDong Aisheng	bool "IMX51 pinctrl driver"
1104f6a16bfSDong Aisheng	depends on OF
1114f6a16bfSDong Aisheng	depends on SOC_IMX51
1124f6a16bfSDong Aisheng	select PINCTRL_IMX
1134f6a16bfSDong Aisheng	help
1144f6a16bfSDong Aisheng	  Say Y here to enable the imx51 pinctrl driver
1154f6a16bfSDong Aisheng
11693fbd3c0SDong Aishengconfig PINCTRL_IMX53
11793fbd3c0SDong Aisheng	bool "IMX53 pinctrl driver"
11893fbd3c0SDong Aisheng	depends on OF
11993fbd3c0SDong Aisheng	depends on SOC_IMX53
12093fbd3c0SDong Aisheng	select PINCTRL_IMX
12193fbd3c0SDong Aisheng	help
12293fbd3c0SDong Aisheng	  Say Y here to enable the imx53 pinctrl driver
12393fbd3c0SDong Aisheng
124d8fe3572SDong Aishengconfig PINCTRL_IMX6Q
1253f551d6aSShawn Guo	bool "IMX6Q/DL pinctrl driver"
126d8fe3572SDong Aisheng	depends on OF
127d8fe3572SDong Aisheng	depends on SOC_IMX6Q
128d8fe3572SDong Aisheng	select PINCTRL_IMX
129d8fe3572SDong Aisheng	help
1303f551d6aSShawn Guo	  Say Y here to enable the imx6q/dl pinctrl driver
131d8fe3572SDong Aisheng
13221e59123SShawn Guoconfig PINCTRL_IMX6SL
13321e59123SShawn Guo	bool "IMX6SL pinctrl driver"
13421e59123SShawn Guo	depends on OF
13521e59123SShawn Guo	depends on SOC_IMX6SL
13621e59123SShawn Guo	select PINCTRL_IMX
13721e59123SShawn Guo	help
13821e59123SShawn Guo	  Say Y here to enable the imx6sl pinctrl driver
139f4e66983SHaojian Zhuang
14078bafc66SJingchang Luconfig PINCTRL_VF610
14178bafc66SJingchang Lu	bool "Freescale Vybrid VF610 pinctrl driver"
14278bafc66SJingchang Lu	depends on OF
14378bafc66SJingchang Lu	depends on SOC_VF610
14478bafc66SJingchang Lu	select PINCTRL_IMX
14578bafc66SJingchang Lu	help
14678bafc66SJingchang Lu	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
14778bafc66SJingchang Lu
1483f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1493f8c50c9SJohn Crispin	bool
1503f8c50c9SJohn Crispin	depends on LANTIQ
1513f8c50c9SJohn Crispin	select PINMUX
1523f8c50c9SJohn Crispin	select PINCONF
1533f8c50c9SJohn Crispin
154e316cb2bSJohn Crispinconfig PINCTRL_FALCON
155e316cb2bSJohn Crispin	bool
156e316cb2bSJohn Crispin	depends on SOC_FALCON
157e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
158e316cb2bSJohn Crispin
15917723111SShawn Guoconfig PINCTRL_MXS
16017723111SShawn Guo	bool
16190db8a14SAxel Lin	select PINMUX
16290db8a14SAxel Lin	select PINCONF
16317723111SShawn Guo
16417723111SShawn Guoconfig PINCTRL_IMX23
16517723111SShawn Guo	bool
16617723111SShawn Guo	select PINCTRL_MXS
16717723111SShawn Guo
16817723111SShawn Guoconfig PINCTRL_IMX28
16917723111SShawn Guo	bool
17017723111SShawn Guo	select PINCTRL_MXS
17117723111SShawn Guo
172e98ea774SLinus Walleijconfig PINCTRL_NOMADIK
173e98ea774SLinus Walleij	bool "Nomadik pin controller driver"
1740fa7be40SArnd Bergmann	depends on ARCH_U8500 || ARCH_NOMADIK
175dbfe8ca2SLinus Walleij	select PINMUX
176d41af627SLinus Walleij	select PINCONF
177e98ea774SLinus Walleij
178f79c5ed9SLinus Walleijconfig PINCTRL_STN8815
179f79c5ed9SLinus Walleij	bool "STN8815 pin controller driver"
180f79c5ed9SLinus Walleij	depends on PINCTRL_NOMADIK && ARCH_NOMADIK
181f79c5ed9SLinus Walleij
182e98ea774SLinus Walleijconfig PINCTRL_DB8500
183e98ea774SLinus Walleij	bool "DB8500 pin controller driver"
184e98ea774SLinus Walleij	depends on PINCTRL_NOMADIK && ARCH_U8500
185e98ea774SLinus Walleij
18645a1b531SPatrice Chotardconfig PINCTRL_DB8540
18745a1b531SPatrice Chotard	bool "DB8540 pin controller driver"
18845a1b531SPatrice Chotard	depends on PINCTRL_NOMADIK && ARCH_U8500
18945a1b531SPatrice Chotard
190d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
191d3e51161SHeiko Stübner	bool
192d3e51161SHeiko Stübner	select PINMUX
193d3e51161SHeiko Stübner	select GENERIC_PINCONF
194d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
195d3e51161SHeiko Stübner
1968b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
1978b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
1988b8b091bSTony Lindgren	depends on OF
1998b8b091bSTony Lindgren	select PINMUX
2008b8b091bSTony Lindgren	select PINCONF
2019dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
2028b8b091bSTony Lindgren	help
2038b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
2048b8b091bSTony Lindgren
2053bece55aSLinus Walleijconfig PINCTRL_SIRF
206d3e26f2fSBarry Song	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
207d3e26f2fSBarry Song	depends on ARCH_SIRF
208393daa81SRongjun Ying	select PINMUX
209393daa81SRongjun Ying
2100e37f88dSMaxime Ripardconfig PINCTRL_SUNXI
2110e37f88dSMaxime Ripard	bool
2120e37f88dSMaxime Ripard	select PINMUX
2130e37f88dSMaxime Ripard	select GENERIC_PINCONF
2140e37f88dSMaxime Ripard
215701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
216701016c0SSrinivas KANDAGATLA	bool
217701016c0SSrinivas KANDAGATLA	depends on OF
218701016c0SSrinivas KANDAGATLA	select PINMUX
219701016c0SSrinivas KANDAGATLA	select PINCONF
220701016c0SSrinivas KANDAGATLA
221971dac71SStephen Warrenconfig PINCTRL_TEGRA
222971dac71SStephen Warren	bool
223507ccdbfSAxel Lin	select PINMUX
224507ccdbfSAxel Lin	select PINCONF
225971dac71SStephen Warren
226971dac71SStephen Warrenconfig PINCTRL_TEGRA20
227971dac71SStephen Warren	bool
228971dac71SStephen Warren	select PINCTRL_TEGRA
229971dac71SStephen Warren
230971dac71SStephen Warrenconfig PINCTRL_TEGRA30
231971dac71SStephen Warren	bool
232971dac71SStephen Warren	select PINCTRL_TEGRA
233971dac71SStephen Warren
234b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114
235b6ae7a26SPritesh Raithatha	bool
236b6ae7a26SPritesh Raithatha	select PINCTRL_TEGRA
237b6ae7a26SPritesh Raithatha
238d5025f9fSJames Hoganconfig PINCTRL_TZ1090
239d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
240d5025f9fSJames Hogan	depends on SOC_TZ1090
241d5025f9fSJames Hogan	select PINMUX
242d5025f9fSJames Hogan	select GENERIC_PINCONF
243d5025f9fSJames Hogan
244b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
245b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
246b58f0273SJames Hogan	depends on SOC_TZ1090
247b58f0273SJames Hogan	select PINMUX
248b58f0273SJames Hogan	select PINCONF
249b58f0273SJames Hogan
2503bece55aSLinus Walleijconfig PINCTRL_U300
2513bece55aSLinus Walleij	bool "U300 pin controller driver"
25298da3529SLinus Walleij	depends on ARCH_U300
25398da3529SLinus Walleij	select PINMUX
254dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
25545f034efSLinus Walleij
256ca402d37SLinus Walleijconfig PINCTRL_COH901
257ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
2583c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
259ca402d37SLinus Walleij	help
260ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
261ca402d37SLinus Walleij	  The names of the two IP block variants supported are
262ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
263ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
264ca402d37SLinus Walleij
26530574f0dSThomas Abrahamconfig PINCTRL_SAMSUNG
266cbc351abSArnd Bergmann	bool
26730574f0dSThomas Abraham	select PINMUX
26830574f0dSThomas Abraham	select PINCONF
26930574f0dSThomas Abraham
270a1ed2670SKukjin Kimconfig PINCTRL_EXYNOS
27183978253SDoug Anderson	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
272608a26a7SMateusz Krawczuk	depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
27343b169dbSThomas Abraham	select PINCTRL_SAMSUNG
27443b169dbSThomas Abraham
275f0b9a7e5SThomas Abrahamconfig PINCTRL_EXYNOS5440
276f0b9a7e5SThomas Abraham	bool "Samsung EXYNOS5440 SoC pinctrl driver"
27783978253SDoug Anderson	depends on SOC_EXYNOS5440
278f0b9a7e5SThomas Abraham	select PINMUX
279f0b9a7e5SThomas Abraham	select PINCONF
280f0b9a7e5SThomas Abraham
2810a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
282736658c5SMark Brown	bool "Pinctrl driver for the PALMAS Series MFD devices"
2830a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
28463ca8db7SAxel Lin	select PINMUX
2850a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
2860a8d3e24SLaxman Dewangan	help
2870a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
2880a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
2890a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
2900a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
2910a8d3e24SLaxman Dewangan
292af99a750SHeiko Stuebnerconfig PINCTRL_S3C24XX
293af99a750SHeiko Stuebner	bool "Samsung S3C24XX SoC pinctrl driver"
294af99a750SHeiko Stuebner	depends on ARCH_S3C24XX
295af99a750SHeiko Stuebner	select PINCTRL_SAMSUNG
296af99a750SHeiko Stuebner
29761dd7261STomasz Figaconfig PINCTRL_S3C64XX
29861dd7261STomasz Figa	bool "Samsung S3C64XX SoC pinctrl driver"
29961dd7261STomasz Figa	depends on ARCH_S3C64XX
30061dd7261STomasz Figa	select PINCTRL_SAMSUNG
30161dd7261STomasz Figa
30206763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
3036e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
304deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
305170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
306deda8287SViresh Kumar
3073f8c50c9SJohn Crispinconfig PINCTRL_XWAY
3083f8c50c9SJohn Crispin	bool
3093f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
3103f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
3113f8c50c9SJohn Crispin
31245f034efSLinus Walleijendmenu
31398da3529SLinus Walleij
3142744e8afSLinus Walleijendif
315