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