blob: 8542cd4a176aec39c7f4d2871977ad5d90b4cbbc [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
Jean-Christophe PLAGNIOL-VILLARD6732ae52012-07-12 23:35:02 +080052config PINCTRL_AT91
53 bool "AT91 pinctrl driver"
54 depends on OF
55 depends on ARCH_AT91
56 select PINMUX
57 select PINCONF
58 help
59 Say Y here to enable the at91 pinctrl driver
60
Mathias Nymana5d811b2013-06-18 14:33:02 +030061config PINCTRL_BAYTRAIL
62 bool "Intel Baytrail GPIO pin control"
63 depends on GPIOLIB && ACPI && X86
Andy Shevchenkoec243322013-07-10 14:55:36 +030064 select IRQ_DOMAIN
Mathias Nymana5d811b2013-06-18 14:33:02 +030065 help
66 driver for memory mapped GPIO functionality on Intel Baytrail
67 platforms. Supports 3 banks with 102, 28 and 44 gpios.
68 Most pins are usually muxed to some other functionality by firmware,
69 so only a small amount is available for gpio use.
70
71 Requires ACPI device enumeration code to set up a platform device.
72
Simon Arlotte1b2dc72012-09-27 22:10:11 -060073config PINCTRL_BCM2835
74 bool
75 select PINMUX
76 select PINCONF
77
Dong Aishengae75ff82012-04-27 20:26:16 +080078config PINCTRL_IMX
79 bool
80 select PINMUX
81 select PINCONF
82
Uwe Kleine-Königb9aa8f12012-08-09 18:23:32 +020083config PINCTRL_IMX35
84 bool "IMX35 pinctrl driver"
85 depends on OF
86 depends on SOC_IMX35
87 select PINCTRL_IMX
88 help
89 Say Y here to enable the imx35 pinctrl driver
90
Dong Aisheng4f6a16b2012-05-15 15:49:03 +080091config PINCTRL_IMX51
92 bool "IMX51 pinctrl driver"
93 depends on OF
94 depends on SOC_IMX51
95 select PINCTRL_IMX
96 help
97 Say Y here to enable the imx51 pinctrl driver
98
Dong Aisheng93fbd3c2012-05-15 15:49:02 +080099config PINCTRL_IMX53
100 bool "IMX53 pinctrl driver"
101 depends on OF
102 depends on SOC_IMX53
103 select PINCTRL_IMX
104 help
105 Say Y here to enable the imx53 pinctrl driver
106
Dong Aishengd8fe3572012-04-27 20:26:17 +0800107config PINCTRL_IMX6Q
Shawn Guo3f551d62013-03-21 21:55:41 +0800108 bool "IMX6Q/DL pinctrl driver"
Dong Aishengd8fe3572012-04-27 20:26:17 +0800109 depends on OF
110 depends on SOC_IMX6Q
111 select PINCTRL_IMX
112 help
Shawn Guo3f551d62013-03-21 21:55:41 +0800113 Say Y here to enable the imx6q/dl pinctrl driver
Dong Aishengd8fe3572012-04-27 20:26:17 +0800114
Shawn Guo21e59122013-03-21 22:10:36 +0800115config PINCTRL_IMX6SL
116 bool "IMX6SL pinctrl driver"
117 depends on OF
118 depends on SOC_IMX6SL
119 select PINCTRL_IMX
120 help
121 Say Y here to enable the imx6sl pinctrl driver
Haojian Zhuangf4e66982012-01-04 10:26:33 +0800122
Jingchang Lu78bafc62013-05-28 17:32:08 +0800123config PINCTRL_VF610
124 bool "Freescale Vybrid VF610 pinctrl driver"
125 depends on OF
126 depends on SOC_VF610
127 select PINCTRL_IMX
128 help
129 Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
130
John Crispin3f8c50c2012-08-28 12:44:59 +0200131config PINCTRL_LANTIQ
132 bool
133 depends on LANTIQ
134 select PINMUX
135 select PINCONF
136
John Crispine316cb22012-05-20 00:33:56 +0200137config PINCTRL_FALCON
138 bool
139 depends on SOC_FALCON
140 depends on PINCTRL_LANTIQ
141
Shawn Guo17723112012-04-28 13:00:50 +0800142config PINCTRL_MXS
143 bool
Axel Lin90db8a12012-11-12 10:01:56 +0800144 select PINMUX
145 select PINCONF
Shawn Guo17723112012-04-28 13:00:50 +0800146
147config PINCTRL_IMX23
148 bool
Shawn Guo17723112012-04-28 13:00:50 +0800149 select PINCTRL_MXS
150
151config PINCTRL_IMX28
152 bool
Shawn Guo17723112012-04-28 13:00:50 +0800153 select PINCTRL_MXS
154
Linus Walleije98ea772012-04-26 23:57:25 +0200155config PINCTRL_NOMADIK
156 bool "Nomadik pin controller driver"
Arnd Bergmann0fa7be42012-05-15 11:24:34 +0000157 depends on ARCH_U8500 || ARCH_NOMADIK
Linus Walleijdbfe8ca2012-05-02 22:56:47 +0200158 select PINMUX
Linus Walleijd41af622012-05-03 15:58:12 +0200159 select PINCONF
Linus Walleije98ea772012-04-26 23:57:25 +0200160
Linus Walleijf79c5ed2012-08-10 00:43:28 +0200161config PINCTRL_STN8815
162 bool "STN8815 pin controller driver"
163 depends on PINCTRL_NOMADIK && ARCH_NOMADIK
164
Linus Walleije98ea772012-04-26 23:57:25 +0200165config PINCTRL_DB8500
166 bool "DB8500 pin controller driver"
167 depends on PINCTRL_NOMADIK && ARCH_U8500
168
Patrice Chotard45a1b532012-07-20 15:45:22 +0200169config PINCTRL_DB8540
170 bool "DB8540 pin controller driver"
171 depends on PINCTRL_NOMADIK && ARCH_U8500
172
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200173config PINCTRL_ROCKCHIP
174 bool
175 select PINMUX
176 select GENERIC_PINCONF
177 select GENERIC_IRQ_CHIP
178
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700179config PINCTRL_SINGLE
180 tristate "One-register-per-pin type device tree based pinctrl driver"
181 depends on OF
182 select PINMUX
183 select PINCONF
Haojian Zhuang9dddb4d2013-02-17 19:42:55 +0800184 select GENERIC_PINCONF
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700185 help
186 This selects the device tree based generic pinctrl driver.
187
Linus Walleij3bece552011-12-18 23:44:26 +0100188config PINCTRL_SIRF
Barry Songd3e26f22012-09-27 17:56:30 +0800189 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
190 depends on ARCH_SIRF
Rongjun Ying393daa82011-10-09 03:11:13 -0700191 select PINMUX
Rongjun Ying393daa82011-10-09 03:11:13 -0700192
Maxime Ripard0e37f882013-01-18 22:30:34 +0100193config PINCTRL_SUNXI
194 bool
195 select PINMUX
196 select GENERIC_PINCONF
197
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100198config PINCTRL_ST
199 bool
200 depends on OF
201 select PINMUX
202 select PINCONF
203
Stephen Warren971dac72012-02-01 14:04:47 -0700204config PINCTRL_TEGRA
205 bool
Axel Lin507ccdb2012-11-12 10:00:22 +0800206 select PINMUX
207 select PINCONF
Stephen Warren971dac72012-02-01 14:04:47 -0700208
209config PINCTRL_TEGRA20
210 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700211 select PINCTRL_TEGRA
212
213config PINCTRL_TEGRA30
214 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700215 select PINCTRL_TEGRA
216
Pritesh Raithathab6ae7a22013-01-08 13:02:37 +0530217config PINCTRL_TEGRA114
218 bool
219 select PINCTRL_TEGRA
220
James Hogand5025f92013-06-20 10:26:27 +0100221config PINCTRL_TZ1090
222 bool "Toumaz Xenif TZ1090 pin control driver"
223 depends on SOC_TZ1090
224 select PINMUX
225 select GENERIC_PINCONF
226
James Hoganb58f0272013-06-20 10:26:29 +0100227config PINCTRL_TZ1090_PDC
228 bool "Toumaz Xenif TZ1090 PDC pin control driver"
229 depends on SOC_TZ1090
230 select PINMUX
231 select PINCONF
232
Linus Walleij3bece552011-12-18 23:44:26 +0100233config PINCTRL_U300
234 bool "U300 pin controller driver"
Linus Walleij98da3522011-05-02 20:54:38 +0200235 depends on ARCH_U300
236 select PINMUX
Linus Walleijdc0b1aa2011-11-16 21:58:10 +0100237 select GENERIC_PINCONF
Linus Walleij45f034e2011-11-05 21:28:46 +0100238
Linus Walleijca402d32011-11-16 09:22:59 +0100239config PINCTRL_COH901
240 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
Linus Walleij3c94d1b2012-06-18 20:07:50 +0200241 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
Linus Walleijca402d32011-11-16 09:22:59 +0100242 help
243 Say yes here to support GPIO interface on ST-Ericsson U300.
244 The names of the two IP block variants supported are
245 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
246 ports of 8 GPIO pins each.
247
Thomas Abraham30574f02012-09-07 06:07:19 +0900248config PINCTRL_SAMSUNG
Arnd Bergmanncbc351a2012-11-15 11:58:24 +0100249 bool
Thomas Abraham30574f02012-09-07 06:07:19 +0900250 select PINMUX
251 select PINCONF
252
Kukjin Kima1ed2672013-01-18 20:35:06 +0100253config PINCTRL_EXYNOS
Doug Anderson83978252013-06-10 18:26:53 +0900254 bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
255 depends on OF && GPIOLIB && ARCH_EXYNOS
Thomas Abraham43b169d2012-09-07 06:07:19 +0900256 select PINCTRL_SAMSUNG
257
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900258config PINCTRL_EXYNOS5440
259 bool "Samsung EXYNOS5440 SoC pinctrl driver"
Doug Anderson83978252013-06-10 18:26:53 +0900260 depends on SOC_EXYNOS5440
Thomas Abrahamf0b9a7e2012-10-10 09:41:12 +0900261 select PINMUX
262 select PINCONF
263
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530264config PINCTRL_PALMAS
265 bool "Pinctrl driver for the PALMA Series MFD devices"
266 depends on OF && MFD_PALMAS
267 select GENERIC_PINCONF
268 help
269 Palmas device supports the configuration of pins for different
270 functionality. This driver supports the pinmux, push-pull and
271 open drain configuration for the Palmas series devices like
272 TPS65913, TPS80036 etc.
273
Heiko Stuebneraf99a752013-05-21 00:56:13 +0900274config PINCTRL_S3C24XX
275 bool "Samsung S3C24XX SoC pinctrl driver"
276 depends on ARCH_S3C24XX
277 select PINCTRL_SAMSUNG
278
Tomasz Figa61dd7262013-03-18 22:31:55 +0100279config PINCTRL_S3C64XX
280 bool "Samsung S3C64XX SoC pinctrl driver"
281 depends on ARCH_S3C64XX
282 select PINCTRL_SAMSUNG
283
Thomas Petazzoni06763c72012-10-24 23:38:58 +0200284source "drivers/pinctrl/mvebu/Kconfig"
Laurent Pinchart6e54d8d2012-12-15 23:51:19 +0100285source "drivers/pinctrl/sh-pfc/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530286source "drivers/pinctrl/spear/Kconfig"
Tony Prisk170c6152013-02-20 09:32:19 +1300287source "drivers/pinctrl/vt8500/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530288
John Crispin3f8c50c2012-08-28 12:44:59 +0200289config PINCTRL_XWAY
290 bool
291 depends on SOC_TYPE_XWAY
292 depends on PINCTRL_LANTIQ
293
Linus Walleij45f034e2011-11-05 21:28:46 +0100294endmenu
Linus Walleij98da3522011-05-02 20:54:38 +0200295
Linus Walleij2744e8a2011-05-02 20:50:54 +0200296endif