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