xref: /openbmc/linux/drivers/pinctrl/Kconfig (revision 5bd8e16d)
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_AT91
53	bool "AT91 pinctrl driver"
54	depends on OF
55	depends on ARCH_AT91
56	select PINMUX
57	select PINCONF
58	help
59	  Say Y here to enable the at91 pinctrl driver
60
61config PINCTRL_BAYTRAIL
62	bool "Intel Baytrail GPIO pin control"
63	depends on GPIOLIB && ACPI && X86
64	select IRQ_DOMAIN
65	help
66	  driver for memory mapped GPIO functionality on Intel Baytrail
67	  platforms. Supports 3 banks with 102, 28 and 44 gpios.
68	  Most pins are usually muxed to some other functionality by firmware,
69	  so only a small amount is available for gpio use.
70
71	  Requires ACPI device enumeration code to set up a platform device.
72
73config PINCTRL_BCM2835
74	bool
75	select PINMUX
76	select PINCONF
77
78config PINCTRL_IMX
79	bool
80	select PINMUX
81	select PINCONF
82
83config PINCTRL_IMX35
84	bool "IMX35 pinctrl driver"
85	depends on OF
86	depends on SOC_IMX35
87	select PINCTRL_IMX
88	help
89	  Say Y here to enable the imx35 pinctrl driver
90
91config PINCTRL_IMX51
92	bool "IMX51 pinctrl driver"
93	depends on OF
94	depends on SOC_IMX51
95	select PINCTRL_IMX
96	help
97	  Say Y here to enable the imx51 pinctrl driver
98
99config PINCTRL_IMX53
100	bool "IMX53 pinctrl driver"
101	depends on OF
102	depends on SOC_IMX53
103	select PINCTRL_IMX
104	help
105	  Say Y here to enable the imx53 pinctrl driver
106
107config PINCTRL_IMX6Q
108	bool "IMX6Q/DL pinctrl driver"
109	depends on OF
110	depends on SOC_IMX6Q
111	select PINCTRL_IMX
112	help
113	  Say Y here to enable the imx6q/dl pinctrl driver
114
115config PINCTRL_IMX6SL
116	bool "IMX6SL pinctrl driver"
117	depends on OF
118	depends on SOC_IMX6SL
119	select PINCTRL_IMX
120	help
121	  Say Y here to enable the imx6sl pinctrl driver
122
123config PINCTRL_VF610
124	bool "Freescale Vybrid VF610 pinctrl driver"
125	depends on OF
126	depends on SOC_VF610
127	select PINCTRL_IMX
128	help
129	  Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
130
131config PINCTRL_LANTIQ
132	bool
133	depends on LANTIQ
134	select PINMUX
135	select PINCONF
136
137config PINCTRL_FALCON
138	bool
139	depends on SOC_FALCON
140	depends on PINCTRL_LANTIQ
141
142config PINCTRL_MXS
143	bool
144	select PINMUX
145	select PINCONF
146
147config PINCTRL_IMX23
148	bool
149	select PINCTRL_MXS
150
151config PINCTRL_IMX28
152	bool
153	select PINCTRL_MXS
154
155config PINCTRL_NOMADIK
156	bool "Nomadik pin controller driver"
157	depends on ARCH_U8500 || ARCH_NOMADIK
158	select PINMUX
159	select PINCONF
160
161config PINCTRL_STN8815
162	bool "STN8815 pin controller driver"
163	depends on PINCTRL_NOMADIK && ARCH_NOMADIK
164
165config PINCTRL_DB8500
166	bool "DB8500 pin controller driver"
167	depends on PINCTRL_NOMADIK && ARCH_U8500
168
169config PINCTRL_DB8540
170	bool "DB8540 pin controller driver"
171	depends on PINCTRL_NOMADIK && ARCH_U8500
172
173config PINCTRL_ROCKCHIP
174	bool
175	select PINMUX
176	select GENERIC_PINCONF
177	select GENERIC_IRQ_CHIP
178
179config PINCTRL_SINGLE
180	tristate "One-register-per-pin type device tree based pinctrl driver"
181	depends on OF
182	select PINMUX
183	select PINCONF
184	select GENERIC_PINCONF
185	help
186	  This selects the device tree based generic pinctrl driver.
187
188config PINCTRL_SIRF
189	bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
190	depends on ARCH_SIRF
191	select PINMUX
192
193config PINCTRL_SUNXI
194	bool
195	select PINMUX
196	select GENERIC_PINCONF
197
198config PINCTRL_ST
199	bool
200	depends on OF
201	select PINMUX
202	select PINCONF
203
204config PINCTRL_TEGRA
205	bool
206	select PINMUX
207	select PINCONF
208
209config PINCTRL_TEGRA20
210	bool
211	select PINCTRL_TEGRA
212
213config PINCTRL_TEGRA30
214	bool
215	select PINCTRL_TEGRA
216
217config PINCTRL_TEGRA114
218	bool
219	select PINCTRL_TEGRA
220
221config PINCTRL_TZ1090
222	bool "Toumaz Xenif TZ1090 pin control driver"
223	depends on SOC_TZ1090
224	select PINMUX
225	select GENERIC_PINCONF
226
227config PINCTRL_TZ1090_PDC
228	bool "Toumaz Xenif TZ1090 PDC pin control driver"
229	depends on SOC_TZ1090
230	select PINMUX
231	select PINCONF
232
233config PINCTRL_U300
234	bool "U300 pin controller driver"
235	depends on ARCH_U300
236	select PINMUX
237	select GENERIC_PINCONF
238
239config PINCTRL_COH901
240	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
241	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
242	help
243	  Say yes here to support GPIO interface on ST-Ericsson U300.
244	  The names of the two IP block variants supported are
245	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
246	  ports of 8 GPIO pins each.
247
248config PINCTRL_SAMSUNG
249	bool
250	select PINMUX
251	select PINCONF
252
253config PINCTRL_EXYNOS
254	bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
255	depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
256	select PINCTRL_SAMSUNG
257
258config PINCTRL_EXYNOS5440
259	bool "Samsung EXYNOS5440 SoC pinctrl driver"
260	depends on SOC_EXYNOS5440
261	select PINMUX
262	select PINCONF
263
264config PINCTRL_PALMAS
265	bool "Pinctrl driver for the PALMAS Series MFD devices"
266	depends on OF && MFD_PALMAS
267	select PINMUX
268	select GENERIC_PINCONF
269	help
270	  Palmas device supports the configuration of pins for different
271	  functionality. This driver supports the pinmux, push-pull and
272	  open drain configuration for the Palmas series devices like
273	  TPS65913, TPS80036 etc.
274
275config PINCTRL_S3C24XX
276	bool "Samsung S3C24XX SoC pinctrl driver"
277	depends on ARCH_S3C24XX
278	select PINCTRL_SAMSUNG
279
280config PINCTRL_S3C64XX
281	bool "Samsung S3C64XX SoC pinctrl driver"
282	depends on ARCH_S3C64XX
283	select PINCTRL_SAMSUNG
284
285source "drivers/pinctrl/mvebu/Kconfig"
286source "drivers/pinctrl/sh-pfc/Kconfig"
287source "drivers/pinctrl/spear/Kconfig"
288source "drivers/pinctrl/vt8500/Kconfig"
289
290config PINCTRL_XWAY
291	bool
292	depends on SOC_TYPE_XWAY
293	depends on PINCTRL_LANTIQ
294
295endmenu
296
297endif
298