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