blob: b422e4ed73f4266f7a8d13db4ec1096395163fc3 [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
Uwe Kleine-König244e95a2014-06-03 10:02:36 +020014 bool "Support pin multiplexing controllers" if COMPILE_TEST
Linus Walleijae6b4d82011-10-19 18:14:33 +020015
16config PINCONF
Uwe Kleine-König244e95a2014-06-03 10:02:36 +020017 bool "Support pin configuration controllers" if COMPILE_TEST
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
Sonic Zhange9a03ad2013-09-03 16:28:59 +080029config PINCTRL_ADI2
30 bool "ADI pin controller driver"
Sonic Zhang9d7278d2013-09-23 11:57:00 +080031 depends on BLACKFIN
Sonic Zhange9a03ad2013-09-03 16:28:59 +080032 select PINMUX
33 select IRQ_DOMAIN
34 help
35 This is the pin controller and gpio driver for ADI BF54x, BF60x and
36 future processors. This option is selected automatically when specific
37 machine and arch are selected to build.
38
Laxman Dewanganc8ce8782013-10-02 21:20:29 +053039config PINCTRL_AS3722
40 bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
41 depends on MFD_AS3722 && GPIOLIB
42 select PINMUX
43 select GENERIC_PINCONF
44 help
45 AS3722 device supports the configuration of GPIO pins for different
46 functionality. This driver supports the pinmux, push-pull and
47 open drain configuration for the GPIO pins of AS3722 devices. It also
48 supports the GPIO functionality through gpiolib.
49
Sonic Zhange9a03ad2013-09-03 16:28:59 +080050config PINCTRL_BF54x
51 def_bool y if BF54x
52 select PINCTRL_ADI2
53
54config PINCTRL_BF60x
55 def_bool y if BF60x
56 select PINCTRL_ADI2
57
Jean-Christophe PLAGNIOL-VILLARD6732ae52012-07-12 23:35:02 +080058config PINCTRL_AT91
59 bool "AT91 pinctrl driver"
60 depends on OF
61 depends on ARCH_AT91
62 select PINMUX
63 select PINCONF
Alexander Stein80cc3732014-04-15 22:09:41 +020064 select GPIOLIB
65 select OF_GPIO
66 select GPIOLIB_IRQCHIP
Jean-Christophe PLAGNIOL-VILLARD6732ae52012-07-12 23:35:02 +080067 help
68 Say Y here to enable the at91 pinctrl driver
69
Ludovic Desroches77618082015-09-16 17:36:57 +020070config PINCTRL_AT91PIO4
71 bool "AT91 PIO4 pinctrl driver"
72 depends on OF
73 depends on ARCH_AT91
74 select PINMUX
75 select GENERIC_PINCONF
76 select GPIOLIB
77 select GPIOLIB_IRQCHIP
78 select OF_GPIO
79 help
80 Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
81 controller available on sama5d2 SoC.
82
Ken Xuedbad75d2015-03-10 15:02:19 +080083config PINCTRL_AMD
84 bool "AMD GPIO pin control"
85 depends on GPIOLIB
86 select GPIOLIB_IRQCHIP
87 select PINCONF
88 select GENERIC_PINCONF
89 help
90 driver for memory mapped GPIO functionality on AMD platforms
91 (x86 or arm).Most pins are usually muxed to some other
92 functionality by firmware,so only a small amount is available
93 for gpio use.
94
95 Requires ACPI/FDT device enumeration code to set up a platform
96 device.
97
Baruch Siach38b0e502015-05-05 13:55:10 +030098config PINCTRL_DIGICOLOR
99 bool
100 depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
101 select PINMUX
102 select GENERIC_PINCONF
103
John Crispin3f8c50c2012-08-28 12:44:59 +0200104config PINCTRL_LANTIQ
105 bool
106 depends on LANTIQ
107 select PINMUX
108 select PINCONF
109
Joachim Eastwood2f77ac92015-04-28 00:14:08 +0200110config PINCTRL_LPC18XX
111 bool "NXP LPC18XX/43XX SCU pinctrl driver"
112 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
113 default ARCH_LPC18XX
114 select PINMUX
115 select GENERIC_PINCONF
116 help
117 Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
118
John Crispine316cb22012-05-20 00:33:56 +0200119config PINCTRL_FALCON
120 bool
121 depends on SOC_FALCON
122 depends on PINCTRL_LANTIQ
123
Beniamino Galvani6ac73092015-01-17 19:15:14 +0100124config PINCTRL_MESON
125 bool
Linus Walleijb99e6fb2015-04-15 10:00:35 +0200126 depends on OF
Beniamino Galvani6ac73092015-01-17 19:15:14 +0100127 select PINMUX
128 select PINCONF
129 select GENERIC_PINCONF
Linus Walleijb99e6fb2015-04-15 10:00:35 +0200130 select GPIOLIB
Beniamino Galvani6ac73092015-01-17 19:15:14 +0100131 select OF_GPIO
132 select REGMAP_MMIO
133
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200134config PINCTRL_ROCKCHIP
135 bool
136 select PINMUX
137 select GENERIC_PINCONF
138 select GENERIC_IRQ_CHIP
Heiko Stübner751a99a2014-05-05 13:58:20 +0200139 select MFD_SYSCON
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200140
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700141config PINCTRL_SINGLE
142 tristate "One-register-per-pin type device tree based pinctrl driver"
143 depends on OF
144 select PINMUX
145 select PINCONF
Haojian Zhuang9dddb4d2013-02-17 19:42:55 +0800146 select GENERIC_PINCONF
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700147 help
148 This selects the device tree based generic pinctrl driver.
149
Linus Walleij3bece552011-12-18 23:44:26 +0100150config PINCTRL_SIRF
Barry Songa17272a2015-01-11 21:56:41 +0800151 bool "CSR SiRFprimaII pin controller driver"
Barry Songd3e26f22012-09-27 17:56:30 +0800152 depends on ARCH_SIRF
Rongjun Ying393daa82011-10-09 03:11:13 -0700153 select PINMUX
Wei Chenf9367792015-05-18 07:28:32 +0000154 select PINCONF
155 select GENERIC_PINCONF
Linus Walleij7420d2d2014-04-15 14:43:47 +0800156 select GPIOLIB_IRQCHIP
Rongjun Ying393daa82011-10-09 03:11:13 -0700157
Andrew Brestickercefc03e2015-05-06 12:59:03 -0700158config PINCTRL_PISTACHIO
159 def_bool y if MACH_PISTACHIO
160 depends on GPIOLIB
161 select PINMUX
162 select GENERIC_PINCONF
163 select GPIOLIB_IRQCHIP
164 select OF_GPIO
165
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100166config PINCTRL_ST
167 bool
168 depends on OF
169 select PINMUX
170 select PINCONF
Linus Walleij130cbe32014-04-08 14:45:47 +0200171 select GPIOLIB_IRQCHIP
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100172
Stephen Warren971dac72012-02-01 14:04:47 -0700173config PINCTRL_TEGRA
174 bool
Axel Lin507ccdb2012-11-12 10:00:22 +0800175 select PINMUX
176 select PINCONF
Stephen Warren971dac72012-02-01 14:04:47 -0700177
178config PINCTRL_TEGRA20
179 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700180 select PINCTRL_TEGRA
181
182config PINCTRL_TEGRA30
183 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700184 select PINCTRL_TEGRA
185
Pritesh Raithathab6ae7a22013-01-08 13:02:37 +0530186config PINCTRL_TEGRA114
187 bool
188 select PINCTRL_TEGRA
189
Ashwini Ghuge1a16bee2013-12-10 12:40:56 +0530190config PINCTRL_TEGRA124
191 bool
192 select PINCTRL_TEGRA
193
Stephen Warren9184f752015-02-24 14:00:51 -0700194config PINCTRL_TEGRA210
195 bool
196 select PINCTRL_TEGRA
197
Thierry Redingdc0a3932014-06-19 13:37:08 +0200198config PINCTRL_TEGRA_XUSB
199 def_bool y if ARCH_TEGRA
200 select GENERIC_PHY
201 select PINCONF
202 select PINMUX
203
James Hogand5025f92013-06-20 10:26:27 +0100204config PINCTRL_TZ1090
205 bool "Toumaz Xenif TZ1090 pin control driver"
206 depends on SOC_TZ1090
207 select PINMUX
208 select GENERIC_PINCONF
209
James Hoganb58f0272013-06-20 10:26:29 +0100210config PINCTRL_TZ1090_PDC
211 bool "Toumaz Xenif TZ1090 PDC pin control driver"
212 depends on SOC_TZ1090
213 select PINMUX
214 select PINCONF
215
Linus Walleij3bece552011-12-18 23:44:26 +0100216config PINCTRL_U300
217 bool "U300 pin controller driver"
Linus Walleij98da3522011-05-02 20:54:38 +0200218 depends on ARCH_U300
219 select PINMUX
Linus Walleijdc0b1aa2011-11-16 21:58:10 +0100220 select GENERIC_PINCONF
Linus Walleij45f034e2011-11-05 21:28:46 +0100221
Linus Walleijca402d32011-11-16 09:22:59 +0100222config PINCTRL_COH901
223 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
Linus Walleij3c94d1b2012-06-18 20:07:50 +0200224 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
Linus Walleij523dcce2014-03-25 13:37:17 +0100225 select GPIOLIB_IRQCHIP
Linus Walleijca402d32011-11-16 09:22:59 +0100226 help
227 Say yes here to support GPIO interface on ST-Ericsson U300.
228 The names of the two IP block variants supported are
229 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
230 ports of 8 GPIO pins each.
231
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530232config PINCTRL_PALMAS
Mark Brown736658c2013-08-19 16:07:26 +0100233 bool "Pinctrl driver for the PALMAS Series MFD devices"
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530234 depends on OF && MFD_PALMAS
Axel Lin63ca8db2013-08-22 14:30:08 +0800235 select PINMUX
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530236 select GENERIC_PINCONF
237 help
238 Palmas device supports the configuration of pins for different
239 functionality. This driver supports the pinmux, push-pull and
240 open drain configuration for the Palmas series devices like
241 TPS65913, TPS80036 etc.
242
Soren Brinkmannadd958c2015-01-09 07:43:48 -0800243config PINCTRL_ZYNQ
244 bool "Pinctrl driver for Xilinx Zynq"
245 depends on ARCH_ZYNQ
246 select PINMUX
247 select GENERIC_PINCONF
248 help
249 This selectes the pinctrl driver for Xilinx Zynq.
250
Ray Juib17f2f92015-03-04 16:35:49 -0800251source "drivers/pinctrl/bcm/Kconfig"
Antoine Tenart3de68d32014-05-19 19:36:29 +0200252source "drivers/pinctrl/berlin/Kconfig"
Linus Walleijedad3b22014-09-03 13:37:38 +0200253source "drivers/pinctrl/freescale/Kconfig"
Mika Westerberg5fae8b82014-10-24 15:16:52 +0300254source "drivers/pinctrl/intel/Kconfig"
Thomas Petazzoni06763c72012-10-24 23:38:58 +0200255source "drivers/pinctrl/mvebu/Kconfig"
Linus Walleij3a198052014-07-11 14:57:06 +0200256source "drivers/pinctrl/nomadik/Kconfig"
Linus Walleij69b78b82014-07-09 13:55:12 +0200257source "drivers/pinctrl/qcom/Kconfig"
Sachin Kamatebe629a2014-07-10 17:33:27 +0530258source "drivers/pinctrl/samsung/Kconfig"
Laurent Pinchart6e54d8d2012-12-15 23:51:19 +0100259source "drivers/pinctrl/sh-pfc/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530260source "drivers/pinctrl/spear/Kconfig"
Maxime Ripard5f910772014-04-18 18:53:02 +0200261source "drivers/pinctrl/sunxi/Kconfig"
Masahiro Yamada6e908892015-07-14 11:40:01 +0900262source "drivers/pinctrl/uniphier/Kconfig"
Tony Prisk170c6152013-02-20 09:32:19 +1300263source "drivers/pinctrl/vt8500/Kconfig"
Hongzhou Yanga6df4102015-01-21 13:28:15 +0800264source "drivers/pinctrl/mediatek/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530265
John Crispin3f8c50c2012-08-28 12:44:59 +0200266config PINCTRL_XWAY
267 bool
268 depends on SOC_TYPE_XWAY
269 depends on PINCTRL_LANTIQ
270
Christian Ruppert5aad0db2013-10-15 15:39:38 +0200271config PINCTRL_TB10X
272 bool
Linus Walleijb99e6fb2015-04-15 10:00:35 +0200273 depends on OF && ARC_PLAT_TB10X
274 select GPIOLIB
Christian Ruppert5aad0db2013-10-15 15:39:38 +0200275
Linus Walleij45f034e2011-11-05 21:28:46 +0100276endmenu
Linus Walleij98da3522011-05-02 20:54:38 +0200277
Linus Walleij2744e8a2011-05-02 20:50:54 +0200278endif