blob: 33f9dc1f14fdd3e64db47325550b9f5ba93360b5 [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
Dong Aishengae75ff82012-04-27 20:26:16 +0800107config PINCTRL_IMX
108 bool
109 select PINMUX
110 select PINCONF
111
Markus Pargmann30612cd92013-10-28 10:00:36 +0100112config PINCTRL_IMX1_CORE
113 bool
114 select PINMUX
115 select PINCONF
116
Markus Pargmanne16dbf62013-10-29 15:32:19 +0100117config PINCTRL_IMX27
118 bool "IMX27 pinctrl driver"
119 depends on OF
120 depends on SOC_IMX27
121 select PINCTRL_IMX1_CORE
122 help
123 Say Y here to enable the imx27 pinctrl driver
124
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +0200125config PINCTRL_IMX35
126 bool "IMX35 pinctrl driver"
127 depends on OF
128 depends on SOC_IMX35
129 select PINCTRL_IMX
130 help
131 Say Y here to enable the imx35 pinctrl driver
132
Greg Ungerer9da83122013-11-05 23:11:51 +1000133config PINCTRL_IMX50
134 bool "IMX50 pinctrl driver"
135 depends on OF
136 depends on SOC_IMX50
137 select PINCTRL_IMX
138 help
139 Say Y here to enable the imx50 pinctrl driver
140
Dong Aisheng4f6a16b2012-05-15 15:49:03 +0800141config PINCTRL_IMX51
142 bool "IMX51 pinctrl driver"
143 depends on OF
144 depends on SOC_IMX51
145 select PINCTRL_IMX
146 help
147 Say Y here to enable the imx51 pinctrl driver
148
Dong Aisheng93fbd3c2012-05-15 15:49:02 +0800149config PINCTRL_IMX53
150 bool "IMX53 pinctrl driver"
151 depends on OF
152 depends on SOC_IMX53
153 select PINCTRL_IMX
154 help
155 Say Y here to enable the imx53 pinctrl driver
156
Dong Aishengd8fe3572012-04-27 20:26:17 +0800157config PINCTRL_IMX6Q
Shawn Guo3f551d62013-03-21 21:55:41 +0800158 bool "IMX6Q/DL pinctrl driver"
Dong Aishengd8fe3572012-04-27 20:26:17 +0800159 depends on OF
160 depends on SOC_IMX6Q
161 select PINCTRL_IMX
162 help
Shawn Guo3f551d62013-03-21 21:55:41 +0800163 Say Y here to enable the imx6q/dl pinctrl driver
Dong Aishengd8fe3572012-04-27 20:26:17 +0800164
Shawn Guo21e59122013-03-21 22:10:36 +0800165config PINCTRL_IMX6SL
166 bool "IMX6SL pinctrl driver"
167 depends on OF
168 depends on SOC_IMX6SL
169 select PINCTRL_IMX
170 help
171 Say Y here to enable the imx6sl pinctrl driver
Haojian Zhuangf4e66982012-01-04 10:26:33 +0800172
Jingchang Lu78bafc62013-05-28 17:32:08 +0800173config PINCTRL_VF610
174 bool "Freescale Vybrid VF610 pinctrl driver"
175 depends on OF
176 depends on SOC_VF610
177 select PINCTRL_IMX
178 help
179 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
180
John Crispin3f8c50c2012-08-28 12:44:59 +0200181config PINCTRL_LANTIQ
182 bool
183 depends on LANTIQ
184 select PINMUX
185 select PINCONF
186
John Crispine316cb22012-05-20 00:33:56 +0200187config PINCTRL_FALCON
188 bool
189 depends on SOC_FALCON
190 depends on PINCTRL_LANTIQ
191
Shawn Guo17723112012-04-28 13:00:50 +0800192config PINCTRL_MXS
193 bool
Axel Lin90db8a12012-11-12 10:01:56 +0800194 select PINMUX
195 select PINCONF
Shawn Guo17723112012-04-28 13:00:50 +0800196
197config PINCTRL_IMX23
198 bool
Shawn Guo17723112012-04-28 13:00:50 +0800199 select PINCTRL_MXS
200
201config PINCTRL_IMX28
202 bool
Shawn Guo17723112012-04-28 13:00:50 +0800203 select PINCTRL_MXS
204
Linus Walleije98ea772012-04-26 23:57:25 +0200205config PINCTRL_NOMADIK
206 bool "Nomadik pin controller driver"
Arnd Bergmann0fa7be42012-05-15 11:24:34 +0000207 depends on ARCH_U8500 || ARCH_NOMADIK
Linus Walleijdbfe8ca2012-05-02 22:56:47 +0200208 select PINMUX
Linus Walleijd41af622012-05-03 15:58:12 +0200209 select PINCONF
Linus Walleije98ea772012-04-26 23:57:25 +0200210
Linus Walleijf79c5ed2012-08-10 00:43:28 +0200211config PINCTRL_STN8815
212 bool "STN8815 pin controller driver"
213 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
214
Linus Walleije98ea772012-04-26 23:57:25 +0200215config PINCTRL_DB8500
216 bool "DB8500 pin controller driver"
217 depends on PINCTRL_NOMADIK && ARCH_U8500
218
Patrice Chotard45a1b532012-07-20 15:45:22 +0200219config PINCTRL_DB8540
220 bool "DB8540 pin controller driver"
221 depends on PINCTRL_NOMADIK && ARCH_U8500
222
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200223config PINCTRL_ROCKCHIP
224 bool
225 select PINMUX
226 select GENERIC_PINCONF
227 select GENERIC_IRQ_CHIP
228
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700229config PINCTRL_SINGLE
230 tristate "One-register-per-pin type device tree based pinctrl driver"
231 depends on OF
232 select PINMUX
233 select PINCONF
Haojian Zhuang9dddb4d2013-02-17 19:42:55 +0800234 select GENERIC_PINCONF
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700235 help
236 This selects the device tree based generic pinctrl driver.
237
Linus Walleij3bece552011-12-18 23:44:26 +0100238config PINCTRL_SIRF
Barry Songd3e26f22012-09-27 17:56:30 +0800239 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
240 depends on ARCH_SIRF
Rongjun Ying393daa82011-10-09 03:11:13 -0700241 select PINMUX
Rongjun Ying393daa82011-10-09 03:11:13 -0700242
Maxime Ripard0e37f882013-01-18 22:30:34 +0100243config PINCTRL_SUNXI
244 bool
245 select PINMUX
246 select GENERIC_PINCONF
247
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100248config PINCTRL_ST
249 bool
250 depends on OF
251 select PINMUX
252 select PINCONF
253
Stephen Warren971dac72012-02-01 14:04:47 -0700254config PINCTRL_TEGRA
255 bool
Axel Lin507ccdb2012-11-12 10:00:22 +0800256 select PINMUX
257 select PINCONF
Stephen Warren971dac72012-02-01 14:04:47 -0700258
259config PINCTRL_TEGRA20
260 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700261 select PINCTRL_TEGRA
262
263config PINCTRL_TEGRA30
264 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700265 select PINCTRL_TEGRA
266
Pritesh Raithathab6ae7a22013-01-08 13:02:37 +0530267config PINCTRL_TEGRA114
268 bool
269 select PINCTRL_TEGRA
270
James Hogand5025f92013-06-20 10:26:27 +0100271config PINCTRL_TZ1090
272 bool "Toumaz Xenif TZ1090 pin control driver"
273 depends on SOC_TZ1090
274 select PINMUX
275 select GENERIC_PINCONF
276
James Hoganb58f0272013-06-20 10:26:29 +0100277config PINCTRL_TZ1090_PDC
278 bool "Toumaz Xenif TZ1090 PDC pin control driver"
279 depends on SOC_TZ1090
280 select PINMUX
281 select PINCONF
282
Linus Walleij3bece552011-12-18 23:44:26 +0100283config PINCTRL_U300
284 bool "U300 pin controller driver"
Linus Walleij98da3522011-05-02 20:54:38 +0200285 depends on ARCH_U300
286 select PINMUX
Linus Walleijdc0b1aa2011-11-16 21:58:10 +0100287 select GENERIC_PINCONF
Linus Walleij45f034e2011-11-05 21:28:46 +0100288
Linus Walleijca402d32011-11-16 09:22:59 +0100289config PINCTRL_COH901
290 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
Linus Walleij3c94d1b2012-06-18 20:07:50 +0200291 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
Linus Walleijca402d32011-11-16 09:22:59 +0100292 help
293 Say yes here to support GPIO interface on ST-Ericsson U300.
294 The names of the two IP block variants supported are
295 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
296 ports of 8 GPIO pins each.
297
Thomas Abraham30574f02012-09-07 06:07:19 +0900298config PINCTRL_SAMSUNG
Arnd Bergmanncbc351a2012-11-15 11:58:24 +0100299 bool
Thomas Abraham30574f02012-09-07 06:07:19 +0900300 select PINMUX
301 select PINCONF
302
Kukjin Kima1ed2672013-01-18 20:35:06 +0100303config PINCTRL_EXYNOS
Doug Anderson83978252013-06-10 18:26:53 +0900304 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
Mateusz Krawczuk608a26a2013-08-27 15:08:10 +0200305 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
Thomas Abraham43b169d2012-09-07 06:07:19 +0900306 select PINCTRL_SAMSUNG
307
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900308config PINCTRL_EXYNOS5440
309 bool "Samsung EXYNOS5440 SoC pinctrl driver"
Doug Anderson83978252013-06-10 18:26:53 +0900310 depends on SOC_EXYNOS5440
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900311 select PINMUX
312 select PINCONF
313
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530314config PINCTRL_PALMAS
Mark Brown736658c2013-08-19 16:07:26 +0100315 bool "Pinctrl driver for the PALMAS Series MFD devices"
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530316 depends on OF && MFD_PALMAS
Axel Lin63ca8db2013-08-22 14:30:08 +0800317 select PINMUX
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530318 select GENERIC_PINCONF
319 help
320 Palmas device supports the configuration of pins for different
321 functionality. This driver supports the pinmux, push-pull and
322 open drain configuration for the Palmas series devices like
323 TPS65913, TPS80036 etc.
324
Heiko Stuebneraf99a752013-05-21 00:56:13 +0900325config PINCTRL_S3C24XX
326 bool "Samsung S3C24XX SoC pinctrl driver"
327 depends on ARCH_S3C24XX
328 select PINCTRL_SAMSUNG
329
Tomasz Figa61dd7262013-03-18 22:31:55 +0100330config PINCTRL_S3C64XX
331 bool "Samsung S3C64XX SoC pinctrl driver"
332 depends on ARCH_S3C64XX
333 select PINCTRL_SAMSUNG
334
Thomas Petazzoni06763c72012-10-24 23:38:58 +0200335source "drivers/pinctrl/mvebu/Kconfig"
Laurent Pinchart6e54d8d2012-12-15 23:51:19 +0100336source "drivers/pinctrl/sh-pfc/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530337source "drivers/pinctrl/spear/Kconfig"
Tony Prisk170c6152013-02-20 09:32:19 +1300338source "drivers/pinctrl/vt8500/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530339
John Crispin3f8c50c2012-08-28 12:44:59 +0200340config PINCTRL_XWAY
341 bool
342 depends on SOC_TYPE_XWAY
343 depends on PINCTRL_LANTIQ
344
Christian Ruppert5aad0db2013-10-15 15:39:38 +0200345config PINCTRL_TB10X
346 bool
347 depends on ARC_PLAT_TB10X
348
Linus Walleij45f034e2011-11-05 21:28:46 +0100349endmenu
Linus Walleij98da3522011-05-02 20:54:38 +0200350
Linus Walleij2744e8a2011-05-02 20:50:54 +0200351endif