]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/pinctrl/Kconfig
pinctrl: mcp23s08: drop OF_GPIO dependency
[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         select GPIOLIB_IRQCHIP
153         select REGMAP_I2C if I2C
154         select REGMAP_SPI if SPI_MASTER
155         select GENERIC_PINCONF
156         help
157           SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
158           I/O expanders.
159           This provides a GPIO interface supporting inputs and outputs.
160           The I2C versions of the chips can be used as interrupt-controller.
161
162 config PINCTRL_MESON
163         bool
164         depends on OF
165         select PINMUX
166         select PINCONF
167         select GENERIC_PINCONF
168         select GPIOLIB
169         select OF_GPIO
170         select REGMAP_MMIO
171
172 config PINCTRL_OXNAS
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 GPIOLIB_IRQCHIP
181         select MFD_SYSCON
182
183 config PINCTRL_ROCKCHIP
184         bool
185         select PINMUX
186         select GENERIC_PINCONF
187         select GENERIC_IRQ_CHIP
188         select MFD_SYSCON
189
190 config PINCTRL_SINGLE
191         tristate "One-register-per-pin type device tree based pinctrl driver"
192         depends on OF
193         select GENERIC_PINCTRL_GROUPS
194         select GENERIC_PINMUX_FUNCTIONS
195         select GENERIC_PINCONF
196         help
197           This selects the device tree based generic pinctrl driver.
198
199 config PINCTRL_SIRF
200         bool "CSR SiRFprimaII pin controller driver"
201         depends on ARCH_SIRF
202         select PINMUX
203         select PINCONF
204         select GENERIC_PINCONF
205         select GPIOLIB_IRQCHIP
206
207 config PINCTRL_SX150X
208         bool "Semtech SX150x I2C GPIO expander pinctrl driver"
209         depends on GPIOLIB && I2C=y
210         select PINMUX
211         select PINCONF
212         select GENERIC_PINCONF
213         select GPIOLIB_IRQCHIP
214         select REGMAP
215         help
216           Say yes here to provide support for Semtech SX150x-series I2C
217           GPIO expanders as pinctrl module.
218           Compatible models include:
219           - 8 bits:  sx1508q, sx1502q
220           - 16 bits: sx1509q, sx1506q
221
222 config PINCTRL_PISTACHIO
223         def_bool y if MACH_PISTACHIO
224         depends on GPIOLIB
225         select PINMUX
226         select GENERIC_PINCONF
227         select GPIOLIB_IRQCHIP
228         select OF_GPIO
229
230 config PINCTRL_ST
231         bool
232         depends on OF
233         select PINMUX
234         select PINCONF
235         select GPIOLIB_IRQCHIP
236
237 config PINCTRL_TZ1090
238         bool "Toumaz Xenif TZ1090 pin control driver"
239         depends on SOC_TZ1090
240         select PINMUX
241         select GENERIC_PINCONF
242
243 config PINCTRL_TZ1090_PDC
244         bool "Toumaz Xenif TZ1090 PDC pin control driver"
245         depends on SOC_TZ1090
246         select PINMUX
247         select PINCONF
248
249 config PINCTRL_U300
250         bool "U300 pin controller driver"
251         depends on ARCH_U300
252         select PINMUX
253         select GENERIC_PINCONF
254
255 config PINCTRL_COH901
256         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
257         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
258         select GPIOLIB_IRQCHIP
259         help
260           Say yes here to support GPIO interface on ST-Ericsson U300.
261           The names of the two IP block variants supported are
262           COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
263           ports of 8 GPIO pins each.
264
265 config PINCTRL_MAX77620
266         tristate "MAX77620/MAX20024 Pincontrol support"
267         depends on MFD_MAX77620 && OF
268         select PINMUX
269         select GENERIC_PINCONF
270         help
271           Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
272           This PMIC has 8 GPIO pins that work as GPIO as well as special
273           function in alternate mode. This driver also configure push-pull,
274           open drain, FPS slots etc.
275
276 config PINCTRL_PALMAS
277         tristate "Pinctrl driver for the PALMAS Series MFD devices"
278         depends on OF && MFD_PALMAS
279         select PINMUX
280         select GENERIC_PINCONF
281         help
282           Palmas device supports the configuration of pins for different
283           functionality. This driver supports the pinmux, push-pull and
284           open drain configuration for the Palmas series devices like
285           TPS65913, TPS80036 etc.
286
287 config PINCTRL_PIC32
288         bool "Microchip PIC32 pin controller driver"
289         depends on OF
290         depends on MACH_PIC32
291         select PINMUX
292         select GENERIC_PINCONF
293         select GPIOLIB_IRQCHIP
294         select OF_GPIO
295         help
296           This is the pin controller and gpio driver for Microchip PIC32
297           microcontrollers. This option is selected automatically when specific
298           machine and arch are selected to build.
299
300 config PINCTRL_PIC32MZDA
301         def_bool y if PIC32MZDA
302         select PINCTRL_PIC32
303
304 config PINCTRL_ZYNQ
305         bool "Pinctrl driver for Xilinx Zynq"
306         depends on ARCH_ZYNQ
307         select PINMUX
308         select GENERIC_PINCONF
309         help
310           This selects the pinctrl driver for Xilinx Zynq.
311
312 source "drivers/pinctrl/aspeed/Kconfig"
313 source "drivers/pinctrl/bcm/Kconfig"
314 source "drivers/pinctrl/berlin/Kconfig"
315 source "drivers/pinctrl/freescale/Kconfig"
316 source "drivers/pinctrl/intel/Kconfig"
317 source "drivers/pinctrl/mvebu/Kconfig"
318 source "drivers/pinctrl/nomadik/Kconfig"
319 source "drivers/pinctrl/pxa/Kconfig"
320 source "drivers/pinctrl/qcom/Kconfig"
321 source "drivers/pinctrl/samsung/Kconfig"
322 source "drivers/pinctrl/sh-pfc/Kconfig"
323 source "drivers/pinctrl/spear/Kconfig"
324 source "drivers/pinctrl/stm32/Kconfig"
325 source "drivers/pinctrl/sunxi/Kconfig"
326 source "drivers/pinctrl/tegra/Kconfig"
327 source "drivers/pinctrl/ti/Kconfig"
328 source "drivers/pinctrl/uniphier/Kconfig"
329 source "drivers/pinctrl/vt8500/Kconfig"
330 source "drivers/pinctrl/mediatek/Kconfig"
331
332 config PINCTRL_XWAY
333         bool
334         depends on SOC_TYPE_XWAY
335         depends on PINCTRL_LANTIQ
336
337 config PINCTRL_TB10X
338         bool
339         depends on OF && ARC_PLAT_TB10X
340         select GPIOLIB
341
342 endmenu