xref: /linux/drivers/pinctrl/Kconfig (revision 5f9107774fc81eb7a33ac7a2c296523ce5fbb14a)
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"
15
16config PINCONF
17	bool "Support pin configuration controllers"
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_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
36config PINCTRL_AB8500
37	bool "AB8500 pin controller driver"
38	depends on PINCTRL_ABX500 && ARCH_U8500
39
40config PINCTRL_AB8540
41	bool "AB8540 pin controller driver"
42	depends on PINCTRL_ABX500 && ARCH_U8500
43
44config PINCTRL_AB9540
45	bool "AB9540 pin controller driver"
46	depends on PINCTRL_ABX500 && ARCH_U8500
47
48config PINCTRL_AB8505
49	bool "AB8505 pin controller driver"
50	depends on PINCTRL_ABX500 && ARCH_U8500
51
52config PINCTRL_ADI2
53	bool "ADI pin controller driver"
54	depends on BLACKFIN
55	select PINMUX
56	select IRQ_DOMAIN
57	help
58	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
59	  future processors. This option is selected automatically when specific
60	  machine and arch are selected to build.
61
62config PINCTRL_AS3722
63	bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
64	depends on MFD_AS3722 && GPIOLIB
65	select PINMUX
66	select GENERIC_PINCONF
67	help
68	  AS3722 device supports the configuration of GPIO pins for different
69	  functionality. This driver supports the pinmux, push-pull and
70	  open drain configuration for the GPIO pins of AS3722 devices. It also
71	  supports the GPIO functionality through gpiolib.
72
73config PINCTRL_BF54x
74	def_bool y if BF54x
75	select PINCTRL_ADI2
76
77config PINCTRL_BF60x
78	def_bool y if BF60x
79	select PINCTRL_ADI2
80
81config PINCTRL_AT91
82	bool "AT91 pinctrl driver"
83	depends on OF
84	depends on ARCH_AT91
85	select PINMUX
86	select PINCONF
87	select GPIOLIB
88	select OF_GPIO
89	select GPIOLIB_IRQCHIP
90	help
91	  Say Y here to enable the at91 pinctrl driver
92
93config PINCTRL_BAYTRAIL
94	bool "Intel Baytrail GPIO pin control"
95	depends on GPIOLIB && ACPI && X86
96	select IRQ_DOMAIN
97	help
98	  driver for memory mapped GPIO functionality on Intel Baytrail
99	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
100	  Most pins are usually muxed to some other functionality by firmware,
101	  so only a small amount is available for gpio use.
102
103	  Requires ACPI device enumeration code to set up a platform device.
104
105config PINCTRL_BCM2835
106	bool
107	select PINMUX
108	select PINCONF
109
110config PINCTRL_BCM281XX
111	bool "Broadcom BCM281xx pinctrl driver"
112	depends on OF
113	select PINMUX
114	select PINCONF
115	select GENERIC_PINCONF
116	select REGMAP_MMIO
117	help
118	  Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
119	  for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
120	  BCM28145, and BCM28155 SoCs.  This driver requires the pinctrl
121	  framework.  GPIO is provided by a separate GPIO driver.
122
123config PINCTRL_IMX
124	bool
125	select PINMUX
126	select PINCONF
127
128config PINCTRL_IMX1_CORE
129	bool
130	select PINMUX
131	select PINCONF
132
133config PINCTRL_IMX27
134	bool "IMX27 pinctrl driver"
135	depends on SOC_IMX27
136	select PINCTRL_IMX1_CORE
137	help
138	  Say Y here to enable the imx27 pinctrl driver
139
140
141config PINCTRL_IMX25
142        bool "IMX25 pinctrl driver"
143        depends on OF
144        depends on SOC_IMX25
145        select PINCTRL_IMX
146        help
147          Say Y here to enable the imx25 pinctrl driver
148
149config PINCTRL_IMX35
150	bool "IMX35 pinctrl driver"
151	depends on SOC_IMX35
152	select PINCTRL_IMX
153	help
154	  Say Y here to enable the imx35 pinctrl driver
155
156config PINCTRL_IMX50
157	bool "IMX50 pinctrl driver"
158	depends on SOC_IMX50
159	select PINCTRL_IMX
160	help
161	  Say Y here to enable the imx50 pinctrl driver
162
163config PINCTRL_IMX51
164	bool "IMX51 pinctrl driver"
165	depends on SOC_IMX51
166	select PINCTRL_IMX
167	help
168	  Say Y here to enable the imx51 pinctrl driver
169
170config PINCTRL_IMX53
171	bool "IMX53 pinctrl driver"
172	depends on SOC_IMX53
173	select PINCTRL_IMX
174	help
175	  Say Y here to enable the imx53 pinctrl driver
176
177config PINCTRL_IMX6Q
178	bool "IMX6Q/DL pinctrl driver"
179	depends on SOC_IMX6Q
180	select PINCTRL_IMX
181	help
182	  Say Y here to enable the imx6q/dl pinctrl driver
183
184config PINCTRL_IMX6SL
185	bool "IMX6SL pinctrl driver"
186	depends on SOC_IMX6SL
187	select PINCTRL_IMX
188	help
189	  Say Y here to enable the imx6sl pinctrl driver
190
191config PINCTRL_VF610
192	bool "Freescale Vybrid VF610 pinctrl driver"
193	depends on SOC_VF610
194	select PINCTRL_IMX
195	help
196	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
197
198config PINCTRL_LANTIQ
199	bool
200	depends on LANTIQ
201	select PINMUX
202	select PINCONF
203
204config PINCTRL_FALCON
205	bool
206	depends on SOC_FALCON
207	depends on PINCTRL_LANTIQ
208
209config PINCTRL_MXS
210	bool
211	select PINMUX
212	select PINCONF
213
214config PINCTRL_IMX23
215	bool
216	select PINCTRL_MXS
217
218config PINCTRL_IMX28
219	bool
220	select PINCTRL_MXS
221
222config PINCTRL_MSM
223	bool
224	select PINMUX
225	select PINCONF
226	select GENERIC_PINCONF
227
228config PINCTRL_APQ8064
229	tristate "Qualcomm APQ8064 pin controller driver"
230	depends on GPIOLIB && OF
231	select PINCTRL_MSM
232	help
233	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
234	  Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
235
236config PINCTRL_IPQ8064
237	tristate "Qualcomm IPQ8064 pin controller driver"
238	depends on GPIOLIB && OF
239	select PINCTRL_MSM
240	help
241	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
242	  Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
243
244config PINCTRL_MSM8X74
245	tristate "Qualcomm 8x74 pin controller driver"
246	depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
247	select PINCTRL_MSM
248	help
249	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
250	  Qualcomm TLMM block found in the Qualcomm 8974 platform.
251
252config PINCTRL_NOMADIK
253	bool "Nomadik pin controller driver"
254	depends on ARCH_U8500 || ARCH_NOMADIK
255	select PINMUX
256	select PINCONF
257	select GPIOLIB
258	select OF_GPIO
259	select GPIOLIB_IRQCHIP
260
261config PINCTRL_STN8815
262	bool "STN8815 pin controller driver"
263	depends on PINCTRL_NOMADIK && ARCH_NOMADIK
264
265config PINCTRL_DB8500
266	bool "DB8500 pin controller driver"
267	depends on PINCTRL_NOMADIK && ARCH_U8500
268
269config PINCTRL_DB8540
270	bool "DB8540 pin controller driver"
271	depends on PINCTRL_NOMADIK && ARCH_U8500
272
273config PINCTRL_ROCKCHIP
274	bool
275	select PINMUX
276	select GENERIC_PINCONF
277	select GENERIC_IRQ_CHIP
278
279config PINCTRL_SINGLE
280	tristate "One-register-per-pin type device tree based pinctrl driver"
281	depends on OF
282	select PINMUX
283	select PINCONF
284	select GENERIC_PINCONF
285	help
286	  This selects the device tree based generic pinctrl driver.
287
288config PINCTRL_SIRF
289	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
290	depends on ARCH_SIRF
291	select PINMUX
292	select GPIOLIB_IRQCHIP
293
294config PINCTRL_ST
295	bool
296	depends on OF
297	select PINMUX
298	select PINCONF
299	select GPIOLIB_IRQCHIP
300
301config PINCTRL_TEGRA
302	bool
303	select PINMUX
304	select PINCONF
305
306config PINCTRL_TEGRA20
307	bool
308	select PINCTRL_TEGRA
309
310config PINCTRL_TEGRA30
311	bool
312	select PINCTRL_TEGRA
313
314config PINCTRL_TEGRA114
315	bool
316	select PINCTRL_TEGRA
317
318config PINCTRL_TEGRA124
319	bool
320	select PINCTRL_TEGRA
321
322config PINCTRL_TZ1090
323	bool "Toumaz Xenif TZ1090 pin control driver"
324	depends on SOC_TZ1090
325	select PINMUX
326	select GENERIC_PINCONF
327
328config PINCTRL_TZ1090_PDC
329	bool "Toumaz Xenif TZ1090 PDC pin control driver"
330	depends on SOC_TZ1090
331	select PINMUX
332	select PINCONF
333
334config PINCTRL_U300
335	bool "U300 pin controller driver"
336	depends on ARCH_U300
337	select PINMUX
338	select GENERIC_PINCONF
339
340config PINCTRL_COH901
341	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
342	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
343	select GPIOLIB_IRQCHIP
344	help
345	  Say yes here to support GPIO interface on ST-Ericsson U300.
346	  The names of the two IP block variants supported are
347	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
348	  ports of 8 GPIO pins each.
349
350config PINCTRL_SAMSUNG
351	bool
352	select PINMUX
353	select PINCONF
354
355config PINCTRL_EXYNOS
356	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
357	depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
358	select PINCTRL_SAMSUNG
359
360config PINCTRL_EXYNOS5440
361	bool "Samsung EXYNOS5440 SoC pinctrl driver"
362	depends on SOC_EXYNOS5440
363	select PINMUX
364	select PINCONF
365
366config PINCTRL_PALMAS
367	bool "Pinctrl driver for the PALMAS Series MFD devices"
368	depends on OF && MFD_PALMAS
369	select PINMUX
370	select GENERIC_PINCONF
371	help
372	  Palmas device supports the configuration of pins for different
373	  functionality. This driver supports the pinmux, push-pull and
374	  open drain configuration for the Palmas series devices like
375	  TPS65913, TPS80036 etc.
376
377config PINCTRL_S3C24XX
378	bool "Samsung S3C24XX SoC pinctrl driver"
379	depends on ARCH_S3C24XX
380	select PINCTRL_SAMSUNG
381
382config PINCTRL_S3C64XX
383	bool "Samsung S3C64XX SoC pinctrl driver"
384	depends on ARCH_S3C64XX
385	select PINCTRL_SAMSUNG
386
387source "drivers/pinctrl/mvebu/Kconfig"
388source "drivers/pinctrl/sh-pfc/Kconfig"
389source "drivers/pinctrl/spear/Kconfig"
390source "drivers/pinctrl/sunxi/Kconfig"
391source "drivers/pinctrl/vt8500/Kconfig"
392
393config PINCTRL_XWAY
394	bool
395	depends on SOC_TYPE_XWAY
396	depends on PINCTRL_LANTIQ
397
398config PINCTRL_TB10X
399	bool
400	depends on ARC_PLAT_TB10X
401
402endmenu
403
404endif
405