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