xref: /linux/drivers/pinctrl/Kconfig (revision e4742d5769e7f502f1b928b759ddecabf03375d7)
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
70a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL
71a5d811bbSMathias Nyman	bool "Intel Baytrail GPIO pin control"
72a5d811bbSMathias Nyman	depends on GPIOLIB && ACPI && X86
73e1ee5c57SMika Westerberg	select GPIOLIB_IRQCHIP
74a5d811bbSMathias Nyman	help
75a5d811bbSMathias Nyman	  driver for memory mapped GPIO functionality on Intel Baytrail
76a5d811bbSMathias Nyman	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
77a5d811bbSMathias Nyman	  Most pins are usually muxed to some other functionality by firmware,
78a5d811bbSMathias Nyman	  so only a small amount is available for gpio use.
79a5d811bbSMathias Nyman
80a5d811bbSMathias Nyman	  Requires ACPI device enumeration code to set up a platform device.
81a5d811bbSMathias Nyman
82e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835
83e1b2dc70SSimon Arlott	bool
84e1b2dc70SSimon Arlott	select PINMUX
85e1b2dc70SSimon Arlott	select PINCONF
86e1b2dc70SSimon Arlott
877418b5ccSSherman Yinconfig PINCTRL_BCM281XX
887418b5ccSSherman Yin	bool "Broadcom BCM281xx pinctrl driver"
89*e4742d57SUwe Kleine-König	depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
9054b1aa5aSSherman Yin	select PINMUX
9154b1aa5aSSherman Yin	select PINCONF
9254b1aa5aSSherman Yin	select GENERIC_PINCONF
9354b1aa5aSSherman Yin	select REGMAP_MMIO
9454b1aa5aSSherman Yin	help
957418b5ccSSherman Yin	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
967418b5ccSSherman Yin	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
9754b1aa5aSSherman Yin	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
9854b1aa5aSSherman Yin	  framework.  GPIO is provided by a separate GPIO driver.
9954b1aa5aSSherman Yin
100ae75ff81SDong Aishengconfig PINCTRL_IMX
101ae75ff81SDong Aisheng	bool
102ae75ff81SDong Aisheng	select PINMUX
103ae75ff81SDong Aisheng	select PINCONF
104ae75ff81SDong Aisheng
10530612cd9SMarkus Pargmannconfig PINCTRL_IMX1_CORE
10630612cd9SMarkus Pargmann	bool
10730612cd9SMarkus Pargmann	select PINMUX
10830612cd9SMarkus Pargmann	select PINCONF
10930612cd9SMarkus Pargmann
1104877e51eSAlexander Shiyanconfig PINCTRL_IMX1
1114877e51eSAlexander Shiyan	bool "IMX1 pinctrl driver"
1124877e51eSAlexander Shiyan	depends on SOC_IMX1
1134877e51eSAlexander Shiyan	select PINCTRL_IMX1_CORE
1144877e51eSAlexander Shiyan	help
1154877e51eSAlexander Shiyan	  Say Y here to enable the imx1 pinctrl driver
1164877e51eSAlexander Shiyan
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
1752cc140feSAnson Huangconfig PINCTRL_IMX6SX
1762cc140feSAnson Huang	bool "IMX6SX pinctrl driver"
1772cc140feSAnson Huang	depends on SOC_IMX6SX
1782cc140feSAnson Huang	select PINCTRL_IMX
1792cc140feSAnson Huang	help
1802cc140feSAnson Huang	  Say Y here to enable the imx6sx pinctrl driver
1812cc140feSAnson Huang
18278bafc66SJingchang Luconfig PINCTRL_VF610
18378bafc66SJingchang Lu	bool "Freescale Vybrid VF610 pinctrl driver"
18478bafc66SJingchang Lu	depends on SOC_VF610
18578bafc66SJingchang Lu	select PINCTRL_IMX
18678bafc66SJingchang Lu	help
18778bafc66SJingchang Lu	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
18878bafc66SJingchang Lu
1893f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
1903f8c50c9SJohn Crispin	bool
1913f8c50c9SJohn Crispin	depends on LANTIQ
1923f8c50c9SJohn Crispin	select PINMUX
1933f8c50c9SJohn Crispin	select PINCONF
1943f8c50c9SJohn Crispin
195e316cb2bSJohn Crispinconfig PINCTRL_FALCON
196e316cb2bSJohn Crispin	bool
197e316cb2bSJohn Crispin	depends on SOC_FALCON
198e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
199e316cb2bSJohn Crispin
20017723111SShawn Guoconfig PINCTRL_MXS
20117723111SShawn Guo	bool
20290db8a14SAxel Lin	select PINMUX
20390db8a14SAxel Lin	select PINCONF
20417723111SShawn Guo
20517723111SShawn Guoconfig PINCTRL_IMX23
20617723111SShawn Guo	bool
20717723111SShawn Guo	select PINCTRL_MXS
20817723111SShawn Guo
20917723111SShawn Guoconfig PINCTRL_IMX28
21017723111SShawn Guo	bool
21117723111SShawn Guo	select PINCTRL_MXS
21217723111SShawn Guo
213d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
214d3e51161SHeiko Stübner	bool
215d3e51161SHeiko Stübner	select PINMUX
216d3e51161SHeiko Stübner	select GENERIC_PINCONF
217d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
218751a99abSHeiko Stübner	select MFD_SYSCON
219d3e51161SHeiko Stübner
2208b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
2218b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
2228b8b091bSTony Lindgren	depends on OF
2238b8b091bSTony Lindgren	select PINMUX
2248b8b091bSTony Lindgren	select PINCONF
2259dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
2268b8b091bSTony Lindgren	help
2278b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
2288b8b091bSTony Lindgren
2293bece55aSLinus Walleijconfig PINCTRL_SIRF
230d3e26f2fSBarry Song	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
231d3e26f2fSBarry Song	depends on ARCH_SIRF
232393daa81SRongjun Ying	select PINMUX
2337420d2d0SLinus Walleij	select GPIOLIB_IRQCHIP
234393daa81SRongjun Ying
235701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
236701016c0SSrinivas KANDAGATLA	bool
237701016c0SSrinivas KANDAGATLA	depends on OF
238701016c0SSrinivas KANDAGATLA	select PINMUX
239701016c0SSrinivas KANDAGATLA	select PINCONF
240130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
241701016c0SSrinivas KANDAGATLA
242971dac71SStephen Warrenconfig PINCTRL_TEGRA
243971dac71SStephen Warren	bool
244507ccdbfSAxel Lin	select PINMUX
245507ccdbfSAxel Lin	select PINCONF
246971dac71SStephen Warren
247971dac71SStephen Warrenconfig PINCTRL_TEGRA20
248971dac71SStephen Warren	bool
249971dac71SStephen Warren	select PINCTRL_TEGRA
250971dac71SStephen Warren
251971dac71SStephen Warrenconfig PINCTRL_TEGRA30
252971dac71SStephen Warren	bool
253971dac71SStephen Warren	select PINCTRL_TEGRA
254971dac71SStephen Warren
255b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114
256b6ae7a26SPritesh Raithatha	bool
257b6ae7a26SPritesh Raithatha	select PINCTRL_TEGRA
258b6ae7a26SPritesh Raithatha
2591a16bee6SAshwini Ghugeconfig PINCTRL_TEGRA124
2601a16bee6SAshwini Ghuge	bool
2611a16bee6SAshwini Ghuge	select PINCTRL_TEGRA
2621a16bee6SAshwini Ghuge
263dc0a3938SThierry Redingconfig PINCTRL_TEGRA_XUSB
264dc0a3938SThierry Reding	def_bool y if ARCH_TEGRA
265dc0a3938SThierry Reding	select GENERIC_PHY
266dc0a3938SThierry Reding	select PINCONF
267dc0a3938SThierry Reding	select PINMUX
268dc0a3938SThierry Reding
269d5025f9fSJames Hoganconfig PINCTRL_TZ1090
270d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
271d5025f9fSJames Hogan	depends on SOC_TZ1090
272d5025f9fSJames Hogan	select PINMUX
273d5025f9fSJames Hogan	select GENERIC_PINCONF
274d5025f9fSJames Hogan
275b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
276b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
277b58f0273SJames Hogan	depends on SOC_TZ1090
278b58f0273SJames Hogan	select PINMUX
279b58f0273SJames Hogan	select PINCONF
280b58f0273SJames Hogan
2813bece55aSLinus Walleijconfig PINCTRL_U300
2823bece55aSLinus Walleij	bool "U300 pin controller driver"
28398da3529SLinus Walleij	depends on ARCH_U300
28498da3529SLinus Walleij	select PINMUX
285dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
28645f034efSLinus Walleij
287ca402d37SLinus Walleijconfig PINCTRL_COH901
288ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
2893c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
290523dcce7SLinus Walleij	select GPIOLIB_IRQCHIP
291ca402d37SLinus Walleij	help
292ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
293ca402d37SLinus Walleij	  The names of the two IP block variants supported are
294ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
295ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
296ca402d37SLinus Walleij
2970a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
298736658c5SMark Brown	bool "Pinctrl driver for the PALMAS Series MFD devices"
2990a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
30063ca8db7SAxel Lin	select PINMUX
3010a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
3020a8d3e24SLaxman Dewangan	help
3030a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
3040a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
3050a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
3060a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
3070a8d3e24SLaxman Dewangan
3083de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
30906763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
3103a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig"
31169b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
312ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
3136e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
314deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
3155f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
316170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
317deda8287SViresh Kumar
3183f8c50c9SJohn Crispinconfig PINCTRL_XWAY
3193f8c50c9SJohn Crispin	bool
3203f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
3213f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
3223f8c50c9SJohn Crispin
3235aad0db1SChristian Ruppertconfig PINCTRL_TB10X
3245aad0db1SChristian Ruppert	bool
3255aad0db1SChristian Ruppert	depends on ARC_PLAT_TB10X
3265aad0db1SChristian Ruppert
32745f034efSLinus Walleijendmenu
32898da3529SLinus Walleij
3292744e8afSLinus Walleijendif
330