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