xref: /linux/drivers/pinctrl/Kconfig (revision 6ac730951104a437bf828683bcf9ba66336c4fa7)
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
70e1b2dc70SSimon Arlottconfig PINCTRL_BCM2835
71e1b2dc70SSimon Arlott	bool
72e1b2dc70SSimon Arlott	select PINMUX
73e1b2dc70SSimon Arlott	select PINCONF
74e1b2dc70SSimon Arlott
757418b5ccSSherman Yinconfig PINCTRL_BCM281XX
767418b5ccSSherman Yin	bool "Broadcom BCM281xx pinctrl driver"
77e4742d57SUwe Kleine-König	depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
7854b1aa5aSSherman Yin	select PINMUX
7954b1aa5aSSherman Yin	select PINCONF
8054b1aa5aSSherman Yin	select GENERIC_PINCONF
8154b1aa5aSSherman Yin	select REGMAP_MMIO
8254b1aa5aSSherman Yin	help
837418b5ccSSherman Yin	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
847418b5ccSSherman Yin	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
8554b1aa5aSSherman Yin	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
8654b1aa5aSSherman Yin	  framework.  GPIO is provided by a separate GPIO driver.
8754b1aa5aSSherman Yin
883f8c50c9SJohn Crispinconfig PINCTRL_LANTIQ
893f8c50c9SJohn Crispin	bool
903f8c50c9SJohn Crispin	depends on LANTIQ
913f8c50c9SJohn Crispin	select PINMUX
923f8c50c9SJohn Crispin	select PINCONF
933f8c50c9SJohn Crispin
94e316cb2bSJohn Crispinconfig PINCTRL_FALCON
95e316cb2bSJohn Crispin	bool
96e316cb2bSJohn Crispin	depends on SOC_FALCON
97e316cb2bSJohn Crispin	depends on PINCTRL_LANTIQ
98e316cb2bSJohn Crispin
99*6ac73095SBeniamino Galvaniconfig PINCTRL_MESON
100*6ac73095SBeniamino Galvani	bool
101*6ac73095SBeniamino Galvani	select PINMUX
102*6ac73095SBeniamino Galvani	select PINCONF
103*6ac73095SBeniamino Galvani	select GENERIC_PINCONF
104*6ac73095SBeniamino Galvani	select OF_GPIO
105*6ac73095SBeniamino Galvani	select REGMAP_MMIO
106*6ac73095SBeniamino Galvani
107d3e51161SHeiko Stübnerconfig PINCTRL_ROCKCHIP
108d3e51161SHeiko Stübner	bool
109d3e51161SHeiko Stübner	select PINMUX
110d3e51161SHeiko Stübner	select GENERIC_PINCONF
111d3e51161SHeiko Stübner	select GENERIC_IRQ_CHIP
112751a99abSHeiko Stübner	select MFD_SYSCON
113d3e51161SHeiko Stübner
1148b8b091bSTony Lindgrenconfig PINCTRL_SINGLE
1158b8b091bSTony Lindgren	tristate "One-register-per-pin type device tree based pinctrl driver"
1168b8b091bSTony Lindgren	depends on OF
1178b8b091bSTony Lindgren	select PINMUX
1188b8b091bSTony Lindgren	select PINCONF
1199dddb4dfSHaojian Zhuang	select GENERIC_PINCONF
1208b8b091bSTony Lindgren	help
1218b8b091bSTony Lindgren	  This selects the device tree based generic pinctrl driver.
1228b8b091bSTony Lindgren
1233bece55aSLinus Walleijconfig PINCTRL_SIRF
124a17272a4SBarry Song	bool "CSR SiRFprimaII pin controller driver"
125d3e26f2fSBarry Song	depends on ARCH_SIRF
126393daa81SRongjun Ying	select PINMUX
1277420d2d0SLinus Walleij	select GPIOLIB_IRQCHIP
128393daa81SRongjun Ying
129701016c0SSrinivas KANDAGATLAconfig PINCTRL_ST
130701016c0SSrinivas KANDAGATLA	bool
131701016c0SSrinivas KANDAGATLA	depends on OF
132701016c0SSrinivas KANDAGATLA	select PINMUX
133701016c0SSrinivas KANDAGATLA	select PINCONF
134130cbe30SLinus Walleij	select GPIOLIB_IRQCHIP
135701016c0SSrinivas KANDAGATLA
136971dac71SStephen Warrenconfig PINCTRL_TEGRA
137971dac71SStephen Warren	bool
138507ccdbfSAxel Lin	select PINMUX
139507ccdbfSAxel Lin	select PINCONF
140971dac71SStephen Warren
141971dac71SStephen Warrenconfig PINCTRL_TEGRA20
142971dac71SStephen Warren	bool
143971dac71SStephen Warren	select PINCTRL_TEGRA
144971dac71SStephen Warren
145971dac71SStephen Warrenconfig PINCTRL_TEGRA30
146971dac71SStephen Warren	bool
147971dac71SStephen Warren	select PINCTRL_TEGRA
148971dac71SStephen Warren
149b6ae7a26SPritesh Raithathaconfig PINCTRL_TEGRA114
150b6ae7a26SPritesh Raithatha	bool
151b6ae7a26SPritesh Raithatha	select PINCTRL_TEGRA
152b6ae7a26SPritesh Raithatha
1531a16bee6SAshwini Ghugeconfig PINCTRL_TEGRA124
1541a16bee6SAshwini Ghuge	bool
1551a16bee6SAshwini Ghuge	select PINCTRL_TEGRA
1561a16bee6SAshwini Ghuge
157dc0a3938SThierry Redingconfig PINCTRL_TEGRA_XUSB
158dc0a3938SThierry Reding	def_bool y if ARCH_TEGRA
159dc0a3938SThierry Reding	select GENERIC_PHY
160dc0a3938SThierry Reding	select PINCONF
161dc0a3938SThierry Reding	select PINMUX
162dc0a3938SThierry Reding
163d5025f9fSJames Hoganconfig PINCTRL_TZ1090
164d5025f9fSJames Hogan	bool "Toumaz Xenif TZ1090 pin control driver"
165d5025f9fSJames Hogan	depends on SOC_TZ1090
166d5025f9fSJames Hogan	select PINMUX
167d5025f9fSJames Hogan	select GENERIC_PINCONF
168d5025f9fSJames Hogan
169b58f0273SJames Hoganconfig PINCTRL_TZ1090_PDC
170b58f0273SJames Hogan	bool "Toumaz Xenif TZ1090 PDC pin control driver"
171b58f0273SJames Hogan	depends on SOC_TZ1090
172b58f0273SJames Hogan	select PINMUX
173b58f0273SJames Hogan	select PINCONF
174b58f0273SJames Hogan
1753bece55aSLinus Walleijconfig PINCTRL_U300
1763bece55aSLinus Walleij	bool "U300 pin controller driver"
17798da3529SLinus Walleij	depends on ARCH_U300
17898da3529SLinus Walleij	select PINMUX
179dc0b1aa3SLinus Walleij	select GENERIC_PINCONF
18045f034efSLinus Walleij
181ca402d37SLinus Walleijconfig PINCTRL_COH901
182ca402d37SLinus Walleij	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
1833c94d1bbSLinus Walleij	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
184523dcce7SLinus Walleij	select GPIOLIB_IRQCHIP
185ca402d37SLinus Walleij	help
186ca402d37SLinus Walleij	  Say yes here to support GPIO interface on ST-Ericsson U300.
187ca402d37SLinus Walleij	  The names of the two IP block variants supported are
188ca402d37SLinus Walleij	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
189ca402d37SLinus Walleij	  ports of 8 GPIO pins each.
190ca402d37SLinus Walleij
1910a8d3e24SLaxman Dewanganconfig PINCTRL_PALMAS
192736658c5SMark Brown	bool "Pinctrl driver for the PALMAS Series MFD devices"
1930a8d3e24SLaxman Dewangan	depends on OF && MFD_PALMAS
19463ca8db7SAxel Lin	select PINMUX
1950a8d3e24SLaxman Dewangan	select GENERIC_PINCONF
1960a8d3e24SLaxman Dewangan	help
1970a8d3e24SLaxman Dewangan	  Palmas device supports the configuration of pins for different
1980a8d3e24SLaxman Dewangan	  functionality. This driver supports the pinmux, push-pull and
1990a8d3e24SLaxman Dewangan	  open drain configuration for the Palmas series devices like
2000a8d3e24SLaxman Dewangan	  TPS65913, TPS80036 etc.
2010a8d3e24SLaxman Dewangan
202add958ceSSoren Brinkmannconfig PINCTRL_ZYNQ
203add958ceSSoren Brinkmann	bool "Pinctrl driver for Xilinx Zynq"
204add958ceSSoren Brinkmann	depends on ARCH_ZYNQ
205add958ceSSoren Brinkmann	select PINMUX
206add958ceSSoren Brinkmann	select GENERIC_PINCONF
207add958ceSSoren Brinkmann	help
208add958ceSSoren Brinkmann	  This selectes the pinctrl driver for Xilinx Zynq.
209add958ceSSoren Brinkmann
2103de68d33SAntoine Tenartsource "drivers/pinctrl/berlin/Kconfig"
211edad3b2aSLinus Walleijsource "drivers/pinctrl/freescale/Kconfig"
2125fae8b86SMika Westerbergsource "drivers/pinctrl/intel/Kconfig"
21306763c74SThomas Petazzonisource "drivers/pinctrl/mvebu/Kconfig"
2143a198059SLinus Walleijsource "drivers/pinctrl/nomadik/Kconfig"
21569b78b8dSLinus Walleijsource "drivers/pinctrl/qcom/Kconfig"
216ebe629a3SSachin Kamatsource "drivers/pinctrl/samsung/Kconfig"
2176e54d8d2SLaurent Pinchartsource "drivers/pinctrl/sh-pfc/Kconfig"
218deda8287SViresh Kumarsource "drivers/pinctrl/spear/Kconfig"
2195f910777SMaxime Ripardsource "drivers/pinctrl/sunxi/Kconfig"
220170c6152STony Prisksource "drivers/pinctrl/vt8500/Kconfig"
221deda8287SViresh Kumar
2223f8c50c9SJohn Crispinconfig PINCTRL_XWAY
2233f8c50c9SJohn Crispin	bool
2243f8c50c9SJohn Crispin	depends on SOC_TYPE_XWAY
2253f8c50c9SJohn Crispin	depends on PINCTRL_LANTIQ
2263f8c50c9SJohn Crispin
2275aad0db1SChristian Ruppertconfig PINCTRL_TB10X
2285aad0db1SChristian Ruppert	bool
2295aad0db1SChristian Ruppert	depends on ARC_PLAT_TB10X
2305aad0db1SChristian Ruppert
23145f034efSLinus Walleijendmenu
23298da3529SLinus Walleij
2332744e8afSLinus Walleijendif
234