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