xref: /linux/drivers/pinctrl/Kconfig (revision e16dbf6011137343f51685c1e0c5be36a68fc501)
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_IMX
108	bool
109	select PINMUX
110	select PINCONF
111
112config PINCTRL_IMX1_CORE
113	bool
114	select PINMUX
115	select PINCONF
116
117config PINCTRL_IMX27
118	bool "IMX27 pinctrl driver"
119	depends on OF
120	depends on SOC_IMX27
121	select PINCTRL_IMX1_CORE
122	help
123	  Say Y here to enable the imx27 pinctrl driver
124
125config PINCTRL_IMX35
126	bool "IMX35 pinctrl driver"
127	depends on OF
128	depends on SOC_IMX35
129	select PINCTRL_IMX
130	help
131	  Say Y here to enable the imx35 pinctrl driver
132
133config PINCTRL_IMX51
134	bool "IMX51 pinctrl driver"
135	depends on OF
136	depends on SOC_IMX51
137	select PINCTRL_IMX
138	help
139	  Say Y here to enable the imx51 pinctrl driver
140
141config PINCTRL_IMX53
142	bool "IMX53 pinctrl driver"
143	depends on OF
144	depends on SOC_IMX53
145	select PINCTRL_IMX
146	help
147	  Say Y here to enable the imx53 pinctrl driver
148
149config PINCTRL_IMX6Q
150	bool "IMX6Q/DL pinctrl driver"
151	depends on OF
152	depends on SOC_IMX6Q
153	select PINCTRL_IMX
154	help
155	  Say Y here to enable the imx6q/dl pinctrl driver
156
157config PINCTRL_IMX6SL
158	bool "IMX6SL pinctrl driver"
159	depends on OF
160	depends on SOC_IMX6SL
161	select PINCTRL_IMX
162	help
163	  Say Y here to enable the imx6sl pinctrl driver
164
165config PINCTRL_VF610
166	bool "Freescale Vybrid VF610 pinctrl driver"
167	depends on OF
168	depends on SOC_VF610
169	select PINCTRL_IMX
170	help
171	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
172
173config PINCTRL_LANTIQ
174	bool
175	depends on LANTIQ
176	select PINMUX
177	select PINCONF
178
179config PINCTRL_FALCON
180	bool
181	depends on SOC_FALCON
182	depends on PINCTRL_LANTIQ
183
184config PINCTRL_MXS
185	bool
186	select PINMUX
187	select PINCONF
188
189config PINCTRL_IMX23
190	bool
191	select PINCTRL_MXS
192
193config PINCTRL_IMX28
194	bool
195	select PINCTRL_MXS
196
197config PINCTRL_NOMADIK
198	bool "Nomadik pin controller driver"
199	depends on ARCH_U8500 || ARCH_NOMADIK
200	select PINMUX
201	select PINCONF
202
203config PINCTRL_STN8815
204	bool "STN8815 pin controller driver"
205	depends on PINCTRL_NOMADIK && ARCH_NOMADIK
206
207config PINCTRL_DB8500
208	bool "DB8500 pin controller driver"
209	depends on PINCTRL_NOMADIK && ARCH_U8500
210
211config PINCTRL_DB8540
212	bool "DB8540 pin controller driver"
213	depends on PINCTRL_NOMADIK && ARCH_U8500
214
215config PINCTRL_ROCKCHIP
216	bool
217	select PINMUX
218	select GENERIC_PINCONF
219	select GENERIC_IRQ_CHIP
220
221config PINCTRL_SINGLE
222	tristate "One-register-per-pin type device tree based pinctrl driver"
223	depends on OF
224	select PINMUX
225	select PINCONF
226	select GENERIC_PINCONF
227	help
228	  This selects the device tree based generic pinctrl driver.
229
230config PINCTRL_SIRF
231	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
232	depends on ARCH_SIRF
233	select PINMUX
234
235config PINCTRL_SUNXI
236	bool
237	select PINMUX
238	select GENERIC_PINCONF
239
240config PINCTRL_ST
241	bool
242	depends on OF
243	select PINMUX
244	select PINCONF
245
246config PINCTRL_TEGRA
247	bool
248	select PINMUX
249	select PINCONF
250
251config PINCTRL_TEGRA20
252	bool
253	select PINCTRL_TEGRA
254
255config PINCTRL_TEGRA30
256	bool
257	select PINCTRL_TEGRA
258
259config PINCTRL_TEGRA114
260	bool
261	select PINCTRL_TEGRA
262
263config PINCTRL_TZ1090
264	bool "Toumaz Xenif TZ1090 pin control driver"
265	depends on SOC_TZ1090
266	select PINMUX
267	select GENERIC_PINCONF
268
269config PINCTRL_TZ1090_PDC
270	bool "Toumaz Xenif TZ1090 PDC pin control driver"
271	depends on SOC_TZ1090
272	select PINMUX
273	select PINCONF
274
275config PINCTRL_U300
276	bool "U300 pin controller driver"
277	depends on ARCH_U300
278	select PINMUX
279	select GENERIC_PINCONF
280
281config PINCTRL_COH901
282	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
283	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
284	help
285	  Say yes here to support GPIO interface on ST-Ericsson U300.
286	  The names of the two IP block variants supported are
287	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
288	  ports of 8 GPIO pins each.
289
290config PINCTRL_SAMSUNG
291	bool
292	select PINMUX
293	select PINCONF
294
295config PINCTRL_EXYNOS
296	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
297	depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
298	select PINCTRL_SAMSUNG
299
300config PINCTRL_EXYNOS5440
301	bool "Samsung EXYNOS5440 SoC pinctrl driver"
302	depends on SOC_EXYNOS5440
303	select PINMUX
304	select PINCONF
305
306config PINCTRL_PALMAS
307	bool "Pinctrl driver for the PALMAS Series MFD devices"
308	depends on OF && MFD_PALMAS
309	select PINMUX
310	select GENERIC_PINCONF
311	help
312	  Palmas device supports the configuration of pins for different
313	  functionality. This driver supports the pinmux, push-pull and
314	  open drain configuration for the Palmas series devices like
315	  TPS65913, TPS80036 etc.
316
317config PINCTRL_S3C24XX
318	bool "Samsung S3C24XX SoC pinctrl driver"
319	depends on ARCH_S3C24XX
320	select PINCTRL_SAMSUNG
321
322config PINCTRL_S3C64XX
323	bool "Samsung S3C64XX SoC pinctrl driver"
324	depends on ARCH_S3C64XX
325	select PINCTRL_SAMSUNG
326
327source "drivers/pinctrl/mvebu/Kconfig"
328source "drivers/pinctrl/sh-pfc/Kconfig"
329source "drivers/pinctrl/spear/Kconfig"
330source "drivers/pinctrl/vt8500/Kconfig"
331
332config PINCTRL_XWAY
333	bool
334	depends on SOC_TYPE_XWAY
335	depends on PINCTRL_LANTIQ
336
337config PINCTRL_TB10X
338	bool
339	depends on ARC_PLAT_TB10X
340
341endmenu
342
343endif
344