blob: bfd2c2e9f6cd79b03c42dab60fc0e2dd81b4b22f [file] [log] [blame]
Linus Walleij2744e8a2011-05-02 20:50:54 +02001#
2# PINCTRL infrastructure and drivers
3#
4
Linus Walleij45f034e2011-11-05 21:28:46 +01005config PINCTRL
6 bool
Linus Walleij2744e8a2011-05-02 20:50:54 +02007
8if PINCTRL
9
Linus Walleij45f034e2011-11-05 21:28:46 +010010menu "Pin controllers"
11 depends on PINCTRL
12
Linus Walleij2744e8a2011-05-02 20:50:54 +020013config PINMUX
Uwe Kleine-König244e95a2014-06-03 10:02:36 +020014 bool "Support pin multiplexing controllers" if COMPILE_TEST
Linus Walleijae6b4d82011-10-19 18:14:33 +020015
16config PINCONF
Uwe Kleine-König244e95a2014-06-03 10:02:36 +020017 bool "Support pin configuration controllers" if COMPILE_TEST
Linus Walleij2744e8a2011-05-02 20:50:54 +020018
Linus Walleij394349f2011-11-24 18:27:15 +010019config GENERIC_PINCONF
20 bool
21 select PINCONF
22
Linus Walleij2744e8a2011-05-02 20:50:54 +020023config DEBUG_PINCTRL
24 bool "Debug PINCTRL calls"
25 depends on DEBUG_KERNEL
26 help
27 Say Y here to add some extra checks and diagnostics to PINCTRL calls.
28
Sonic Zhange9a03ad2013-09-03 16:28:59 +080029config PINCTRL_ADI2
30 bool "ADI pin controller driver"
Sonic Zhang9d7278d2013-09-23 11:57:00 +080031 depends on BLACKFIN
Sonic Zhange9a03ad2013-09-03 16:28:59 +080032 select PINMUX
33 select IRQ_DOMAIN
34 help
35 This is the pin controller and gpio driver for ADI BF54x, BF60x and
36 future processors. This option is selected automatically when specific
37 machine and arch are selected to build.
38
Laxman Dewanganc8ce8782013-10-02 21:20:29 +053039config PINCTRL_AS3722
40 bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
41 depends on MFD_AS3722 && GPIOLIB
42 select PINMUX
43 select GENERIC_PINCONF
44 help
45 AS3722 device supports the configuration of GPIO pins for different
46 functionality. This driver supports the pinmux, push-pull and
47 open drain configuration for the GPIO pins of AS3722 devices. It also
48 supports the GPIO functionality through gpiolib.
49
Sonic Zhange9a03ad2013-09-03 16:28:59 +080050config PINCTRL_BF54x
51 def_bool y if BF54x
52 select PINCTRL_ADI2
53
54config PINCTRL_BF60x
55 def_bool y if BF60x
56 select PINCTRL_ADI2
57
Jean-Christophe PLAGNIOL-VILLARD6732ae52012-07-12 23:35:02 +080058config PINCTRL_AT91
59 bool "AT91 pinctrl driver"
60 depends on OF
61 depends on ARCH_AT91
62 select PINMUX
63 select PINCONF
Alexander Stein80cc3732014-04-15 22:09:41 +020064 select GPIOLIB
65 select OF_GPIO
66 select GPIOLIB_IRQCHIP
Jean-Christophe PLAGNIOL-VILLARD6732ae52012-07-12 23:35:02 +080067 help
68 Say Y here to enable the at91 pinctrl driver
69
Mathias Nymana5d811b2013-06-18 14:33:02 +030070config PINCTRL_BAYTRAIL
71 bool "Intel Baytrail GPIO pin control"
72 depends on GPIOLIB && ACPI && X86
Mika Westerberge1ee5c52014-07-25 09:54:47 +030073 select GPIOLIB_IRQCHIP
Mathias Nymana5d811b2013-06-18 14:33:02 +030074 help
75 driver for memory mapped GPIO functionality on Intel Baytrail
76 platforms. Supports 3 banks with 102, 28 and 44 gpios.
77 Most pins are usually muxed to some other functionality by firmware,
78 so only a small amount is available for gpio use.
79
80 Requires ACPI device enumeration code to set up a platform device.
81
Simon Arlotte1b2dc72012-09-27 22:10:11 -060082config PINCTRL_BCM2835
83 bool
84 select PINMUX
85 select PINCONF
86
Sherman Yin7418b5c2014-04-02 15:40:37 -070087config PINCTRL_BCM281XX
88 bool "Broadcom BCM281xx pinctrl driver"
Linus Walleijfe0ec0e2014-01-16 23:41:38 +010089 depends on OF
Sherman Yin54b1aa52013-12-20 18:13:35 -080090 select PINMUX
91 select PINCONF
92 select GENERIC_PINCONF
93 select REGMAP_MMIO
94 help
Sherman Yin7418b5c2014-04-02 15:40:37 -070095 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
96 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
Sherman Yin54b1aa52013-12-20 18:13:35 -080097 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
98 framework. GPIO is provided by a separate GPIO driver.
99
Dong Aishengae75ff82012-04-27 20:26:16 +0800100config PINCTRL_IMX
101 bool
102 select PINMUX
103 select PINCONF
104
Markus Pargmann30612cd92013-10-28 10:00:36 +0100105config PINCTRL_IMX1_CORE
106 bool
107 select PINMUX
108 select PINCONF
109
Alexander Shiyan4877e512014-06-03 20:33:49 +0400110config PINCTRL_IMX1
111 bool "IMX1 pinctrl driver"
112 depends on SOC_IMX1
113 select PINCTRL_IMX1_CORE
114 help
115 Say Y here to enable the imx1 pinctrl driver
116
Markus Pargmanne16dbf62013-10-29 15:32:19 +0100117config PINCTRL_IMX27
118 bool "IMX27 pinctrl driver"
Markus Pargmanne16dbf62013-10-29 15:32:19 +0100119 depends on SOC_IMX27
120 select PINCTRL_IMX1_CORE
121 help
122 Say Y here to enable the imx27 pinctrl driver
123
Denis Cariklib4a87c92013-11-06 09:52:15 +0100124
125config PINCTRL_IMX25
126 bool "IMX25 pinctrl driver"
127 depends on OF
128 depends on SOC_IMX25
129 select PINCTRL_IMX
130 help
131 Say Y here to enable the imx25 pinctrl driver
132
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +0200133config PINCTRL_IMX35
134 bool "IMX35 pinctrl driver"
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +0200135 depends on SOC_IMX35
136 select PINCTRL_IMX
137 help
138 Say Y here to enable the imx35 pinctrl driver
139
Greg Ungerer9da83122013-11-05 23:11:51 +1000140config PINCTRL_IMX50
141 bool "IMX50 pinctrl driver"
Greg Ungerer9da83122013-11-05 23:11:51 +1000142 depends on SOC_IMX50
143 select PINCTRL_IMX
144 help
145 Say Y here to enable the imx50 pinctrl driver
146
Dong Aisheng4f6a16b2012-05-15 15:49:03 +0800147config PINCTRL_IMX51
148 bool "IMX51 pinctrl driver"
Dong Aisheng4f6a16b2012-05-15 15:49:03 +0800149 depends on SOC_IMX51
150 select PINCTRL_IMX
151 help
152 Say Y here to enable the imx51 pinctrl driver
153
Dong Aisheng93fbd3c2012-05-15 15:49:02 +0800154config PINCTRL_IMX53
155 bool "IMX53 pinctrl driver"
Dong Aisheng93fbd3c2012-05-15 15:49:02 +0800156 depends on SOC_IMX53
157 select PINCTRL_IMX
158 help
159 Say Y here to enable the imx53 pinctrl driver
160
Dong Aishengd8fe3572012-04-27 20:26:17 +0800161config PINCTRL_IMX6Q
Shawn Guo3f551d62013-03-21 21:55:41 +0800162 bool "IMX6Q/DL pinctrl driver"
Dong Aishengd8fe3572012-04-27 20:26:17 +0800163 depends on SOC_IMX6Q
164 select PINCTRL_IMX
165 help
Shawn Guo3f551d62013-03-21 21:55:41 +0800166 Say Y here to enable the imx6q/dl pinctrl driver
Dong Aishengd8fe3572012-04-27 20:26:17 +0800167
Shawn Guo21e59122013-03-21 22:10:36 +0800168config PINCTRL_IMX6SL
169 bool "IMX6SL pinctrl driver"
Shawn Guo21e59122013-03-21 22:10:36 +0800170 depends on SOC_IMX6SL
171 select PINCTRL_IMX
172 help
173 Say Y here to enable the imx6sl pinctrl driver
Haojian Zhuangf4e66982012-01-04 10:26:33 +0800174
Anson Huang2cc140f2014-05-12 23:10:35 +0800175config PINCTRL_IMX6SX
176 bool "IMX6SX pinctrl driver"
177 depends on SOC_IMX6SX
178 select PINCTRL_IMX
179 help
180 Say Y here to enable the imx6sx pinctrl driver
181
Jingchang Lu78bafc62013-05-28 17:32:08 +0800182config PINCTRL_VF610
183 bool "Freescale Vybrid VF610 pinctrl driver"
Jingchang Lu78bafc62013-05-28 17:32:08 +0800184 depends on SOC_VF610
185 select PINCTRL_IMX
186 help
187 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
188
John Crispin3f8c50c2012-08-28 12:44:59 +0200189config PINCTRL_LANTIQ
190 bool
191 depends on LANTIQ
192 select PINMUX
193 select PINCONF
194
John Crispine316cb22012-05-20 00:33:56 +0200195config PINCTRL_FALCON
196 bool
197 depends on SOC_FALCON
198 depends on PINCTRL_LANTIQ
199
Shawn Guo17723112012-04-28 13:00:50 +0800200config PINCTRL_MXS
201 bool
Axel Lin90db8a12012-11-12 10:01:56 +0800202 select PINMUX
203 select PINCONF
Shawn Guo17723112012-04-28 13:00:50 +0800204
205config PINCTRL_IMX23
206 bool
Shawn Guo17723112012-04-28 13:00:50 +0800207 select PINCTRL_MXS
208
209config PINCTRL_IMX28
210 bool
Shawn Guo17723112012-04-28 13:00:50 +0800211 select PINCTRL_MXS
212
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200213config PINCTRL_ROCKCHIP
214 bool
215 select PINMUX
216 select GENERIC_PINCONF
217 select GENERIC_IRQ_CHIP
Heiko Stübner751a99a2014-05-05 13:58:20 +0200218 select MFD_SYSCON
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200219
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700220config PINCTRL_SINGLE
221 tristate "One-register-per-pin type device tree based pinctrl driver"
222 depends on OF
223 select PINMUX
224 select PINCONF
Haojian Zhuang9dddb4d2013-02-17 19:42:55 +0800225 select GENERIC_PINCONF
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700226 help
227 This selects the device tree based generic pinctrl driver.
228
Linus Walleij3bece552011-12-18 23:44:26 +0100229config PINCTRL_SIRF
Barry Songd3e26f22012-09-27 17:56:30 +0800230 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
231 depends on ARCH_SIRF
Rongjun Ying393daa82011-10-09 03:11:13 -0700232 select PINMUX
Linus Walleij7420d2d2014-04-15 14:43:47 +0800233 select GPIOLIB_IRQCHIP
Rongjun Ying393daa82011-10-09 03:11:13 -0700234
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100235config PINCTRL_ST
236 bool
237 depends on OF
238 select PINMUX
239 select PINCONF
Linus Walleij130cbe32014-04-08 14:45:47 +0200240 select GPIOLIB_IRQCHIP
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100241
Stephen Warren971dac72012-02-01 14:04:47 -0700242config PINCTRL_TEGRA
243 bool
Axel Lin507ccdb2012-11-12 10:00:22 +0800244 select PINMUX
245 select PINCONF
Stephen Warren971dac72012-02-01 14:04:47 -0700246
247config PINCTRL_TEGRA20
248 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700249 select PINCTRL_TEGRA
250
251config PINCTRL_TEGRA30
252 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700253 select PINCTRL_TEGRA
254
Pritesh Raithathab6ae7a22013-01-08 13:02:37 +0530255config PINCTRL_TEGRA114
256 bool
257 select PINCTRL_TEGRA
258
Ashwini Ghuge1a16bee2013-12-10 12:40:56 +0530259config PINCTRL_TEGRA124
260 bool
261 select PINCTRL_TEGRA
262
Thierry Redingdc0a3932014-06-19 13:37:08 +0200263config PINCTRL_TEGRA_XUSB
264 def_bool y if ARCH_TEGRA
265 select GENERIC_PHY
266 select PINCONF
267 select PINMUX
268
James Hogand5025f92013-06-20 10:26:27 +0100269config PINCTRL_TZ1090
270 bool "Toumaz Xenif TZ1090 pin control driver"
271 depends on SOC_TZ1090
272 select PINMUX
273 select GENERIC_PINCONF
274
James Hoganb58f0272013-06-20 10:26:29 +0100275config PINCTRL_TZ1090_PDC
276 bool "Toumaz Xenif TZ1090 PDC pin control driver"
277 depends on SOC_TZ1090
278 select PINMUX
279 select PINCONF
280
Linus Walleij3bece552011-12-18 23:44:26 +0100281config PINCTRL_U300
282 bool "U300 pin controller driver"
Linus Walleij98da3522011-05-02 20:54:38 +0200283 depends on ARCH_U300
284 select PINMUX
Linus Walleijdc0b1aa2011-11-16 21:58:10 +0100285 select GENERIC_PINCONF
Linus Walleij45f034e2011-11-05 21:28:46 +0100286
Linus Walleijca402d32011-11-16 09:22:59 +0100287config PINCTRL_COH901
288 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
Linus Walleij3c94d1b2012-06-18 20:07:50 +0200289 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
Linus Walleij523dcce2014-03-25 13:37:17 +0100290 select GPIOLIB_IRQCHIP
Linus Walleijca402d32011-11-16 09:22:59 +0100291 help
292 Say yes here to support GPIO interface on ST-Ericsson U300.
293 The names of the two IP block variants supported are
294 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
295 ports of 8 GPIO pins each.
296
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530297config PINCTRL_PALMAS
Mark Brown736658c2013-08-19 16:07:26 +0100298 bool "Pinctrl driver for the PALMAS Series MFD devices"
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530299 depends on OF && MFD_PALMAS
Axel Lin63ca8db2013-08-22 14:30:08 +0800300 select PINMUX
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530301 select GENERIC_PINCONF
302 help
303 Palmas device supports the configuration of pins for different
304 functionality. This driver supports the pinmux, push-pull and
305 open drain configuration for the Palmas series devices like
306 TPS65913, TPS80036 etc.
307
Antoine Tenart3de68d32014-05-19 19:36:29 +0200308source "drivers/pinctrl/berlin/Kconfig"
Thomas Petazzoni06763c72012-10-24 23:38:58 +0200309source "drivers/pinctrl/mvebu/Kconfig"
Linus Walleij3a198052014-07-11 14:57:06 +0200310source "drivers/pinctrl/nomadik/Kconfig"
Linus Walleij69b78b82014-07-09 13:55:12 +0200311source "drivers/pinctrl/qcom/Kconfig"
Sachin Kamatebe629a2014-07-10 17:33:27 +0530312source "drivers/pinctrl/samsung/Kconfig"
Laurent Pinchart6e54d8d2012-12-15 23:51:19 +0100313source "drivers/pinctrl/sh-pfc/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530314source "drivers/pinctrl/spear/Kconfig"
Maxime Ripard5f910772014-04-18 18:53:02 +0200315source "drivers/pinctrl/sunxi/Kconfig"
Tony Prisk170c6152013-02-20 09:32:19 +1300316source "drivers/pinctrl/vt8500/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530317
John Crispin3f8c50c2012-08-28 12:44:59 +0200318config PINCTRL_XWAY
319 bool
320 depends on SOC_TYPE_XWAY
321 depends on PINCTRL_LANTIQ
322
Christian Ruppert5aad0db2013-10-15 15:39:38 +0200323config PINCTRL_TB10X
324 bool
325 depends on ARC_PLAT_TB10X
326
Linus Walleij45f034e2011-11-05 21:28:46 +0100327endmenu
Linus Walleij98da3522011-05-02 20:54:38 +0200328
Linus Walleij2744e8a2011-05-02 20:50:54 +0200329endif