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