xref: /openbmc/linux/drivers/pinctrl/Kconfig (revision 588b48ca)
1#
2# PINCTRL infrastructure and drivers
3#
4
5config PINCTRL
6	bool
7
8if PINCTRL
9
10menu "Pin controllers"
11	depends on PINCTRL
12
13config PINMUX
14	bool "Support pin multiplexing controllers" if COMPILE_TEST
15
16config PINCONF
17	bool "Support pin configuration controllers" if COMPILE_TEST
18
19config GENERIC_PINCONF
20	bool
21	select PINCONF
22
23config 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
29config PINCTRL_ADI2
30	bool "ADI pin controller driver"
31	depends on BLACKFIN
32	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
39config 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
50config 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
58config PINCTRL_AT91
59	bool "AT91 pinctrl driver"
60	depends on OF
61	depends on ARCH_AT91
62	select PINMUX
63	select PINCONF
64	select GPIOLIB
65	select OF_GPIO
66	select GPIOLIB_IRQCHIP
67	help
68	  Say Y here to enable the at91 pinctrl driver
69
70config PINCTRL_BAYTRAIL
71	bool "Intel Baytrail GPIO pin control"
72	depends on GPIOLIB && ACPI && X86
73	select GPIOLIB_IRQCHIP
74	help
75	  driver for memory mapped GPIO functionality on Intel Baytrail
76	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
77	  Most pins are usually muxed to some other functionality by firmware,
78	  so only a small amount is available for gpio use.
79
80	  Requires ACPI device enumeration code to set up a platform device.
81
82config PINCTRL_BCM2835
83	bool
84	select PINMUX
85	select PINCONF
86
87config PINCTRL_BCM281XX
88	bool "Broadcom BCM281xx pinctrl driver"
89	depends on OF
90	select PINMUX
91	select PINCONF
92	select GENERIC_PINCONF
93	select REGMAP_MMIO
94	help
95	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
96	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
97	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
98	  framework.  GPIO is provided by a separate GPIO driver.
99
100config PINCTRL_IMX
101	bool
102	select PINMUX
103	select PINCONF
104
105config PINCTRL_IMX1_CORE
106	bool
107	select PINMUX
108	select PINCONF
109
110config PINCTRL_IMX1
111	bool "IMX1 pinctrl driver"
112	depends on SOC_IMX1
113	select PINCTRL_IMX1_CORE
114	help
115	  Say Y here to enable the imx1 pinctrl driver
116
117config PINCTRL_IMX27
118	bool "IMX27 pinctrl driver"
119	depends on SOC_IMX27
120	select PINCTRL_IMX1_CORE
121	help
122	  Say Y here to enable the imx27 pinctrl driver
123
124
125config PINCTRL_IMX25
126        bool "IMX25 pinctrl driver"
127        depends on OF
128        depends on SOC_IMX25
129        select PINCTRL_IMX
130        help
131          Say Y here to enable the imx25 pinctrl driver
132
133config PINCTRL_IMX35
134	bool "IMX35 pinctrl driver"
135	depends on SOC_IMX35
136	select PINCTRL_IMX
137	help
138	  Say Y here to enable the imx35 pinctrl driver
139
140config PINCTRL_IMX50
141	bool "IMX50 pinctrl driver"
142	depends on SOC_IMX50
143	select PINCTRL_IMX
144	help
145	  Say Y here to enable the imx50 pinctrl driver
146
147config PINCTRL_IMX51
148	bool "IMX51 pinctrl driver"
149	depends on SOC_IMX51
150	select PINCTRL_IMX
151	help
152	  Say Y here to enable the imx51 pinctrl driver
153
154config PINCTRL_IMX53
155	bool "IMX53 pinctrl driver"
156	depends on SOC_IMX53
157	select PINCTRL_IMX
158	help
159	  Say Y here to enable the imx53 pinctrl driver
160
161config PINCTRL_IMX6Q
162	bool "IMX6Q/DL pinctrl driver"
163	depends on SOC_IMX6Q
164	select PINCTRL_IMX
165	help
166	  Say Y here to enable the imx6q/dl pinctrl driver
167
168config PINCTRL_IMX6SL
169	bool "IMX6SL pinctrl driver"
170	depends on SOC_IMX6SL
171	select PINCTRL_IMX
172	help
173	  Say Y here to enable the imx6sl pinctrl driver
174
175config PINCTRL_IMX6SX
176	bool "IMX6SX pinctrl driver"
177	depends on SOC_IMX6SX
178	select PINCTRL_IMX
179	help
180	  Say Y here to enable the imx6sx pinctrl driver
181
182config PINCTRL_VF610
183	bool "Freescale Vybrid VF610 pinctrl driver"
184	depends on SOC_VF610
185	select PINCTRL_IMX
186	help
187	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
188
189config PINCTRL_LANTIQ
190	bool
191	depends on LANTIQ
192	select PINMUX
193	select PINCONF
194
195config PINCTRL_FALCON
196	bool
197	depends on SOC_FALCON
198	depends on PINCTRL_LANTIQ
199
200config PINCTRL_MXS
201	bool
202	select PINMUX
203	select PINCONF
204
205config PINCTRL_IMX23
206	bool
207	select PINCTRL_MXS
208
209config PINCTRL_IMX28
210	bool
211	select PINCTRL_MXS
212
213config PINCTRL_ROCKCHIP
214	bool
215	select PINMUX
216	select GENERIC_PINCONF
217	select GENERIC_IRQ_CHIP
218	select MFD_SYSCON
219
220config PINCTRL_SINGLE
221	tristate "One-register-per-pin type device tree based pinctrl driver"
222	depends on OF
223	select PINMUX
224	select PINCONF
225	select GENERIC_PINCONF
226	help
227	  This selects the device tree based generic pinctrl driver.
228
229config PINCTRL_SIRF
230	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
231	depends on ARCH_SIRF
232	select PINMUX
233	select GPIOLIB_IRQCHIP
234
235config PINCTRL_ST
236	bool
237	depends on OF
238	select PINMUX
239	select PINCONF
240	select GPIOLIB_IRQCHIP
241
242config PINCTRL_TEGRA
243	bool
244	select PINMUX
245	select PINCONF
246
247config PINCTRL_TEGRA20
248	bool
249	select PINCTRL_TEGRA
250
251config PINCTRL_TEGRA30
252	bool
253	select PINCTRL_TEGRA
254
255config PINCTRL_TEGRA114
256	bool
257	select PINCTRL_TEGRA
258
259config PINCTRL_TEGRA124
260	bool
261	select PINCTRL_TEGRA
262
263config PINCTRL_TEGRA_XUSB
264	def_bool y if ARCH_TEGRA
265	select GENERIC_PHY
266	select PINCONF
267	select PINMUX
268
269config PINCTRL_TZ1090
270	bool "Toumaz Xenif TZ1090 pin control driver"
271	depends on SOC_TZ1090
272	select PINMUX
273	select GENERIC_PINCONF
274
275config PINCTRL_TZ1090_PDC
276	bool "Toumaz Xenif TZ1090 PDC pin control driver"
277	depends on SOC_TZ1090
278	select PINMUX
279	select PINCONF
280
281config PINCTRL_U300
282	bool "U300 pin controller driver"
283	depends on ARCH_U300
284	select PINMUX
285	select GENERIC_PINCONF
286
287config PINCTRL_COH901
288	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
289	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
290	select GPIOLIB_IRQCHIP
291	help
292	  Say yes here to support GPIO interface on ST-Ericsson U300.
293	  The names of the two IP block variants supported are
294	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
295	  ports of 8 GPIO pins each.
296
297config PINCTRL_PALMAS
298	bool "Pinctrl driver for the PALMAS Series MFD devices"
299	depends on OF && MFD_PALMAS
300	select PINMUX
301	select GENERIC_PINCONF
302	help
303	  Palmas device supports the configuration of pins for different
304	  functionality. This driver supports the pinmux, push-pull and
305	  open drain configuration for the Palmas series devices like
306	  TPS65913, TPS80036 etc.
307
308source "drivers/pinctrl/berlin/Kconfig"
309source "drivers/pinctrl/mvebu/Kconfig"
310source "drivers/pinctrl/nomadik/Kconfig"
311source "drivers/pinctrl/qcom/Kconfig"
312source "drivers/pinctrl/samsung/Kconfig"
313source "drivers/pinctrl/sh-pfc/Kconfig"
314source "drivers/pinctrl/spear/Kconfig"
315source "drivers/pinctrl/sunxi/Kconfig"
316source "drivers/pinctrl/vt8500/Kconfig"
317
318config PINCTRL_XWAY
319	bool
320	depends on SOC_TYPE_XWAY
321	depends on PINCTRL_LANTIQ
322
323config PINCTRL_TB10X
324	bool
325	depends on ARC_PLAT_TB10X
326
327endmenu
328
329endif
330