xref: /linux/drivers/pinctrl/Kconfig (revision ebe629a39e04db3fe876d34833a2d8a6a6d4c134)
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
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
8780cc3732SAlexander Stein	select GPIOLIB
8880cc3732SAlexander Stein	select OF_GPIO
8980cc3732SAlexander Stein	select GPIOLIB_IRQCHIP
906732ae5cSJean-Christophe PLAGNIOL-VILLARD	help
916732ae5cSJean-Christophe PLAGNIOL-VILLARD	  Say Y here to enable the at91 pinctrl driver
926732ae5cSJean-Christophe PLAGNIOL-VILLARD
93a5d811bbSMathias Nymanconfig PINCTRL_BAYTRAIL
94a5d811bbSMathias Nyman	bool "Intel Baytrail GPIO pin control"
95a5d811bbSMathias Nyman	depends on GPIOLIB && ACPI && X86
96a5d811bbSMathias Nyman	select IRQ_DOMAIN
97a5d811bbSMathias Nyman	help
98a5d811bbSMathias Nyman	  driver for memory mapped GPIO functionality on Intel Baytrail
99a5d811bbSMathias Nyman	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
100a5d811bbSMathias Nyman	  Most pins are usually muxed to some other functionality by firmware,
101a5d811bbSMathias Nyman	  so only a small amount is available for gpio use.
102a5d811bbSMathias Nyman
103a5d811bbSMathias Nyman	  Requires ACPI device enumeration code to set up a platform device.
104a5d811bbSMathias Nyman
105e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835
106e1b2dc70SSimon Arlott	bool
107e1b2dc70SSimon Arlott	select PINMUX
108e1b2dc70SSimon Arlott	select PINCONF
109e1b2dc70SSimon Arlott
1107418b5ccSSherman Yinconfig PINCTRL_BCM281XX
1117418b5ccSSherman Yin	bool "Broadcom BCM281xx pinctrl driver"
112fe0ec0eeSLinus Walleij	depends on OF
11354b1aa5aSSherman Yin	select PINMUX
11454b1aa5aSSherman Yin	select PINCONF
11554b1aa5aSSherman Yin	select GENERIC_PINCONF
11654b1aa5aSSherman Yin	select REGMAP_MMIO
11754b1aa5aSSherman Yin	help
1187418b5ccSSherman Yin	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
1197418b5ccSSherman Yin	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
12054b1aa5aSSherman Yin	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
12154b1aa5aSSherman Yin	  framework.  GPIO is provided by a separate GPIO driver.
12254b1aa5aSSherman Yin
123ae75ff81SDong Aishengconfig PINCTRL_IMX
124ae75ff81SDong Aisheng	bool
125ae75ff81SDong Aisheng	select PINMUX
126ae75ff81SDong Aisheng	select PINCONF
127ae75ff81SDong Aisheng
12830612cd9SMarkus Pargmannconfig PINCTRL_IMX1_CORE
12930612cd9SMarkus Pargmann	bool
13030612cd9SMarkus Pargmann	select PINMUX
13130612cd9SMarkus Pargmann	select PINCONF
13230612cd9SMarkus Pargmann
1334877e51eSAlexander Shiyanconfig PINCTRL_IMX1
1344877e51eSAlexander Shiyan	bool "IMX1 pinctrl driver"
1354877e51eSAlexander Shiyan	depends on SOC_IMX1
1364877e51eSAlexander Shiyan	select PINCTRL_IMX1_CORE
1374877e51eSAlexander Shiyan	help
1384877e51eSAlexander Shiyan	  Say Y here to enable the imx1 pinctrl driver
1394877e51eSAlexander Shiyan
140e16dbf60SMarkus Pargmannconfig PINCTRL_IMX27
141e16dbf60SMarkus Pargmann	bool "IMX27 pinctrl driver"
142e16dbf60SMarkus Pargmann	depends on SOC_IMX27
143e16dbf60SMarkus Pargmann	select PINCTRL_IMX1_CORE
144e16dbf60SMarkus Pargmann	help
145e16dbf60SMarkus Pargmann	  Say Y here to enable the imx27 pinctrl driver
146e16dbf60SMarkus Pargmann
147b4a87c9bSDenis Carikli
148b4a87c9bSDenis Carikliconfig PINCTRL_IMX25
149b4a87c9bSDenis Carikli        bool "IMX25 pinctrl driver"
150b4a87c9bSDenis Carikli        depends on OF
151b4a87c9bSDenis Carikli        depends on SOC_IMX25
152b4a87c9bSDenis Carikli        select PINCTRL_IMX
153b4a87c9bSDenis Carikli        help
154b4a87c9bSDenis Carikli          Say Y here to enable the imx25 pinctrl driver
155b4a87c9bSDenis Carikli
156b9aa8f13SUwe Kleine-Königconfig PINCTRL_IMX35
157b9aa8f13SUwe Kleine-König	bool "IMX35 pinctrl driver"
158b9aa8f13SUwe Kleine-König	depends on SOC_IMX35
159b9aa8f13SUwe Kleine-König	select PINCTRL_IMX
160b9aa8f13SUwe Kleine-König	help
161b9aa8f13SUwe Kleine-König	  Say Y here to enable the imx35 pinctrl driver
162b9aa8f13SUwe Kleine-König
1639da83120SGreg Ungererconfig PINCTRL_IMX50
1649da83120SGreg Ungerer	bool "IMX50 pinctrl driver"
1659da83120SGreg Ungerer	depends on SOC_IMX50
1669da83120SGreg Ungerer	select PINCTRL_IMX
1679da83120SGreg Ungerer	help
1689da83120SGreg Ungerer	  Say Y here to enable the imx50 pinctrl driver
1699da83120SGreg Ungerer
1704f6a16bfSDong Aishengconfig PINCTRL_IMX51
1714f6a16bfSDong Aisheng	bool "IMX51 pinctrl driver"
1724f6a16bfSDong Aisheng	depends on SOC_IMX51
1734f6a16bfSDong Aisheng	select PINCTRL_IMX
1744f6a16bfSDong Aisheng	help
1754f6a16bfSDong Aisheng	  Say Y here to enable the imx51 pinctrl driver
1764f6a16bfSDong Aisheng
17793fbd3c0SDong Aishengconfig PINCTRL_IMX53
17893fbd3c0SDong Aisheng	bool "IMX53 pinctrl driver"
17993fbd3c0SDong Aisheng	depends on SOC_IMX53
18093fbd3c0SDong Aisheng	select PINCTRL_IMX
18193fbd3c0SDong Aisheng	help
18293fbd3c0SDong Aisheng	  Say Y here to enable the imx53 pinctrl driver
18393fbd3c0SDong Aisheng
184d8fe3572SDong Aishengconfig PINCTRL_IMX6Q
1853f551d6aSShawn Guo	bool "IMX6Q/DL pinctrl driver"
186d8fe3572SDong Aisheng	depends on SOC_IMX6Q
187d8fe3572SDong Aisheng	select PINCTRL_IMX
188d8fe3572SDong Aisheng	help
1893f551d6aSShawn Guo	  Say Y here to enable the imx6q/dl pinctrl driver
190d8fe3572SDong Aisheng
19121e59123SShawn Guoconfig PINCTRL_IMX6SL
19221e59123SShawn Guo	bool "IMX6SL pinctrl driver"
19321e59123SShawn Guo	depends on SOC_IMX6SL
19421e59123SShawn Guo	select PINCTRL_IMX
19521e59123SShawn Guo	help
19621e59123SShawn Guo	  Say Y here to enable the imx6sl pinctrl driver
197f4e66983SHaojian Zhuang
1982cc140feSAnson Huangconfig PINCTRL_IMX6SX
1992cc140feSAnson Huang	bool "IMX6SX pinctrl driver"
2002cc140feSAnson Huang	depends on SOC_IMX6SX
2012cc140feSAnson Huang	select PINCTRL_IMX
2022cc140feSAnson Huang	help
2032cc140feSAnson Huang	  Say Y here to enable the imx6sx pinctrl driver
2042cc140feSAnson Huang
20578bafc66SJingchang Luconfig PINCTRL_VF610
20678bafc66SJingchang Lu	bool "Freescale Vybrid VF610 pinctrl driver"
20778bafc66SJingchang Lu	depends on SOC_VF610
20878bafc66SJingchang Lu	select PINCTRL_IMX
20978bafc66SJingchang Lu	help
21078bafc66SJingchang Lu	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
21178bafc66SJingchang Lu
2123f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
2133f8c50c9SJohn Crispin	bool
2143f8c50c9SJohn Crispin	depends on LANTIQ
2153f8c50c9SJohn Crispin	select PINMUX
2163f8c50c9SJohn Crispin	select PINCONF
2173f8c50c9SJohn Crispin
218e316cb2bSJohn Crispinconfig PINCTRL_FALCON
219e316cb2bSJohn Crispin	bool
220e316cb2bSJohn Crispin	depends on SOC_FALCON
221e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
222e316cb2bSJohn Crispin
22317723111SShawn Guoconfig PINCTRL_MXS
22417723111SShawn Guo	bool
22590db8a14SAxel Lin	select PINMUX
22690db8a14SAxel Lin	select PINCONF
22717723111SShawn Guo
22817723111SShawn Guoconfig PINCTRL_IMX23
22917723111SShawn Guo	bool
23017723111SShawn Guo	select PINCTRL_MXS
23117723111SShawn Guo
23217723111SShawn Guoconfig PINCTRL_IMX28
23317723111SShawn Guo	bool
23417723111SShawn Guo	select PINCTRL_MXS
23517723111SShawn Guo
236e98ea774SLinus Walleijconfig PINCTRL_NOMADIK
237e98ea774SLinus Walleij	bool "Nomadik pin controller driver"
2380fa7be40SArnd Bergmann	depends on ARCH_U8500 || ARCH_NOMADIK
239dbfe8ca2SLinus Walleij	select PINMUX
240d41af627SLinus Walleij	select PINCONF
241e0bc34a3SLinus Walleij	select GPIOLIB
242e0bc34a3SLinus Walleij	select OF_GPIO
243e0bc34a3SLinus Walleij	select GPIOLIB_IRQCHIP
244e98ea774SLinus Walleij
245f79c5ed9SLinus Walleijconfig PINCTRL_STN8815
246f79c5ed9SLinus Walleij	bool "STN8815 pin controller driver"
247f79c5ed9SLinus Walleij	depends on PINCTRL_NOMADIK && ARCH_NOMADIK
248f79c5ed9SLinus Walleij
249e98ea774SLinus Walleijconfig PINCTRL_DB8500
250e98ea774SLinus Walleij	bool "DB8500 pin controller driver"
251e98ea774SLinus Walleij	depends on PINCTRL_NOMADIK && ARCH_U8500
252e98ea774SLinus Walleij
25345a1b531SPatrice Chotardconfig PINCTRL_DB8540
25445a1b531SPatrice Chotard	bool "DB8540 pin controller driver"
25545a1b531SPatrice Chotard	depends on PINCTRL_NOMADIK && ARCH_U8500
25645a1b531SPatrice Chotard
257d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
258d3e51161SHeiko Stübner	bool
259d3e51161SHeiko Stübner	select PINMUX
260d3e51161SHeiko Stübner	select GENERIC_PINCONF
261d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
262751a99abSHeiko Stübner	select MFD_SYSCON
263d3e51161SHeiko Stübner
2648b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
2658b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
2668b8b091bSTony Lindgren	depends on OF
2678b8b091bSTony Lindgren	select PINMUX
2688b8b091bSTony Lindgren	select PINCONF
2699dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
2708b8b091bSTony Lindgren	help
2718b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
2728b8b091bSTony Lindgren
2733bece55aSLinus Walleijconfig PINCTRL_SIRF
274d3e26f2fSBarry Song	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
275d3e26f2fSBarry Song	depends on ARCH_SIRF
276393daa81SRongjun Ying	select PINMUX
2777420d2d0SLinus Walleij	select GPIOLIB_IRQCHIP
278393daa81SRongjun Ying
279701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
280701016c0SSrinivas KANDAGATLA	bool
281701016c0SSrinivas KANDAGATLA	depends on OF
282701016c0SSrinivas KANDAGATLA	select PINMUX
283701016c0SSrinivas KANDAGATLA	select PINCONF
284130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
285701016c0SSrinivas KANDAGATLA
286971dac71SStephen Warrenconfig PINCTRL_TEGRA
287971dac71SStephen Warren	bool
288507ccdbfSAxel Lin	select PINMUX
289507ccdbfSAxel Lin	select PINCONF
290971dac71SStephen Warren
291971dac71SStephen Warrenconfig PINCTRL_TEGRA20
292971dac71SStephen Warren	bool
293971dac71SStephen Warren	select PINCTRL_TEGRA
294971dac71SStephen Warren
295971dac71SStephen Warrenconfig PINCTRL_TEGRA30
296971dac71SStephen Warren	bool
297971dac71SStephen Warren	select PINCTRL_TEGRA
298971dac71SStephen Warren
299b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114
300b6ae7a26SPritesh Raithatha	bool
301b6ae7a26SPritesh Raithatha	select PINCTRL_TEGRA
302b6ae7a26SPritesh Raithatha
3031a16bee6SAshwini Ghugeconfig PINCTRL_TEGRA124
3041a16bee6SAshwini Ghuge	bool
3051a16bee6SAshwini Ghuge	select PINCTRL_TEGRA
3061a16bee6SAshwini Ghuge
307d5025f9fSJames Hoganconfig PINCTRL_TZ1090
308d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
309d5025f9fSJames Hogan	depends on SOC_TZ1090
310d5025f9fSJames Hogan	select PINMUX
311d5025f9fSJames Hogan	select GENERIC_PINCONF
312d5025f9fSJames Hogan
313b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
314b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
315b58f0273SJames Hogan	depends on SOC_TZ1090
316b58f0273SJames Hogan	select PINMUX
317b58f0273SJames Hogan	select PINCONF
318b58f0273SJames Hogan
3193bece55aSLinus Walleijconfig PINCTRL_U300
3203bece55aSLinus Walleij	bool "U300 pin controller driver"
32198da3529SLinus Walleij	depends on ARCH_U300
32298da3529SLinus Walleij	select PINMUX
323dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
32445f034efSLinus Walleij
325ca402d37SLinus Walleijconfig PINCTRL_COH901
326ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
3273c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
328523dcce7SLinus Walleij	select GPIOLIB_IRQCHIP
329ca402d37SLinus Walleij	help
330ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
331ca402d37SLinus Walleij	  The names of the two IP block variants supported are
332ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
333ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
334ca402d37SLinus Walleij
3350a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
336736658c5SMark Brown	bool "Pinctrl driver for the PALMAS Series MFD devices"
3370a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
33863ca8db7SAxel Lin	select PINMUX
3390a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
3400a8d3e24SLaxman Dewangan	help
3410a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
3420a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
3430a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
3440a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
3450a8d3e24SLaxman Dewangan
3463de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
34706763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
34869b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
349*ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
3506e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
351deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
3525f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
353170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
354deda8287SViresh Kumar
3553f8c50c9SJohn Crispinconfig PINCTRL_XWAY
3563f8c50c9SJohn Crispin	bool
3573f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
3583f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
3593f8c50c9SJohn Crispin
3605aad0db1SChristian Ruppertconfig PINCTRL_TB10X
3615aad0db1SChristian Ruppert	bool
3625aad0db1SChristian Ruppert	depends on ARC_PLAT_TB10X
3635aad0db1SChristian Ruppert
36445f034efSLinus Walleijendmenu
36598da3529SLinus Walleij
3662744e8afSLinus Walleijendif
367