blob: a3ec264a6fccf932c2a1c312029b0adab2f43ecb [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
Linus Walleijae6b4d82011-10-19 18:14:33 +020014 bool "Support pin multiplexing controllers"
15
16config PINCONF
17 bool "Support pin configuration controllers"
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
Patrice Chotard0493e642013-01-08 10:41:02 +010029config PINCTRL_ABX500
30 bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
31 depends on AB8500_CORE
32 select GENERIC_PINCONF
33 help
34 Select this to enable the ABx500 family IC GPIO driver
35
Patrice Chotard3c937992013-01-08 10:59:53 +010036config PINCTRL_AB8500
37 bool "AB8500 pin controller driver"
38 depends on PINCTRL_ABX500 && ARCH_U8500
39
Patrice Chotarda8f96e42013-01-28 14:35:19 +010040config PINCTRL_AB8540
41 bool "AB8540 pin controller driver"
42 depends on PINCTRL_ABX500 && ARCH_U8500
43
Patrice Chotard09dbec32013-01-28 14:29:35 +010044config PINCTRL_AB9540
45 bool "AB9540 pin controller driver"
46 depends on PINCTRL_ABX500 && ARCH_U8500
47
Patrice Chotard1aa2d8d2013-01-28 14:23:45 +010048config PINCTRL_AB8505
49 bool "AB8505 pin controller driver"
50 depends on PINCTRL_ABX500 && ARCH_U8500
51
Sonic Zhange9a03ad2013-09-03 16:28:59 +080052config PINCTRL_ADI2
53 bool "ADI pin controller driver"
Sonic Zhang9d7278d2013-09-23 11:57:00 +080054 depends on BLACKFIN
Sonic Zhange9a03ad2013-09-03 16:28:59 +080055 select PINMUX
56 select IRQ_DOMAIN
57 help
58 This is the pin controller and gpio driver for ADI BF54x, BF60x and
59 future processors. This option is selected automatically when specific
60 machine and arch are selected to build.
61
Laxman Dewanganc8ce8782013-10-02 21:20:29 +053062config PINCTRL_AS3722
63 bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
64 depends on MFD_AS3722 && GPIOLIB
65 select PINMUX
66 select GENERIC_PINCONF
67 help
68 AS3722 device supports the configuration of GPIO pins for different
69 functionality. This driver supports the pinmux, push-pull and
70 open drain configuration for the GPIO pins of AS3722 devices. It also
71 supports the GPIO functionality through gpiolib.
72
Sonic Zhange9a03ad2013-09-03 16:28:59 +080073config PINCTRL_BF54x
74 def_bool y if BF54x
75 select PINCTRL_ADI2
76
77config PINCTRL_BF60x
78 def_bool y if BF60x
79 select PINCTRL_ADI2
80
Jean-Christophe PLAGNIOL-VILLARD6732ae52012-07-12 23:35:02 +080081config PINCTRL_AT91
82 bool "AT91 pinctrl driver"
83 depends on OF
84 depends on ARCH_AT91
85 select PINMUX
86 select PINCONF
87 help
88 Say Y here to enable the at91 pinctrl driver
89
Mathias Nymana5d811b2013-06-18 14:33:02 +030090config PINCTRL_BAYTRAIL
91 bool "Intel Baytrail GPIO pin control"
92 depends on GPIOLIB && ACPI && X86
Andy Shevchenkoec243322013-07-10 14:55:36 +030093 select IRQ_DOMAIN
Mathias Nymana5d811b2013-06-18 14:33:02 +030094 help
95 driver for memory mapped GPIO functionality on Intel Baytrail
96 platforms. Supports 3 banks with 102, 28 and 44 gpios.
97 Most pins are usually muxed to some other functionality by firmware,
98 so only a small amount is available for gpio use.
99
100 Requires ACPI device enumeration code to set up a platform device.
101
Simon Arlotte1b2dc72012-09-27 22:10:11 -0600102config PINCTRL_BCM2835
103 bool
104 select PINMUX
105 select PINCONF
106
Sherman Yin7418b5c2014-04-02 15:40:37 -0700107config PINCTRL_BCM281XX
108 bool "Broadcom BCM281xx pinctrl driver"
Linus Walleijfe0ec0e2014-01-16 23:41:38 +0100109 depends on OF
Sherman Yin54b1aa52013-12-20 18:13:35 -0800110 select PINMUX
111 select PINCONF
112 select GENERIC_PINCONF
113 select REGMAP_MMIO
114 help
Sherman Yin7418b5c2014-04-02 15:40:37 -0700115 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
116 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
Sherman Yin54b1aa52013-12-20 18:13:35 -0800117 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
118 framework. GPIO is provided by a separate GPIO driver.
119
Dong Aishengae75ff82012-04-27 20:26:16 +0800120config PINCTRL_IMX
121 bool
122 select PINMUX
123 select PINCONF
124
Markus Pargmann30612cd92013-10-28 10:00:36 +0100125config PINCTRL_IMX1_CORE
126 bool
127 select PINMUX
128 select PINCONF
129
Markus Pargmanne16dbf62013-10-29 15:32:19 +0100130config PINCTRL_IMX27
131 bool "IMX27 pinctrl driver"
Markus Pargmanne16dbf62013-10-29 15:32:19 +0100132 depends on SOC_IMX27
133 select PINCTRL_IMX1_CORE
134 help
135 Say Y here to enable the imx27 pinctrl driver
136
Denis Cariklib4a87c92013-11-06 09:52:15 +0100137
138config PINCTRL_IMX25
139 bool "IMX25 pinctrl driver"
140 depends on OF
141 depends on SOC_IMX25
142 select PINCTRL_IMX
143 help
144 Say Y here to enable the imx25 pinctrl driver
145
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +0200146config PINCTRL_IMX35
147 bool "IMX35 pinctrl driver"
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +0200148 depends on SOC_IMX35
149 select PINCTRL_IMX
150 help
151 Say Y here to enable the imx35 pinctrl driver
152
Greg Ungerer9da83122013-11-05 23:11:51 +1000153config PINCTRL_IMX50
154 bool "IMX50 pinctrl driver"
Greg Ungerer9da83122013-11-05 23:11:51 +1000155 depends on SOC_IMX50
156 select PINCTRL_IMX
157 help
158 Say Y here to enable the imx50 pinctrl driver
159
Dong Aisheng4f6a16b2012-05-15 15:49:03 +0800160config PINCTRL_IMX51
161 bool "IMX51 pinctrl driver"
Dong Aisheng4f6a16b2012-05-15 15:49:03 +0800162 depends on SOC_IMX51
163 select PINCTRL_IMX
164 help
165 Say Y here to enable the imx51 pinctrl driver
166
Dong Aisheng93fbd3c2012-05-15 15:49:02 +0800167config PINCTRL_IMX53
168 bool "IMX53 pinctrl driver"
Dong Aisheng93fbd3c2012-05-15 15:49:02 +0800169 depends on SOC_IMX53
170 select PINCTRL_IMX
171 help
172 Say Y here to enable the imx53 pinctrl driver
173
Dong Aishengd8fe3572012-04-27 20:26:17 +0800174config PINCTRL_IMX6Q
Shawn Guo3f551d62013-03-21 21:55:41 +0800175 bool "IMX6Q/DL pinctrl driver"
Dong Aishengd8fe3572012-04-27 20:26:17 +0800176 depends on SOC_IMX6Q
177 select PINCTRL_IMX
178 help
Shawn Guo3f551d62013-03-21 21:55:41 +0800179 Say Y here to enable the imx6q/dl pinctrl driver
Dong Aishengd8fe3572012-04-27 20:26:17 +0800180
Shawn Guo21e59122013-03-21 22:10:36 +0800181config PINCTRL_IMX6SL
182 bool "IMX6SL pinctrl driver"
Shawn Guo21e59122013-03-21 22:10:36 +0800183 depends on SOC_IMX6SL
184 select PINCTRL_IMX
185 help
186 Say Y here to enable the imx6sl pinctrl driver
Haojian Zhuangf4e66982012-01-04 10:26:33 +0800187
Jingchang Lu78bafc62013-05-28 17:32:08 +0800188config PINCTRL_VF610
189 bool "Freescale Vybrid VF610 pinctrl driver"
Jingchang Lu78bafc62013-05-28 17:32:08 +0800190 depends on SOC_VF610
191 select PINCTRL_IMX
192 help
193 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
194
John Crispin3f8c50c2012-08-28 12:44:59 +0200195config PINCTRL_LANTIQ
196 bool
197 depends on LANTIQ
198 select PINMUX
199 select PINCONF
200
John Crispine316cb22012-05-20 00:33:56 +0200201config PINCTRL_FALCON
202 bool
203 depends on SOC_FALCON
204 depends on PINCTRL_LANTIQ
205
Shawn Guo17723112012-04-28 13:00:50 +0800206config PINCTRL_MXS
207 bool
Axel Lin90db8a12012-11-12 10:01:56 +0800208 select PINMUX
209 select PINCONF
Shawn Guo17723112012-04-28 13:00:50 +0800210
211config PINCTRL_IMX23
212 bool
Shawn Guo17723112012-04-28 13:00:50 +0800213 select PINCTRL_MXS
214
215config PINCTRL_IMX28
216 bool
Shawn Guo17723112012-04-28 13:00:50 +0800217 select PINCTRL_MXS
218
Bjorn Anderssonf365be02013-12-05 18:10:03 -0800219config PINCTRL_MSM
Josh Cartwright5ba34162014-02-24 12:41:20 -0600220 bool
Bjorn Anderssonf365be02013-12-05 18:10:03 -0800221 select PINMUX
222 select PINCONF
223 select GENERIC_PINCONF
224
Bjorn Anderssone2c802b2014-03-31 14:49:57 -0700225config PINCTRL_APQ8064
226 tristate "Qualcomm APQ8064 pin controller driver"
227 depends on GPIOLIB && OF
228 select PINCTRL_MSM
229 help
230 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
231 Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
232
Bjorn Andersson55aaf8342013-12-05 18:10:04 -0800233config PINCTRL_MSM8X74
Bjorn Andersson376f4132013-12-14 22:44:33 -0800234 tristate "Qualcomm 8x74 pin controller driver"
Stephen Boyd5f2449d2014-03-06 22:44:43 -0800235 depends on GPIOLIB && OF
Bjorn Andersson55aaf8342013-12-05 18:10:04 -0800236 select PINCTRL_MSM
Bjorn Andersson376f4132013-12-14 22:44:33 -0800237 help
238 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
239 Qualcomm TLMM block found in the Qualcomm 8974 platform.
Bjorn Andersson55aaf8342013-12-05 18:10:04 -0800240
Linus Walleije98ea772012-04-26 23:57:25 +0200241config PINCTRL_NOMADIK
242 bool "Nomadik pin controller driver"
Arnd Bergmann0fa7be42012-05-15 11:24:34 +0000243 depends on ARCH_U8500 || ARCH_NOMADIK
Linus Walleijdbfe8ca2012-05-02 22:56:47 +0200244 select PINMUX
Linus Walleijd41af622012-05-03 15:58:12 +0200245 select PINCONF
Linus Walleije0bc34a2014-03-25 10:44:09 +0100246 select GPIOLIB
247 select OF_GPIO
248 select GPIOLIB_IRQCHIP
Linus Walleije98ea772012-04-26 23:57:25 +0200249
Linus Walleijf79c5ed2012-08-10 00:43:28 +0200250config PINCTRL_STN8815
251 bool "STN8815 pin controller driver"
252 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
253
Linus Walleije98ea772012-04-26 23:57:25 +0200254config PINCTRL_DB8500
255 bool "DB8500 pin controller driver"
256 depends on PINCTRL_NOMADIK && ARCH_U8500
257
Patrice Chotard45a1b532012-07-20 15:45:22 +0200258config PINCTRL_DB8540
259 bool "DB8540 pin controller driver"
260 depends on PINCTRL_NOMADIK && ARCH_U8500
261
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200262config PINCTRL_ROCKCHIP
263 bool
264 select PINMUX
265 select GENERIC_PINCONF
266 select GENERIC_IRQ_CHIP
267
Tony Lindgren8b8b091b2012-07-10 02:05:46 -0700268config PINCTRL_SINGLE
269 tristate "One-register-per-pin type device tree based pinctrl driver"
270 depends on OF
271 select PINMUX
272 select PINCONF
Haojian Zhuang9dddb4d2013-02-17 19:42:55 +0800273 select GENERIC_PINCONF
Tony Lindgren8b8b091b2012-07-10 02:05:46 -0700274 help
275 This selects the device tree based generic pinctrl driver.
276
Linus Walleij3bece552011-12-18 23:44:26 +0100277config PINCTRL_SIRF
Barry Songd3e26f22012-09-27 17:56:30 +0800278 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
279 depends on ARCH_SIRF
Rongjun Ying393daa82011-10-09 03:11:13 -0700280 select PINMUX
Rongjun Ying393daa82011-10-09 03:11:13 -0700281
Maxime Ripard0e37f882013-01-18 22:30:34 +0100282config PINCTRL_SUNXI
283 bool
284 select PINMUX
285 select GENERIC_PINCONF
286
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100287config PINCTRL_ST
288 bool
289 depends on OF
290 select PINMUX
291 select PINCONF
Linus Walleij130cbe32014-04-08 14:45:47 +0200292 select GPIOLIB_IRQCHIP
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100293
Stephen Warren971dac72012-02-01 14:04:47 -0700294config PINCTRL_TEGRA
295 bool
Axel Lin507ccdb2012-11-12 10:00:22 +0800296 select PINMUX
297 select PINCONF
Stephen Warren971dac72012-02-01 14:04:47 -0700298
299config PINCTRL_TEGRA20
300 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700301 select PINCTRL_TEGRA
302
303config PINCTRL_TEGRA30
304 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700305 select PINCTRL_TEGRA
306
Pritesh Raithathab6ae7a22013-01-08 13:02:37 +0530307config PINCTRL_TEGRA114
308 bool
309 select PINCTRL_TEGRA
310
Ashwini Ghuge1a16bee2013-12-10 12:40:56 +0530311config PINCTRL_TEGRA124
312 bool
313 select PINCTRL_TEGRA
314
James Hogand5025f92013-06-20 10:26:27 +0100315config PINCTRL_TZ1090
316 bool "Toumaz Xenif TZ1090 pin control driver"
317 depends on SOC_TZ1090
318 select PINMUX
319 select GENERIC_PINCONF
320
James Hoganb58f0272013-06-20 10:26:29 +0100321config PINCTRL_TZ1090_PDC
322 bool "Toumaz Xenif TZ1090 PDC pin control driver"
323 depends on SOC_TZ1090
324 select PINMUX
325 select PINCONF
326
Linus Walleij3bece552011-12-18 23:44:26 +0100327config PINCTRL_U300
328 bool "U300 pin controller driver"
Linus Walleij98da3522011-05-02 20:54:38 +0200329 depends on ARCH_U300
330 select PINMUX
Linus Walleijdc0b1aa2011-11-16 21:58:10 +0100331 select GENERIC_PINCONF
Linus Walleij45f034e2011-11-05 21:28:46 +0100332
Linus Walleijca402d32011-11-16 09:22:59 +0100333config PINCTRL_COH901
334 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
Linus Walleij3c94d1b2012-06-18 20:07:50 +0200335 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
Linus Walleij523dcce2014-03-25 13:37:17 +0100336 select GPIOLIB_IRQCHIP
Linus Walleijca402d32011-11-16 09:22:59 +0100337 help
338 Say yes here to support GPIO interface on ST-Ericsson U300.
339 The names of the two IP block variants supported are
340 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
341 ports of 8 GPIO pins each.
342
Thomas Abraham30574f02012-09-07 06:07:19 +0900343config PINCTRL_SAMSUNG
Arnd Bergmanncbc351a2012-11-15 11:58:24 +0100344 bool
Thomas Abraham30574f02012-09-07 06:07:19 +0900345 select PINMUX
346 select PINCONF
347
Kukjin Kima1ed2672013-01-18 20:35:06 +0100348config PINCTRL_EXYNOS
Doug Anderson83978252013-06-10 18:26:53 +0900349 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
Mateusz Krawczuk608a26a2013-08-27 15:08:10 +0200350 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
Thomas Abraham43b169d2012-09-07 06:07:19 +0900351 select PINCTRL_SAMSUNG
352
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900353config PINCTRL_EXYNOS5440
354 bool "Samsung EXYNOS5440 SoC pinctrl driver"
Doug Anderson83978252013-06-10 18:26:53 +0900355 depends on SOC_EXYNOS5440
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900356 select PINMUX
357 select PINCONF
358
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530359config PINCTRL_PALMAS
Mark Brown736658c2013-08-19 16:07:26 +0100360 bool "Pinctrl driver for the PALMAS Series MFD devices"
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530361 depends on OF && MFD_PALMAS
Axel Lin63ca8db2013-08-22 14:30:08 +0800362 select PINMUX
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530363 select GENERIC_PINCONF
364 help
365 Palmas device supports the configuration of pins for different
366 functionality. This driver supports the pinmux, push-pull and
367 open drain configuration for the Palmas series devices like
368 TPS65913, TPS80036 etc.
369
Heiko Stuebneraf99a752013-05-21 00:56:13 +0900370config PINCTRL_S3C24XX
371 bool "Samsung S3C24XX SoC pinctrl driver"
372 depends on ARCH_S3C24XX
373 select PINCTRL_SAMSUNG
374
Tomasz Figa61dd7262013-03-18 22:31:55 +0100375config PINCTRL_S3C64XX
376 bool "Samsung S3C64XX SoC pinctrl driver"
377 depends on ARCH_S3C64XX
378 select PINCTRL_SAMSUNG
379
Thomas Petazzoni06763c72012-10-24 23:38:58 +0200380source "drivers/pinctrl/mvebu/Kconfig"
Laurent Pinchart6e54d8d2012-12-15 23:51:19 +0100381source "drivers/pinctrl/sh-pfc/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530382source "drivers/pinctrl/spear/Kconfig"
Tony Prisk170c6152013-02-20 09:32:19 +1300383source "drivers/pinctrl/vt8500/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530384
John Crispin3f8c50c2012-08-28 12:44:59 +0200385config PINCTRL_XWAY
386 bool
387 depends on SOC_TYPE_XWAY
388 depends on PINCTRL_LANTIQ
389
Christian Ruppert5aad0db2013-10-15 15:39:38 +0200390config PINCTRL_TB10X
391 bool
392 depends on ARC_PLAT_TB10X
393
Linus Walleij45f034e2011-11-05 21:28:46 +0100394endmenu
Linus Walleij98da3522011-05-02 20:54:38 +0200395
Linus Walleij2744e8a2011-05-02 20:50:54 +0200396endif