blob: f45a21c57e0eb4d6f4583a5f7c2a4da491510066 [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"
54 select PINMUX
55 select IRQ_DOMAIN
56 help
57 This is the pin controller and gpio driver for ADI BF54x, BF60x and
58 future processors. This option is selected automatically when specific
59 machine and arch are selected to build.
60
61config PINCTRL_BF54x
62 def_bool y if BF54x
63 select PINCTRL_ADI2
64
65config PINCTRL_BF60x
66 def_bool y if BF60x
67 select PINCTRL_ADI2
68
Jean-Christophe PLAGNIOL-VILLARD6732ae52012-07-12 23:35:02 +080069config PINCTRL_AT91
70 bool "AT91 pinctrl driver"
71 depends on OF
72 depends on ARCH_AT91
73 select PINMUX
74 select PINCONF
75 help
76 Say Y here to enable the at91 pinctrl driver
77
Mathias Nymana5d811b2013-06-18 14:33:02 +030078config PINCTRL_BAYTRAIL
79 bool "Intel Baytrail GPIO pin control"
80 depends on GPIOLIB && ACPI && X86
Andy Shevchenkoec243322013-07-10 14:55:36 +030081 select IRQ_DOMAIN
Mathias Nymana5d811b2013-06-18 14:33:02 +030082 help
83 driver for memory mapped GPIO functionality on Intel Baytrail
84 platforms. Supports 3 banks with 102, 28 and 44 gpios.
85 Most pins are usually muxed to some other functionality by firmware,
86 so only a small amount is available for gpio use.
87
88 Requires ACPI device enumeration code to set up a platform device.
89
Simon Arlotte1b2dc72012-09-27 22:10:11 -060090config PINCTRL_BCM2835
91 bool
92 select PINMUX
93 select PINCONF
94
Dong Aishengae75ff82012-04-27 20:26:16 +080095config PINCTRL_IMX
96 bool
97 select PINMUX
98 select PINCONF
99
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +0200100config PINCTRL_IMX35
101 bool "IMX35 pinctrl driver"
102 depends on OF
103 depends on SOC_IMX35
104 select PINCTRL_IMX
105 help
106 Say Y here to enable the imx35 pinctrl driver
107
Dong Aisheng4f6a16b2012-05-15 15:49:03 +0800108config PINCTRL_IMX51
109 bool "IMX51 pinctrl driver"
110 depends on OF
111 depends on SOC_IMX51
112 select PINCTRL_IMX
113 help
114 Say Y here to enable the imx51 pinctrl driver
115
Dong Aisheng93fbd3c2012-05-15 15:49:02 +0800116config PINCTRL_IMX53
117 bool "IMX53 pinctrl driver"
118 depends on OF
119 depends on SOC_IMX53
120 select PINCTRL_IMX
121 help
122 Say Y here to enable the imx53 pinctrl driver
123
Dong Aishengd8fe3572012-04-27 20:26:17 +0800124config PINCTRL_IMX6Q
Shawn Guo3f551d62013-03-21 21:55:41 +0800125 bool "IMX6Q/DL pinctrl driver"
Dong Aishengd8fe3572012-04-27 20:26:17 +0800126 depends on OF
127 depends on SOC_IMX6Q
128 select PINCTRL_IMX
129 help
Shawn Guo3f551d62013-03-21 21:55:41 +0800130 Say Y here to enable the imx6q/dl pinctrl driver
Dong Aishengd8fe3572012-04-27 20:26:17 +0800131
Shawn Guo21e59122013-03-21 22:10:36 +0800132config PINCTRL_IMX6SL
133 bool "IMX6SL pinctrl driver"
134 depends on OF
135 depends on SOC_IMX6SL
136 select PINCTRL_IMX
137 help
138 Say Y here to enable the imx6sl pinctrl driver
Haojian Zhuangf4e66982012-01-04 10:26:33 +0800139
Jingchang Lu78bafc62013-05-28 17:32:08 +0800140config PINCTRL_VF610
141 bool "Freescale Vybrid VF610 pinctrl driver"
142 depends on OF
143 depends on SOC_VF610
144 select PINCTRL_IMX
145 help
146 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
147
John Crispin3f8c50c2012-08-28 12:44:59 +0200148config PINCTRL_LANTIQ
149 bool
150 depends on LANTIQ
151 select PINMUX
152 select PINCONF
153
John Crispine316cb22012-05-20 00:33:56 +0200154config PINCTRL_FALCON
155 bool
156 depends on SOC_FALCON
157 depends on PINCTRL_LANTIQ
158
Shawn Guo17723112012-04-28 13:00:50 +0800159config PINCTRL_MXS
160 bool
Axel Lin90db8a12012-11-12 10:01:56 +0800161 select PINMUX
162 select PINCONF
Shawn Guo17723112012-04-28 13:00:50 +0800163
164config PINCTRL_IMX23
165 bool
Shawn Guo17723112012-04-28 13:00:50 +0800166 select PINCTRL_MXS
167
168config PINCTRL_IMX28
169 bool
Shawn Guo17723112012-04-28 13:00:50 +0800170 select PINCTRL_MXS
171
Linus Walleije98ea772012-04-26 23:57:25 +0200172config PINCTRL_NOMADIK
173 bool "Nomadik pin controller driver"
Arnd Bergmann0fa7be42012-05-15 11:24:34 +0000174 depends on ARCH_U8500 || ARCH_NOMADIK
Linus Walleijdbfe8ca2012-05-02 22:56:47 +0200175 select PINMUX
Linus Walleijd41af622012-05-03 15:58:12 +0200176 select PINCONF
Linus Walleije98ea772012-04-26 23:57:25 +0200177
Linus Walleijf79c5ed2012-08-10 00:43:28 +0200178config PINCTRL_STN8815
179 bool "STN8815 pin controller driver"
180 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
181
Linus Walleije98ea772012-04-26 23:57:25 +0200182config PINCTRL_DB8500
183 bool "DB8500 pin controller driver"
184 depends on PINCTRL_NOMADIK && ARCH_U8500
185
Patrice Chotard45a1b532012-07-20 15:45:22 +0200186config PINCTRL_DB8540
187 bool "DB8540 pin controller driver"
188 depends on PINCTRL_NOMADIK && ARCH_U8500
189
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200190config PINCTRL_ROCKCHIP
191 bool
192 select PINMUX
193 select GENERIC_PINCONF
194 select GENERIC_IRQ_CHIP
195
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700196config PINCTRL_SINGLE
197 tristate "One-register-per-pin type device tree based pinctrl driver"
198 depends on OF
199 select PINMUX
200 select PINCONF
Haojian Zhuang9dddb4d2013-02-17 19:42:55 +0800201 select GENERIC_PINCONF
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700202 help
203 This selects the device tree based generic pinctrl driver.
204
Linus Walleij3bece552011-12-18 23:44:26 +0100205config PINCTRL_SIRF
Barry Songd3e26f22012-09-27 17:56:30 +0800206 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
207 depends on ARCH_SIRF
Rongjun Ying393daa82011-10-09 03:11:13 -0700208 select PINMUX
Rongjun Ying393daa82011-10-09 03:11:13 -0700209
Maxime Ripard0e37f882013-01-18 22:30:34 +0100210config PINCTRL_SUNXI
211 bool
212 select PINMUX
213 select GENERIC_PINCONF
214
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100215config PINCTRL_ST
216 bool
217 depends on OF
218 select PINMUX
219 select PINCONF
220
Stephen Warren971dac72012-02-01 14:04:47 -0700221config PINCTRL_TEGRA
222 bool
Axel Lin507ccdb2012-11-12 10:00:22 +0800223 select PINMUX
224 select PINCONF
Stephen Warren971dac72012-02-01 14:04:47 -0700225
226config PINCTRL_TEGRA20
227 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700228 select PINCTRL_TEGRA
229
230config PINCTRL_TEGRA30
231 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700232 select PINCTRL_TEGRA
233
Pritesh Raithathab6ae7a22013-01-08 13:02:37 +0530234config PINCTRL_TEGRA114
235 bool
236 select PINCTRL_TEGRA
237
James Hogand5025f92013-06-20 10:26:27 +0100238config PINCTRL_TZ1090
239 bool "Toumaz Xenif TZ1090 pin control driver"
240 depends on SOC_TZ1090
241 select PINMUX
242 select GENERIC_PINCONF
243
James Hoganb58f0272013-06-20 10:26:29 +0100244config PINCTRL_TZ1090_PDC
245 bool "Toumaz Xenif TZ1090 PDC pin control driver"
246 depends on SOC_TZ1090
247 select PINMUX
248 select PINCONF
249
Linus Walleij3bece552011-12-18 23:44:26 +0100250config PINCTRL_U300
251 bool "U300 pin controller driver"
Linus Walleij98da3522011-05-02 20:54:38 +0200252 depends on ARCH_U300
253 select PINMUX
Linus Walleijdc0b1aa2011-11-16 21:58:10 +0100254 select GENERIC_PINCONF
Linus Walleij45f034e2011-11-05 21:28:46 +0100255
Linus Walleijca402d32011-11-16 09:22:59 +0100256config PINCTRL_COH901
257 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
Linus Walleij3c94d1b2012-06-18 20:07:50 +0200258 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
Linus Walleijca402d32011-11-16 09:22:59 +0100259 help
260 Say yes here to support GPIO interface on ST-Ericsson U300.
261 The names of the two IP block variants supported are
262 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
263 ports of 8 GPIO pins each.
264
Thomas Abraham30574f02012-09-07 06:07:19 +0900265config PINCTRL_SAMSUNG
Arnd Bergmanncbc351a2012-11-15 11:58:24 +0100266 bool
Thomas Abraham30574f02012-09-07 06:07:19 +0900267 select PINMUX
268 select PINCONF
269
Kukjin Kima1ed2672013-01-18 20:35:06 +0100270config PINCTRL_EXYNOS
Doug Anderson83978252013-06-10 18:26:53 +0900271 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
Mateusz Krawczuk608a26a2013-08-27 15:08:10 +0200272 depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
Thomas Abraham43b169d2012-09-07 06:07:19 +0900273 select PINCTRL_SAMSUNG
274
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900275config PINCTRL_EXYNOS5440
276 bool "Samsung EXYNOS5440 SoC pinctrl driver"
Doug Anderson83978252013-06-10 18:26:53 +0900277 depends on SOC_EXYNOS5440
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900278 select PINMUX
279 select PINCONF
280
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530281config PINCTRL_PALMAS
Mark Brown736658c2013-08-19 16:07:26 +0100282 bool "Pinctrl driver for the PALMAS Series MFD devices"
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530283 depends on OF && MFD_PALMAS
Axel Lin63ca8db2013-08-22 14:30:08 +0800284 select PINMUX
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530285 select GENERIC_PINCONF
286 help
287 Palmas device supports the configuration of pins for different
288 functionality. This driver supports the pinmux, push-pull and
289 open drain configuration for the Palmas series devices like
290 TPS65913, TPS80036 etc.
291
Heiko Stuebneraf99a752013-05-21 00:56:13 +0900292config PINCTRL_S3C24XX
293 bool "Samsung S3C24XX SoC pinctrl driver"
294 depends on ARCH_S3C24XX
295 select PINCTRL_SAMSUNG
296
Tomasz Figa61dd7262013-03-18 22:31:55 +0100297config PINCTRL_S3C64XX
298 bool "Samsung S3C64XX SoC pinctrl driver"
299 depends on ARCH_S3C64XX
300 select PINCTRL_SAMSUNG
301
Thomas Petazzoni06763c72012-10-24 23:38:58 +0200302source "drivers/pinctrl/mvebu/Kconfig"
Laurent Pinchart6e54d8d2012-12-15 23:51:19 +0100303source "drivers/pinctrl/sh-pfc/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530304source "drivers/pinctrl/spear/Kconfig"
Tony Prisk170c6152013-02-20 09:32:19 +1300305source "drivers/pinctrl/vt8500/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530306
John Crispin3f8c50c2012-08-28 12:44:59 +0200307config PINCTRL_XWAY
308 bool
309 depends on SOC_TYPE_XWAY
310 depends on PINCTRL_LANTIQ
311
Linus Walleij45f034e2011-11-05 21:28:46 +0100312endmenu
Linus Walleij98da3522011-05-02 20:54:38 +0200313
Linus Walleij2744e8a2011-05-02 20:50:54 +0200314endif