GNU Linux-libre 4.14.328-gnu1
[releases.git] / drivers / pinctrl / Kconfig
1 #
2 # PINCTRL infrastructure and drivers
3 #
4
5 config PINCTRL
6         bool
7
8 menu "Pin controllers"
9         depends on PINCTRL
10
11 config GENERIC_PINCTRL_GROUPS
12         bool
13
14 config PINMUX
15         bool "Support pin multiplexing controllers" if COMPILE_TEST
16
17 config GENERIC_PINMUX_FUNCTIONS
18         bool
19         select PINMUX
20
21 config PINCONF
22         bool "Support pin configuration controllers" if COMPILE_TEST
23
24 config GENERIC_PINCONF
25         bool
26         select PINCONF
27
28 config DEBUG_PINCTRL
29         bool "Debug PINCTRL calls"
30         depends on DEBUG_KERNEL
31         help
32           Say Y here to add some extra checks and diagnostics to PINCTRL calls.
33
34 config PINCTRL_ADI2
35         bool "ADI pin controller driver"
36         depends on (BF54x || BF60x)
37         depends on !GPIO_ADI
38         select PINMUX
39         select IRQ_DOMAIN
40         help
41           This is the pin controller and gpio driver for ADI BF54x, BF60x and
42           future processors. This option is selected automatically when specific
43           machine and arch are selected to build.
44
45 config PINCTRL_ARTPEC6
46         bool "Axis ARTPEC-6 pin controller driver"
47         depends on MACH_ARTPEC6
48         select PINMUX
49         select GENERIC_PINCONF
50         help
51           This is the driver for the Axis ARTPEC-6 pin controller. This driver
52           supports pin function multiplexing as well as pin bias and drive
53           strength configuration. Device tree integration instructions can be
54           found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
55
56 config PINCTRL_AS3722
57         tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
58         depends on MFD_AS3722 && GPIOLIB
59         select PINMUX
60         select GENERIC_PINCONF
61         help
62           AS3722 device supports the configuration of GPIO pins for different
63           functionality. This driver supports the pinmux, push-pull and
64           open drain configuration for the GPIO pins of AS3722 devices. It also
65           supports the GPIO functionality through gpiolib.
66
67 config PINCTRL_BF54x
68         def_bool y if BF54x
69         select PINCTRL_ADI2
70
71 config PINCTRL_BF60x
72         def_bool y if BF60x
73         select PINCTRL_ADI2
74
75 config PINCTRL_AT91
76         bool "AT91 pinctrl driver"
77         depends on OF
78         depends on ARCH_AT91
79         select PINMUX
80         select PINCONF
81         select GPIOLIB
82         select OF_GPIO
83         select GPIOLIB_IRQCHIP
84         help
85           Say Y here to enable the at91 pinctrl driver
86
87 config PINCTRL_AT91PIO4
88         bool "AT91 PIO4 pinctrl driver"
89         depends on OF
90         depends on ARCH_AT91
91         select PINMUX
92         select GENERIC_PINCONF
93         select GPIOLIB
94         select GPIOLIB_IRQCHIP
95         select OF_GPIO
96         help
97           Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
98           controller available on sama5d2 SoC.
99
100 config PINCTRL_AMD
101         tristate "AMD GPIO pin control"
102         depends on GPIOLIB
103         select GPIOLIB_IRQCHIP
104         select PINMUX
105         select PINCONF
106         select GENERIC_PINCONF
107         help
108           driver for memory mapped GPIO functionality on AMD platforms
109           (x86 or arm).Most pins are usually muxed to some other
110           functionality by firmware,so only a small amount is available
111           for gpio use.
112
113           Requires ACPI/FDT device enumeration code to set up a platform
114           device.
115
116 config PINCTRL_DA850_PUPD
117         tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
118         depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
119         select PINCONF
120         select GENERIC_PINCONF
121         help
122           Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
123           pullup/pulldown pin groups.
124
125 config PINCTRL_DIGICOLOR
126         bool
127         depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
128         select PINMUX
129         select GENERIC_PINCONF
130
131 config PINCTRL_LANTIQ
132         bool
133         depends on LANTIQ
134         select PINMUX
135         select PINCONF
136
137 config PINCTRL_LPC18XX
138         bool "NXP LPC18XX/43XX SCU pinctrl driver"
139         depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
140         default ARCH_LPC18XX
141         select PINMUX
142         select GENERIC_PINCONF
143         help
144           Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
145
146 config PINCTRL_FALCON
147         bool
148         depends on SOC_FALCON
149         depends on PINCTRL_LANTIQ
150
151 config PINCTRL_GEMINI
152         bool
153         depends on ARCH_GEMINI
154         default ARCH_GEMINI
155         select PINMUX
156         select MFD_SYSCON
157
158 config PINCTRL_MCP23S08
159         tristate "Microchip MCP23xxx I/O expander"
160         depends on SPI_MASTER || I2C
161         depends on I2C || I2C=n
162         select GPIOLIB_IRQCHIP
163         select REGMAP_I2C if I2C
164         select REGMAP_SPI if SPI_MASTER
165         select GENERIC_PINCONF
166         help
167           SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
168           I/O expanders.
169           This provides a GPIO interface supporting inputs and outputs.
170           The I2C versions of the chips can be used as interrupt-controller.
171
172 config PINCTRL_MESON
173         bool
174         depends on OF
175         select PINMUX
176         select PINCONF
177         select GENERIC_PINCONF
178         select GPIOLIB
179         select OF_GPIO
180         select REGMAP_MMIO
181
182 config PINCTRL_OXNAS
183         bool
184         depends on OF
185         select PINMUX
186         select PINCONF
187         select GENERIC_PINCONF
188         select GPIOLIB
189         select OF_GPIO
190         select GPIOLIB_IRQCHIP
191         select MFD_SYSCON
192
193 config PINCTRL_ROCKCHIP
194         bool
195         select PINMUX
196         select GENERIC_PINCONF
197         select GENERIC_IRQ_CHIP
198         select MFD_SYSCON
199
200 config PINCTRL_RZA1
201         bool "Renesas RZ/A1 gpio and pinctrl driver"
202         depends on OF
203         depends on ARCH_R7S72100 || COMPILE_TEST
204         select GPIOLIB
205         select GENERIC_PINCTRL_GROUPS
206         select GENERIC_PINMUX_FUNCTIONS
207         select GENERIC_PINCONF
208         help
209           This selects pinctrl driver for Renesas RZ/A1 platforms.
210
211 config PINCTRL_SINGLE
212         tristate "One-register-per-pin type device tree based pinctrl driver"
213         depends on OF
214         select GENERIC_PINCTRL_GROUPS
215         select GENERIC_PINMUX_FUNCTIONS
216         select GENERIC_PINCONF
217         help
218           This selects the device tree based generic pinctrl driver.
219
220 config PINCTRL_SIRF
221         bool "CSR SiRFprimaII pin controller driver"
222         depends on ARCH_SIRF
223         select PINMUX
224         select PINCONF
225         select GENERIC_PINCONF
226         select GPIOLIB_IRQCHIP
227
228 config PINCTRL_SX150X
229         bool "Semtech SX150x I2C GPIO expander pinctrl driver"
230         depends on GPIOLIB && I2C=y
231         select PINMUX
232         select PINCONF
233         select GENERIC_PINCONF
234         select GPIOLIB_IRQCHIP
235         select REGMAP
236         help
237           Say yes here to provide support for Semtech SX150x-series I2C
238           GPIO expanders as pinctrl module.
239           Compatible models include:
240           - 8 bits:  sx1508q, sx1502q
241           - 16 bits: sx1509q, sx1506q
242
243 config PINCTRL_PISTACHIO
244         def_bool y if MACH_PISTACHIO
245         depends on GPIOLIB
246         select PINMUX
247         select GENERIC_PINCONF
248         select GPIOLIB_IRQCHIP
249         select OF_GPIO
250
251 config PINCTRL_ST
252         bool
253         depends on OF
254         select PINMUX
255         select PINCONF
256         select GPIOLIB_IRQCHIP
257
258 config PINCTRL_TZ1090
259         bool "Toumaz Xenif TZ1090 pin control driver"
260         depends on SOC_TZ1090
261         select PINMUX
262         select GENERIC_PINCONF
263
264 config PINCTRL_TZ1090_PDC
265         bool "Toumaz Xenif TZ1090 PDC pin control driver"
266         depends on SOC_TZ1090
267         select PINMUX
268         select PINCONF
269
270 config PINCTRL_U300
271         bool "U300 pin controller driver"
272         depends on ARCH_U300
273         select PINMUX
274         select GENERIC_PINCONF
275
276 config PINCTRL_COH901
277         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
278         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
279         select GPIOLIB_IRQCHIP
280         help
281           Say yes here to support GPIO interface on ST-Ericsson U300.
282           The names of the two IP block variants supported are
283           COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
284           ports of 8 GPIO pins each.
285
286 config PINCTRL_MAX77620
287         tristate "MAX77620/MAX20024 Pincontrol support"
288         depends on MFD_MAX77620 && OF
289         select PINMUX
290         select GENERIC_PINCONF
291         help
292           Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
293           This PMIC has 8 GPIO pins that work as GPIO as well as special
294           function in alternate mode. This driver also configure push-pull,
295           open drain, FPS slots etc.
296
297 config PINCTRL_PALMAS
298         tristate "Pinctrl driver for the PALMAS Series MFD devices"
299         depends on OF && MFD_PALMAS
300         select PINMUX
301         select GENERIC_PINCONF
302         help
303           Palmas device supports the configuration of pins for different
304           functionality. This driver supports the pinmux, push-pull and
305           open drain configuration for the Palmas series devices like
306           TPS65913, TPS80036 etc.
307
308 config PINCTRL_PIC32
309         bool "Microchip PIC32 pin controller driver"
310         depends on OF
311         depends on MACH_PIC32
312         select PINMUX
313         select GENERIC_PINCONF
314         select GPIOLIB_IRQCHIP
315         select OF_GPIO
316         help
317           This is the pin controller and gpio driver for Microchip PIC32
318           microcontrollers. This option is selected automatically when specific
319           machine and arch are selected to build.
320
321 config PINCTRL_PIC32MZDA
322         def_bool y if PIC32MZDA
323         select PINCTRL_PIC32
324
325 config PINCTRL_ZYNQ
326         bool "Pinctrl driver for Xilinx Zynq"
327         depends on ARCH_ZYNQ
328         select PINMUX
329         select GENERIC_PINCONF
330         help
331           This selects the pinctrl driver for Xilinx Zynq.
332
333 config PINCTRL_INGENIC
334         bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
335         default y
336         depends on OF
337         depends on MACH_INGENIC || COMPILE_TEST
338         select GENERIC_PINCONF
339         select GENERIC_PINCTRL_GROUPS
340         select GENERIC_PINMUX_FUNCTIONS
341         select REGMAP_MMIO
342
343 config PINCTRL_RK805
344         tristate "Pinctrl and GPIO driver for RK805 PMIC"
345         depends on MFD_RK808
346         select GPIOLIB
347         select PINMUX
348         select GENERIC_PINCONF
349         help
350           This selects the pinctrl driver for RK805.
351
352 source "drivers/pinctrl/aspeed/Kconfig"
353 source "drivers/pinctrl/bcm/Kconfig"
354 source "drivers/pinctrl/berlin/Kconfig"
355 source "drivers/pinctrl/freescale/Kconfig"
356 source "drivers/pinctrl/intel/Kconfig"
357 source "drivers/pinctrl/mvebu/Kconfig"
358 source "drivers/pinctrl/nomadik/Kconfig"
359 source "drivers/pinctrl/pxa/Kconfig"
360 source "drivers/pinctrl/qcom/Kconfig"
361 source "drivers/pinctrl/samsung/Kconfig"
362 source "drivers/pinctrl/sh-pfc/Kconfig"
363 source "drivers/pinctrl/spear/Kconfig"
364 source "drivers/pinctrl/sprd/Kconfig"
365 source "drivers/pinctrl/stm32/Kconfig"
366 source "drivers/pinctrl/sunxi/Kconfig"
367 source "drivers/pinctrl/tegra/Kconfig"
368 source "drivers/pinctrl/ti/Kconfig"
369 source "drivers/pinctrl/uniphier/Kconfig"
370 source "drivers/pinctrl/vt8500/Kconfig"
371 source "drivers/pinctrl/mediatek/Kconfig"
372 source "drivers/pinctrl/zte/Kconfig"
373
374 config PINCTRL_XWAY
375         bool
376         depends on SOC_TYPE_XWAY
377         depends on PINCTRL_LANTIQ
378
379 config PINCTRL_TB10X
380         bool
381         depends on OF && ARC_PLAT_TB10X
382         select GPIOLIB
383
384 endmenu