blob: d014f22f387a71ed0d4b720d6cb52d086eb36eb3 [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
Simon Arlotte1b2dc72012-09-27 22:10:11 -060070config PINCTRL_BCM2835
71 bool
72 select PINMUX
73 select PINCONF
74
Sherman Yin7418b5c2014-04-02 15:40:37 -070075config PINCTRL_BCM281XX
76 bool "Broadcom BCM281xx pinctrl driver"
Uwe Kleine-Könige4742d52014-09-24 10:15:24 +020077 depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
Sherman Yin54b1aa52013-12-20 18:13:35 -080078 select PINMUX
79 select PINCONF
80 select GENERIC_PINCONF
81 select REGMAP_MMIO
82 help
Sherman Yin7418b5c2014-04-02 15:40:37 -070083 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
84 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
Sherman Yin54b1aa52013-12-20 18:13:35 -080085 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
86 framework. GPIO is provided by a separate GPIO driver.
87
John Crispin3f8c50c2012-08-28 12:44:59 +020088config PINCTRL_LANTIQ
89 bool
90 depends on LANTIQ
91 select PINMUX
92 select PINCONF
93
John Crispine316cb22012-05-20 00:33:56 +020094config PINCTRL_FALCON
95 bool
96 depends on SOC_FALCON
97 depends on PINCTRL_LANTIQ
98
Heiko Stübnerd3e51162013-06-10 22:16:22 +020099config PINCTRL_ROCKCHIP
100 bool
101 select PINMUX
102 select GENERIC_PINCONF
103 select GENERIC_IRQ_CHIP
Heiko Stübner751a99a2014-05-05 13:58:20 +0200104 select MFD_SYSCON
Heiko Stübnerd3e51162013-06-10 22:16:22 +0200105
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700106config PINCTRL_SINGLE
107 tristate "One-register-per-pin type device tree based pinctrl driver"
108 depends on OF
109 select PINMUX
110 select PINCONF
Haojian Zhuang9dddb4d2013-02-17 19:42:55 +0800111 select GENERIC_PINCONF
Tony Lindgren8b8b0912012-07-10 02:05:46 -0700112 help
113 This selects the device tree based generic pinctrl driver.
114
Linus Walleij3bece552011-12-18 23:44:26 +0100115config PINCTRL_SIRF
Barry Songd3e26f22012-09-27 17:56:30 +0800116 bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
117 depends on ARCH_SIRF
Rongjun Ying393daa82011-10-09 03:11:13 -0700118 select PINMUX
Linus Walleij7420d2d2014-04-15 14:43:47 +0800119 select GPIOLIB_IRQCHIP
Rongjun Ying393daa82011-10-09 03:11:13 -0700120
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100121config PINCTRL_ST
122 bool
123 depends on OF
124 select PINMUX
125 select PINCONF
Linus Walleij130cbe32014-04-08 14:45:47 +0200126 select GPIOLIB_IRQCHIP
Srinivas KANDAGATLA701016c2013-06-20 15:05:38 +0100127
Stephen Warren971dac72012-02-01 14:04:47 -0700128config PINCTRL_TEGRA
129 bool
Axel Lin507ccdb2012-11-12 10:00:22 +0800130 select PINMUX
131 select PINCONF
Stephen Warren971dac72012-02-01 14:04:47 -0700132
133config PINCTRL_TEGRA20
134 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700135 select PINCTRL_TEGRA
136
137config PINCTRL_TEGRA30
138 bool
Stephen Warren971dac72012-02-01 14:04:47 -0700139 select PINCTRL_TEGRA
140
Pritesh Raithathab6ae7a22013-01-08 13:02:37 +0530141config PINCTRL_TEGRA114
142 bool
143 select PINCTRL_TEGRA
144
Ashwini Ghuge1a16bee2013-12-10 12:40:56 +0530145config PINCTRL_TEGRA124
146 bool
147 select PINCTRL_TEGRA
148
Thierry Redingdc0a3932014-06-19 13:37:08 +0200149config PINCTRL_TEGRA_XUSB
150 def_bool y if ARCH_TEGRA
151 select GENERIC_PHY
152 select PINCONF
153 select PINMUX
154
James Hogand5025f92013-06-20 10:26:27 +0100155config PINCTRL_TZ1090
156 bool "Toumaz Xenif TZ1090 pin control driver"
157 depends on SOC_TZ1090
158 select PINMUX
159 select GENERIC_PINCONF
160
James Hoganb58f0272013-06-20 10:26:29 +0100161config PINCTRL_TZ1090_PDC
162 bool "Toumaz Xenif TZ1090 PDC pin control driver"
163 depends on SOC_TZ1090
164 select PINMUX
165 select PINCONF
166
Linus Walleij3bece552011-12-18 23:44:26 +0100167config PINCTRL_U300
168 bool "U300 pin controller driver"
Linus Walleij98da3522011-05-02 20:54:38 +0200169 depends on ARCH_U300
170 select PINMUX
Linus Walleijdc0b1aa2011-11-16 21:58:10 +0100171 select GENERIC_PINCONF
Linus Walleij45f034e2011-11-05 21:28:46 +0100172
Linus Walleijca402d32011-11-16 09:22:59 +0100173config PINCTRL_COH901
174 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
Linus Walleij3c94d1b2012-06-18 20:07:50 +0200175 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
Linus Walleij523dcce2014-03-25 13:37:17 +0100176 select GPIOLIB_IRQCHIP
Linus Walleijca402d32011-11-16 09:22:59 +0100177 help
178 Say yes here to support GPIO interface on ST-Ericsson U300.
179 The names of the two IP block variants supported are
180 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
181 ports of 8 GPIO pins each.
182
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530183config PINCTRL_PALMAS
Mark Brown736658c2013-08-19 16:07:26 +0100184 bool "Pinctrl driver for the PALMAS Series MFD devices"
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530185 depends on OF && MFD_PALMAS
Axel Lin63ca8db2013-08-22 14:30:08 +0800186 select PINMUX
Laxman Dewangan0a8d3e22013-08-06 18:42:35 +0530187 select GENERIC_PINCONF
188 help
189 Palmas device supports the configuration of pins for different
190 functionality. This driver supports the pinmux, push-pull and
191 open drain configuration for the Palmas series devices like
192 TPS65913, TPS80036 etc.
193
Antoine Tenart3de68d32014-05-19 19:36:29 +0200194source "drivers/pinctrl/berlin/Kconfig"
Linus Walleijedad3b22014-09-03 13:37:38 +0200195source "drivers/pinctrl/freescale/Kconfig"
Mika Westerberg5fae8b82014-10-24 15:16:52 +0300196source "drivers/pinctrl/intel/Kconfig"
Thomas Petazzoni06763c72012-10-24 23:38:58 +0200197source "drivers/pinctrl/mvebu/Kconfig"
Linus Walleij3a198052014-07-11 14:57:06 +0200198source "drivers/pinctrl/nomadik/Kconfig"
Linus Walleij69b78b82014-07-09 13:55:12 +0200199source "drivers/pinctrl/qcom/Kconfig"
Sachin Kamatebe629a2014-07-10 17:33:27 +0530200source "drivers/pinctrl/samsung/Kconfig"
Laurent Pinchart6e54d8d2012-12-15 23:51:19 +0100201source "drivers/pinctrl/sh-pfc/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530202source "drivers/pinctrl/spear/Kconfig"
Maxime Ripard5f910772014-04-18 18:53:02 +0200203source "drivers/pinctrl/sunxi/Kconfig"
Tony Prisk170c6152013-02-20 09:32:19 +1300204source "drivers/pinctrl/vt8500/Kconfig"
Viresh Kumardeda8282012-03-28 22:27:07 +0530205
John Crispin3f8c50c2012-08-28 12:44:59 +0200206config PINCTRL_XWAY
207 bool
208 depends on SOC_TYPE_XWAY
209 depends on PINCTRL_LANTIQ
210
Christian Ruppert5aad0db2013-10-15 15:39:38 +0200211config PINCTRL_TB10X
212 bool
213 depends on ARC_PLAT_TB10X
214
Linus Walleij45f034e2011-11-05 21:28:46 +0100215endmenu
Linus Walleij98da3522011-05-02 20:54:38 +0200216
Linus Walleij2744e8a2011-05-02 20:50:54 +0200217endif