xref: /openbmc/linux/drivers/pinctrl/Kconfig (revision 84d517f3)
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_IMX6SX
192	bool "IMX6SX pinctrl driver"
193	depends on SOC_IMX6SX
194	select PINCTRL_IMX
195	help
196	  Say Y here to enable the imx6sx pinctrl driver
197
198config PINCTRL_VF610
199	bool "Freescale Vybrid VF610 pinctrl driver"
200	depends on SOC_VF610
201	select PINCTRL_IMX
202	help
203	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
204
205config PINCTRL_LANTIQ
206	bool
207	depends on LANTIQ
208	select PINMUX
209	select PINCONF
210
211config PINCTRL_FALCON
212	bool
213	depends on SOC_FALCON
214	depends on PINCTRL_LANTIQ
215
216config PINCTRL_MXS
217	bool
218	select PINMUX
219	select PINCONF
220
221config PINCTRL_IMX23
222	bool
223	select PINCTRL_MXS
224
225config PINCTRL_IMX28
226	bool
227	select PINCTRL_MXS
228
229config PINCTRL_MSM
230	bool
231	select PINMUX
232	select PINCONF
233	select GENERIC_PINCONF
234	select GPIOLIB_IRQCHIP
235
236config PINCTRL_APQ8064
237	tristate "Qualcomm APQ8064 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 APQ8064 platform.
243
244config PINCTRL_IPQ8064
245	tristate "Qualcomm IPQ8064 pin controller driver"
246	depends on GPIOLIB && OF
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 IPQ8064 platform.
251
252config PINCTRL_MSM8X74
253	tristate "Qualcomm 8x74 pin controller driver"
254	depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
255	select PINCTRL_MSM
256	help
257	  This is the pinctrl, pinmux, pinconf and gpiolib driver for the
258	  Qualcomm TLMM block found in the Qualcomm 8974 platform.
259
260config PINCTRL_NOMADIK
261	bool "Nomadik pin controller driver"
262	depends on ARCH_U8500 || ARCH_NOMADIK
263	select PINMUX
264	select PINCONF
265	select GPIOLIB
266	select OF_GPIO
267	select GPIOLIB_IRQCHIP
268
269config PINCTRL_STN8815
270	bool "STN8815 pin controller driver"
271	depends on PINCTRL_NOMADIK && ARCH_NOMADIK
272
273config PINCTRL_DB8500
274	bool "DB8500 pin controller driver"
275	depends on PINCTRL_NOMADIK && ARCH_U8500
276
277config PINCTRL_DB8540
278	bool "DB8540 pin controller driver"
279	depends on PINCTRL_NOMADIK && ARCH_U8500
280
281config PINCTRL_ROCKCHIP
282	bool
283	select PINMUX
284	select GENERIC_PINCONF
285	select GENERIC_IRQ_CHIP
286	select MFD_SYSCON
287
288config PINCTRL_SINGLE
289	tristate "One-register-per-pin type device tree based pinctrl driver"
290	depends on OF
291	select PINMUX
292	select PINCONF
293	select GENERIC_PINCONF
294	help
295	  This selects the device tree based generic pinctrl driver.
296
297config PINCTRL_SIRF
298	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
299	depends on ARCH_SIRF
300	select PINMUX
301	select GPIOLIB_IRQCHIP
302
303config PINCTRL_ST
304	bool
305	depends on OF
306	select PINMUX
307	select PINCONF
308	select GPIOLIB_IRQCHIP
309
310config PINCTRL_TEGRA
311	bool
312	select PINMUX
313	select PINCONF
314
315config PINCTRL_TEGRA20
316	bool
317	select PINCTRL_TEGRA
318
319config PINCTRL_TEGRA30
320	bool
321	select PINCTRL_TEGRA
322
323config PINCTRL_TEGRA114
324	bool
325	select PINCTRL_TEGRA
326
327config PINCTRL_TEGRA124
328	bool
329	select PINCTRL_TEGRA
330
331config PINCTRL_TZ1090
332	bool "Toumaz Xenif TZ1090 pin control driver"
333	depends on SOC_TZ1090
334	select PINMUX
335	select GENERIC_PINCONF
336
337config PINCTRL_TZ1090_PDC
338	bool "Toumaz Xenif TZ1090 PDC pin control driver"
339	depends on SOC_TZ1090
340	select PINMUX
341	select PINCONF
342
343config PINCTRL_U300
344	bool "U300 pin controller driver"
345	depends on ARCH_U300
346	select PINMUX
347	select GENERIC_PINCONF
348
349config PINCTRL_COH901
350	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
351	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
352	select GPIOLIB_IRQCHIP
353	help
354	  Say yes here to support GPIO interface on ST-Ericsson U300.
355	  The names of the two IP block variants supported are
356	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
357	  ports of 8 GPIO pins each.
358
359config PINCTRL_SAMSUNG
360	bool
361	select PINMUX
362	select PINCONF
363
364config PINCTRL_EXYNOS
365	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
366	depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
367	select PINCTRL_SAMSUNG
368
369config PINCTRL_EXYNOS5440
370	bool "Samsung EXYNOS5440 SoC pinctrl driver"
371	depends on SOC_EXYNOS5440
372	select PINMUX
373	select PINCONF
374
375config PINCTRL_PALMAS
376	bool "Pinctrl driver for the PALMAS Series MFD devices"
377	depends on OF && MFD_PALMAS
378	select PINMUX
379	select GENERIC_PINCONF
380	help
381	  Palmas device supports the configuration of pins for different
382	  functionality. This driver supports the pinmux, push-pull and
383	  open drain configuration for the Palmas series devices like
384	  TPS65913, TPS80036 etc.
385
386config PINCTRL_S3C24XX
387	bool "Samsung S3C24XX SoC pinctrl driver"
388	depends on ARCH_S3C24XX
389	select PINCTRL_SAMSUNG
390
391config PINCTRL_S3C64XX
392	bool "Samsung S3C64XX SoC pinctrl driver"
393	depends on ARCH_S3C64XX
394	select PINCTRL_SAMSUNG
395
396source "drivers/pinctrl/berlin/Kconfig"
397source "drivers/pinctrl/mvebu/Kconfig"
398source "drivers/pinctrl/sh-pfc/Kconfig"
399source "drivers/pinctrl/spear/Kconfig"
400source "drivers/pinctrl/sunxi/Kconfig"
401source "drivers/pinctrl/vt8500/Kconfig"
402
403config PINCTRL_XWAY
404	bool
405	depends on SOC_TYPE_XWAY
406	depends on PINCTRL_LANTIQ
407
408config PINCTRL_TB10X
409	bool
410	depends on ARC_PLAT_TB10X
411
412endmenu
413
414endif
415