Merge tag 'v3.12-rc4' into devel
[firefly-linux-kernel-4.4.55.git] / drivers / pinctrl / Kconfig
1 #
2 # PINCTRL infrastructure and drivers
3 #
4
5 config PINCTRL
6         bool
7
8 if PINCTRL
9
10 menu "Pin controllers"
11         depends on PINCTRL
12
13 config PINMUX
14         bool "Support pin multiplexing controllers"
15
16 config PINCONF
17         bool "Support pin configuration controllers"
18
19 config GENERIC_PINCONF
20         bool
21         select PINCONF
22
23 config DEBUG_PINCTRL
24         bool "Debug PINCTRL calls"
25         depends on DEBUG_KERNEL
26         help
27           Say Y here to add some extra checks and diagnostics to PINCTRL calls.
28
29 config PINCTRL_ABX500
30         bool "ST-Ericsson ABx500 family Mixed Signal Circuit gpio functions"
31         depends on AB8500_CORE
32         select GENERIC_PINCONF
33         help
34           Select this to enable the ABx500 family IC GPIO driver
35
36 config PINCTRL_AB8500
37         bool "AB8500 pin controller driver"
38         depends on PINCTRL_ABX500 && ARCH_U8500
39
40 config PINCTRL_AB8540
41         bool "AB8540 pin controller driver"
42         depends on PINCTRL_ABX500 && ARCH_U8500
43
44 config PINCTRL_AB9540
45         bool "AB9540 pin controller driver"
46         depends on PINCTRL_ABX500 && ARCH_U8500
47
48 config PINCTRL_AB8505
49         bool "AB8505 pin controller driver"
50         depends on PINCTRL_ABX500 && ARCH_U8500
51
52 config PINCTRL_ADI2
53         bool "ADI pin controller driver"
54         depends on BLACKFIN
55         select PINMUX
56         select IRQ_DOMAIN
57         help
58           This is the pin controller and gpio driver for ADI BF54x, BF60x and
59           future processors. This option is selected automatically when specific
60           machine and arch are selected to build.
61
62 config PINCTRL_BF54x
63         def_bool y if BF54x
64         select PINCTRL_ADI2
65
66 config PINCTRL_BF60x
67         def_bool y if BF60x
68         select PINCTRL_ADI2
69
70 config PINCTRL_AT91
71         bool "AT91 pinctrl driver"
72         depends on OF
73         depends on ARCH_AT91
74         select PINMUX
75         select PINCONF
76         help
77           Say Y here to enable the at91 pinctrl driver
78
79 config PINCTRL_BAYTRAIL
80         bool "Intel Baytrail GPIO pin control"
81         depends on GPIOLIB && ACPI && X86
82         select IRQ_DOMAIN
83         help
84           driver for memory mapped GPIO functionality on Intel Baytrail
85           platforms. Supports 3 banks with 102, 28 and 44 gpios.
86           Most pins are usually muxed to some other functionality by firmware,
87           so only a small amount is available for gpio use.
88
89           Requires ACPI device enumeration code to set up a platform device.
90
91 config PINCTRL_BCM2835
92         bool
93         select PINMUX
94         select PINCONF
95
96 config PINCTRL_IMX
97         bool
98         select PINMUX
99         select PINCONF
100
101 config PINCTRL_IMX35
102         bool "IMX35 pinctrl driver"
103         depends on OF
104         depends on SOC_IMX35
105         select PINCTRL_IMX
106         help
107           Say Y here to enable the imx35 pinctrl driver
108
109 config PINCTRL_IMX51
110         bool "IMX51 pinctrl driver"
111         depends on OF
112         depends on SOC_IMX51
113         select PINCTRL_IMX
114         help
115           Say Y here to enable the imx51 pinctrl driver
116
117 config PINCTRL_IMX53
118         bool "IMX53 pinctrl driver"
119         depends on OF
120         depends on SOC_IMX53
121         select PINCTRL_IMX
122         help
123           Say Y here to enable the imx53 pinctrl driver
124
125 config PINCTRL_IMX6Q
126         bool "IMX6Q/DL pinctrl driver"
127         depends on OF
128         depends on SOC_IMX6Q
129         select PINCTRL_IMX
130         help
131           Say Y here to enable the imx6q/dl pinctrl driver
132
133 config PINCTRL_IMX6SL
134         bool "IMX6SL pinctrl driver"
135         depends on OF
136         depends on SOC_IMX6SL
137         select PINCTRL_IMX
138         help
139           Say Y here to enable the imx6sl pinctrl driver
140
141 config PINCTRL_VF610
142         bool "Freescale Vybrid VF610 pinctrl driver"
143         depends on OF
144         depends on SOC_VF610
145         select PINCTRL_IMX
146         help
147           Say Y here to enable the Freescale Vybrid VF610 pinctrl driver
148
149 config PINCTRL_LANTIQ
150         bool
151         depends on LANTIQ
152         select PINMUX
153         select PINCONF
154
155 config PINCTRL_FALCON
156         bool
157         depends on SOC_FALCON
158         depends on PINCTRL_LANTIQ
159
160 config PINCTRL_MXS
161         bool
162         select PINMUX
163         select PINCONF
164
165 config PINCTRL_IMX23
166         bool
167         select PINCTRL_MXS
168
169 config PINCTRL_IMX28
170         bool
171         select PINCTRL_MXS
172
173 config PINCTRL_NOMADIK
174         bool "Nomadik pin controller driver"
175         depends on ARCH_U8500 || ARCH_NOMADIK
176         select PINMUX
177         select PINCONF
178
179 config PINCTRL_STN8815
180         bool "STN8815 pin controller driver"
181         depends on PINCTRL_NOMADIK && ARCH_NOMADIK
182
183 config PINCTRL_DB8500
184         bool "DB8500 pin controller driver"
185         depends on PINCTRL_NOMADIK && ARCH_U8500
186
187 config PINCTRL_DB8540
188         bool "DB8540 pin controller driver"
189         depends on PINCTRL_NOMADIK && ARCH_U8500
190
191 config PINCTRL_ROCKCHIP
192         bool
193         select PINMUX
194         select GENERIC_PINCONF
195         select GENERIC_IRQ_CHIP
196
197 config PINCTRL_SINGLE
198         tristate "One-register-per-pin type device tree based pinctrl driver"
199         depends on OF
200         select PINMUX
201         select PINCONF
202         select GENERIC_PINCONF
203         help
204           This selects the device tree based generic pinctrl driver.
205
206 config PINCTRL_SIRF
207         bool "CSR SiRFprimaII/SiRFmarco pin controller driver"
208         depends on ARCH_SIRF
209         select PINMUX
210
211 config PINCTRL_SUNXI
212         bool
213         select PINMUX
214         select GENERIC_PINCONF
215
216 config PINCTRL_ST
217         bool
218         depends on OF
219         select PINMUX
220         select PINCONF
221
222 config PINCTRL_TEGRA
223         bool
224         select PINMUX
225         select PINCONF
226
227 config PINCTRL_TEGRA20
228         bool
229         select PINCTRL_TEGRA
230
231 config PINCTRL_TEGRA30
232         bool
233         select PINCTRL_TEGRA
234
235 config PINCTRL_TEGRA114
236         bool
237         select PINCTRL_TEGRA
238
239 config PINCTRL_TZ1090
240         bool "Toumaz Xenif TZ1090 pin control driver"
241         depends on SOC_TZ1090
242         select PINMUX
243         select GENERIC_PINCONF
244
245 config PINCTRL_TZ1090_PDC
246         bool "Toumaz Xenif TZ1090 PDC pin control driver"
247         depends on SOC_TZ1090
248         select PINMUX
249         select PINCONF
250
251 config PINCTRL_U300
252         bool "U300 pin controller driver"
253         depends on ARCH_U300
254         select PINMUX
255         select GENERIC_PINCONF
256
257 config PINCTRL_COH901
258         bool "ST-Ericsson U300 COH 901 335/571 GPIO"
259         depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
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_SAMSUNG
267         bool
268         select PINMUX
269         select PINCONF
270
271 config PINCTRL_EXYNOS
272         bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
273         depends on OF && GPIOLIB && (ARCH_EXYNOS || ARCH_S5PV210)
274         select PINCTRL_SAMSUNG
275
276 config PINCTRL_EXYNOS5440
277         bool "Samsung EXYNOS5440 SoC pinctrl driver"
278         depends on SOC_EXYNOS5440
279         select PINMUX
280         select PINCONF
281
282 config PINCTRL_PALMAS
283         bool "Pinctrl driver for the PALMAS Series MFD devices"
284         depends on OF && MFD_PALMAS
285         select PINMUX
286         select GENERIC_PINCONF
287         help
288           Palmas device supports the configuration of pins for different
289           functionality. This driver supports the pinmux, push-pull and
290           open drain configuration for the Palmas series devices like
291           TPS65913, TPS80036 etc.
292
293 config PINCTRL_S3C24XX
294         bool "Samsung S3C24XX SoC pinctrl driver"
295         depends on ARCH_S3C24XX
296         select PINCTRL_SAMSUNG
297
298 config PINCTRL_S3C64XX
299         bool "Samsung S3C64XX SoC pinctrl driver"
300         depends on ARCH_S3C64XX
301         select PINCTRL_SAMSUNG
302
303 source "drivers/pinctrl/mvebu/Kconfig"
304 source "drivers/pinctrl/sh-pfc/Kconfig"
305 source "drivers/pinctrl/spear/Kconfig"
306 source "drivers/pinctrl/vt8500/Kconfig"
307
308 config PINCTRL_XWAY
309         bool
310         depends on SOC_TYPE_XWAY
311         depends on PINCTRL_LANTIQ
312
313 endmenu
314
315 endif