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