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