blob: f1dda4d9de136c8f4bbfa8625f8360c9d64d7115 [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 Yin54b1aa52013-12-20 18:13:35 -0800107config PINCTRL_CAPRI
108 bool "Broadcom Capri pinctrl driver"
109 select PINMUX
110 select PINCONF
111 select GENERIC_PINCONF
112 select REGMAP_MMIO
113 help
114 Say Y here to support Broadcom Capri pinctrl driver, which is used for
115 the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
116 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
117 framework. GPIO is provided by a separate GPIO driver.
118
Dong Aishengae75ff82012-04-27 20:26:16 +0800119config PINCTRL_IMX
120 bool
121 select PINMUX
122 select PINCONF
123
Markus Pargmann30612cd92013-10-28 10:00:36 +0100124config PINCTRL_IMX1_CORE
125 bool
126 select PINMUX
127 select PINCONF
128
Markus Pargmanne16dbf62013-10-29 15:32:19 +0100129config PINCTRL_IMX27
130 bool "IMX27 pinctrl driver"
Markus Pargmanne16dbf62013-10-29 15:32:19 +0100131 depends on SOC_IMX27
132 select PINCTRL_IMX1_CORE
133 help
134 Say Y here to enable the imx27 pinctrl driver
135
Denis Cariklib4a87c92013-11-06 09:52:15 +0100136
137config PINCTRL_IMX25
138 bool "IMX25 pinctrl driver"
139 depends on OF
140 depends on SOC_IMX25
141 select PINCTRL_IMX
142 help
143 Say Y here to enable the imx25 pinctrl driver
144
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +0200145config PINCTRL_IMX35
146 bool "IMX35 pinctrl driver"
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +0200147 depends on SOC_IMX35
148 select PINCTRL_IMX
149 help
150 Say Y here to enable the imx35 pinctrl driver
151
Greg Ungerer9da83122013-11-05 23:11:51 +1000152config PINCTRL_IMX50
153 bool "IMX50 pinctrl driver"
Greg Ungerer9da83122013-11-05 23:11:51 +1000154 depends on SOC_IMX50
155 select PINCTRL_IMX
156 help
157 Say Y here to enable the imx50 pinctrl driver
158
Dong Aisheng4f6a16b2012-05-15 15:49:03 +0800159config PINCTRL_IMX51
160 bool "IMX51 pinctrl driver"
Dong Aisheng4f6a16b2012-05-15 15:49:03 +0800161 depends on SOC_IMX51
162 select PINCTRL_IMX
163 help
164 Say Y here to enable the imx51 pinctrl driver
165
Dong Aisheng93fbd3c2012-05-15 15:49:02 +0800166config PINCTRL_IMX53
167 bool "IMX53 pinctrl driver"
Dong Aisheng93fbd3c2012-05-15 15:49:02 +0800168 depends on SOC_IMX53
169 select PINCTRL_IMX
170 help
171 Say Y here to enable the imx53 pinctrl driver
172
Dong Aishengd8fe3572012-04-27 20:26:17 +0800173config PINCTRL_IMX6Q
Shawn Guo3f551d62013-03-21 21:55:41 +0800174 bool "IMX6Q/DL pinctrl driver"
Dong Aishengd8fe3572012-04-27 20:26:17 +0800175 depends on SOC_IMX6Q
176 select PINCTRL_IMX
177 help
Shawn Guo3f551d62013-03-21 21:55:41 +0800178 Say Y here to enable the imx6q/dl pinctrl driver
Dong Aishengd8fe3572012-04-27 20:26:17 +0800179
Shawn Guo21e59122013-03-21 22:10:36 +0800180config PINCTRL_IMX6SL
181 bool "IMX6SL pinctrl driver"
Shawn Guo21e59122013-03-21 22:10:36 +0800182 depends on SOC_IMX6SL
183 select PINCTRL_IMX
184 help
185 Say Y here to enable the imx6sl pinctrl driver
Haojian Zhuangf4e66982012-01-04 10:26:33 +0800186
Jingchang Lu78bafc62013-05-28 17:32:08 +0800187config PINCTRL_VF610
188 bool "Freescale Vybrid VF610 pinctrl driver"
Jingchang Lu78bafc62013-05-28 17:32:08 +0800189 depends on SOC_VF610
190 select PINCTRL_IMX
191 help
192 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
193
John Crispin3f8c50c2012-08-28 12:44:59 +0200194config PINCTRL_LANTIQ
195 bool
196 depends on LANTIQ
197 select PINMUX
198 select PINCONF
199
John Crispine316cb22012-05-20 00:33:56 +0200200config PINCTRL_FALCON
201 bool
202 depends on SOC_FALCON
203 depends on PINCTRL_LANTIQ
204
Shawn Guo17723112012-04-28 13:00:50 +0800205config PINCTRL_MXS
206 bool
Axel Lin90db8a12012-11-12 10:01:56 +0800207 select PINMUX
208 select PINCONF
Shawn Guo17723112012-04-28 13:00:50 +0800209
210config PINCTRL_IMX23
211 bool
Shawn Guo17723112012-04-28 13:00:50 +0800212 select PINCTRL_MXS
213
214config PINCTRL_IMX28
215 bool
Shawn Guo17723112012-04-28 13:00:50 +0800216 select PINCTRL_MXS
217
Bjorn Anderssonf365be02013-12-05 18:10:03 -0800218config PINCTRL_MSM
Bjorn Andersson376f4132013-12-14 22:44:33 -0800219 tristate
Bjorn Anderssonf365be02013-12-05 18:10:03 -0800220 select PINMUX
221 select PINCONF
222 select GENERIC_PINCONF
223
Bjorn Andersson55aaf8342013-12-05 18:10:04 -0800224config PINCTRL_MSM8X74
Bjorn Andersson376f4132013-12-14 22:44:33 -0800225 tristate "Qualcomm 8x74 pin controller driver"
226 depends on GPIOLIB && OF && OF_IRQ
Bjorn Andersson55aaf8342013-12-05 18:10:04 -0800227 select PINCTRL_MSM
Bjorn Andersson376f4132013-12-14 22:44:33 -0800228 help
229 This is the pinctrl, pinmux, pinconf and gpiolib driver for the
230 Qualcomm TLMM block found in the Qualcomm 8974 platform.
Bjorn Andersson55aaf8342013-12-05 18:10:04 -0800231
Linus Walleije98ea772012-04-26 23:57:25 +0200232config PINCTRL_NOMADIK
233 bool "Nomadik pin controller driver"
Arnd Bergmann0fa7be42012-05-15 11:24:34 +0000234 depends on ARCH_U8500 || ARCH_NOMADIK
Linus Walleijdbfe8ca2012-05-02 22:56:47 +0200235 select PINMUX
Linus Walleijd41af622012-05-03 15:58:12 +0200236 select PINCONF
Linus Walleije98ea772012-04-26 23:57:25 +0200237
Linus Walleijf79c5ed2012-08-10 00:43:28 +0200238config PINCTRL_STN8815
239 bool "STN8815 pin controller driver"
240 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
241
Linus Walleije98ea772012-04-26 23:57:25 +0200242config PINCTRL_DB8500
243 bool "DB8500 pin controller driver"
244 depends on PINCTRL_NOMADIK && ARCH_U8500
245
Patrice Chotard45a1b532012-07-20 15:45:22 +0200246config PINCTRL_DB8540
247 bool "DB8540 pin controller driver"
248 depends on PINCTRL_NOMADIK && ARCH_U8500
249
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200250config PINCTRL_ROCKCHIP
251 bool
252 select PINMUX
253 select GENERIC_PINCONF
254 select GENERIC_IRQ_CHIP
255
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700256config PINCTRL_SINGLE
257 tristate "One-register-per-pin type device tree based pinctrl driver"
258 depends on OF
259 select PINMUX
260 select PINCONF
Haojian Zhuang9dddb4d2013-02-17 19:42:55 +0800261 select GENERIC_PINCONF
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700262 help
263 This selects the device tree based generic pinctrl driver.
264
Linus Walleij3bece552011-12-18 23:44:26 +0100265config PINCTRL_SIRF
Barry Songd3e26f22012-09-27 17:56:30 +0800266 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
267 depends on ARCH_SIRF
Rongjun Ying393daa82011-10-09 03:11:13 -0700268 select PINMUX
Rongjun Ying393daa82011-10-09 03:11:13 -0700269
Maxime Ripard0e37f882013-01-18 22:30:34 +0100270config PINCTRL_SUNXI
271 bool
272 select PINMUX
273 select GENERIC_PINCONF
274
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100275config PINCTRL_ST
276 bool
277 depends on OF
278 select PINMUX
279 select PINCONF
280
Stephen Warren971dac72012-02-01 14:04:47 -0700281config PINCTRL_TEGRA
282 bool
Axel Lin507ccdb2012-11-12 10:00:22 +0800283 select PINMUX
284 select PINCONF
Stephen Warren971dac72012-02-01 14:04:47 -0700285
286config PINCTRL_TEGRA20
287 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700288 select PINCTRL_TEGRA
289
290config PINCTRL_TEGRA30
291 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700292 select PINCTRL_TEGRA
293
Pritesh Raithathab6ae7a22013-01-08 13:02:37 +0530294config PINCTRL_TEGRA114
295 bool
296 select PINCTRL_TEGRA
297
Ashwini Ghuge1a16bee2013-12-10 12:40:56 +0530298config PINCTRL_TEGRA124
299 bool
300 select PINCTRL_TEGRA
301
James Hogand5025f92013-06-20 10:26:27 +0100302config PINCTRL_TZ1090
303 bool "Toumaz Xenif TZ1090 pin control driver"
304 depends on SOC_TZ1090
305 select PINMUX
306 select GENERIC_PINCONF
307
James Hoganb58f0272013-06-20 10:26:29 +0100308config PINCTRL_TZ1090_PDC
309 bool "Toumaz Xenif TZ1090 PDC pin control driver"
310 depends on SOC_TZ1090
311 select PINMUX
312 select PINCONF
313
Linus Walleij3bece552011-12-18 23:44:26 +0100314config PINCTRL_U300
315 bool "U300 pin controller driver"
Linus Walleij98da3522011-05-02 20:54:38 +0200316 depends on ARCH_U300
317 select PINMUX
Linus Walleijdc0b1aa2011-11-16 21:58:10 +0100318 select GENERIC_PINCONF
Linus Walleij45f034e2011-11-05 21:28:46 +0100319
Linus Walleijca402d32011-11-16 09:22:59 +0100320config PINCTRL_COH901
321 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
Linus Walleij3c94d1b2012-06-18 20:07:50 +0200322 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
Linus Walleijca402d32011-11-16 09:22:59 +0100323 help
324 Say yes here to support GPIO interface on ST-Ericsson U300.
325 The names of the two IP block variants supported are
326 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
327 ports of 8 GPIO pins each.
328
Thomas Abraham30574f02012-09-07 06:07:19 +0900329config PINCTRL_SAMSUNG
Arnd Bergmanncbc351a2012-11-15 11:58:24 +0100330 bool
Thomas Abraham30574f02012-09-07 06:07:19 +0900331 select PINMUX
332 select PINCONF
333
Kukjin Kima1ed2672013-01-18 20:35:06 +0100334config PINCTRL_EXYNOS
Doug Anderson83978252013-06-10 18:26:53 +0900335 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
Mateusz Krawczuk608a26a2013-08-27 15:08:10 +0200336 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
Thomas Abraham43b169d2012-09-07 06:07:19 +0900337 select PINCTRL_SAMSUNG
338
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900339config PINCTRL_EXYNOS5440
340 bool "Samsung EXYNOS5440 SoC pinctrl driver"
Doug Anderson83978252013-06-10 18:26:53 +0900341 depends on SOC_EXYNOS5440
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900342 select PINMUX
343 select PINCONF
344
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530345config PINCTRL_PALMAS
Mark Brown736658c2013-08-19 16:07:26 +0100346 bool "Pinctrl driver for the PALMAS Series MFD devices"
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530347 depends on OF && MFD_PALMAS
Axel Lin63ca8db2013-08-22 14:30:08 +0800348 select PINMUX
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530349 select GENERIC_PINCONF
350 help
351 Palmas device supports the configuration of pins for different
352 functionality. This driver supports the pinmux, push-pull and
353 open drain configuration for the Palmas series devices like
354 TPS65913, TPS80036 etc.
355
Heiko Stuebneraf99a752013-05-21 00:56:13 +0900356config PINCTRL_S3C24XX
357 bool "Samsung S3C24XX SoC pinctrl driver"
358 depends on ARCH_S3C24XX
359 select PINCTRL_SAMSUNG
360
Tomasz Figa61dd7262013-03-18 22:31:55 +0100361config PINCTRL_S3C64XX
362 bool "Samsung S3C64XX SoC pinctrl driver"
363 depends on ARCH_S3C64XX
364 select PINCTRL_SAMSUNG
365
Thomas Petazzoni06763c72012-10-24 23:38:58 +0200366source "drivers/pinctrl/mvebu/Kconfig"
Laurent Pinchart6e54d8d2012-12-15 23:51:19 +0100367source "drivers/pinctrl/sh-pfc/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530368source "drivers/pinctrl/spear/Kconfig"
Tony Prisk170c6152013-02-20 09:32:19 +1300369source "drivers/pinctrl/vt8500/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530370
John Crispin3f8c50c2012-08-28 12:44:59 +0200371config PINCTRL_XWAY
372 bool
373 depends on SOC_TYPE_XWAY
374 depends on PINCTRL_LANTIQ
375
Christian Ruppert5aad0db2013-10-15 15:39:38 +0200376config PINCTRL_TB10X
377 bool
378 depends on ARC_PLAT_TB10X
379
Linus Walleij45f034e2011-11-05 21:28:46 +0100380endmenu
Linus Walleij98da3522011-05-02 20:54:38 +0200381
Linus Walleij2744e8a2011-05-02 20:50:54 +0200382endif