xref: /linux/drivers/pinctrl/Kconfig (revision f3a8b6645dc2e60d11f20c1c23afd964ff4e55ae)
1#
2# PINCTRL infrastructure and drivers
3#
4
5config PINCTRL
6	bool
7
8menu "Pin controllers"
9	depends on PINCTRL
10
11config PINMUX
12	bool "Support pin multiplexing controllers" if COMPILE_TEST
13
14config PINCONF
15	bool "Support pin configuration controllers" if COMPILE_TEST
16
17config GENERIC_PINCONF
18	bool
19	select PINCONF
20
21config 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
27config 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
37config 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
48config PINCTRL_BF54x
49	def_bool y if BF54x
50	select PINCTRL_ADI2
51
52config PINCTRL_BF60x
53	def_bool y if BF60x
54	select PINCTRL_ADI2
55
56config 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
68config 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
81config 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
96config PINCTRL_DIGICOLOR
97	bool
98	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
99	select PINMUX
100	select GENERIC_PINCONF
101
102config PINCTRL_LANTIQ
103	bool
104	depends on LANTIQ
105	select PINMUX
106	select PINCONF
107
108config PINCTRL_LPC18XX
109	bool "NXP LPC18XX/43XX SCU pinctrl driver"
110	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
111	default ARCH_LPC18XX
112	select PINMUX
113	select GENERIC_PINCONF
114	help
115	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
116
117config PINCTRL_FALCON
118	bool
119	depends on SOC_FALCON
120	depends on PINCTRL_LANTIQ
121
122config PINCTRL_MESON
123	bool
124	depends on OF
125	select PINMUX
126	select PINCONF
127	select GENERIC_PINCONF
128	select GPIOLIB
129	select OF_GPIO
130	select REGMAP_MMIO
131
132config PINCTRL_OXNAS
133	bool
134	depends on OF
135	select PINMUX
136	select PINCONF
137	select GENERIC_PINCONF
138	select GPIOLIB
139	select OF_GPIO
140	select GPIOLIB_IRQCHIP
141	select MFD_SYSCON
142
143config PINCTRL_ROCKCHIP
144	bool
145	select PINMUX
146	select GENERIC_PINCONF
147	select GENERIC_IRQ_CHIP
148	select MFD_SYSCON
149
150config PINCTRL_SINGLE
151	tristate "One-register-per-pin type device tree based pinctrl driver"
152	depends on OF
153	select PINMUX
154	select PINCONF
155	select GENERIC_PINCONF
156	help
157	  This selects the device tree based generic pinctrl driver.
158
159config PINCTRL_SIRF
160	bool "CSR SiRFprimaII pin controller driver"
161	depends on ARCH_SIRF
162	select PINMUX
163	select PINCONF
164	select GENERIC_PINCONF
165	select GPIOLIB_IRQCHIP
166
167config PINCTRL_PISTACHIO
168	def_bool y if MACH_PISTACHIO
169	depends on GPIOLIB
170	select PINMUX
171	select GENERIC_PINCONF
172	select GPIOLIB_IRQCHIP
173	select OF_GPIO
174
175config PINCTRL_ST
176	bool
177	depends on OF
178	select PINMUX
179	select PINCONF
180	select GPIOLIB_IRQCHIP
181
182config PINCTRL_TZ1090
183	bool "Toumaz Xenif TZ1090 pin control driver"
184	depends on SOC_TZ1090
185	select PINMUX
186	select GENERIC_PINCONF
187
188config PINCTRL_TZ1090_PDC
189	bool "Toumaz Xenif TZ1090 PDC pin control driver"
190	depends on SOC_TZ1090
191	select PINMUX
192	select PINCONF
193
194config PINCTRL_U300
195	bool "U300 pin controller driver"
196	depends on ARCH_U300
197	select PINMUX
198	select GENERIC_PINCONF
199
200config PINCTRL_COH901
201	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
202	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
203	select GPIOLIB_IRQCHIP
204	help
205	  Say yes here to support GPIO interface on ST-Ericsson U300.
206	  The names of the two IP block variants supported are
207	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
208	  ports of 8 GPIO pins each.
209
210config PINCTRL_MAX77620
211	tristate "MAX77620/MAX20024 Pincontrol support"
212	depends on MFD_MAX77620
213	select PINMUX
214	select GENERIC_PINCONF
215	help
216	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
217	  This PMIC has 8 GPIO pins that work as GPIO as well as special
218	  function in alternate mode. This driver also configure push-pull,
219	  open drain, FPS slots etc.
220
221config PINCTRL_PALMAS
222	tristate "Pinctrl driver for the PALMAS Series MFD devices"
223	depends on OF && MFD_PALMAS
224	select PINMUX
225	select GENERIC_PINCONF
226	help
227	  Palmas device supports the configuration of pins for different
228	  functionality. This driver supports the pinmux, push-pull and
229	  open drain configuration for the Palmas series devices like
230	  TPS65913, TPS80036 etc.
231
232config PINCTRL_PIC32
233	bool "Microchip PIC32 pin controller driver"
234	depends on OF
235	depends on MACH_PIC32
236	select PINMUX
237	select GENERIC_PINCONF
238	select GPIOLIB_IRQCHIP
239	select OF_GPIO
240	help
241	  This is the pin controller and gpio driver for Microchip PIC32
242	  microcontrollers. This option is selected automatically when specific
243	  machine and arch are selected to build.
244
245config PINCTRL_PIC32MZDA
246	def_bool y if PIC32MZDA
247	select PINCTRL_PIC32
248
249config PINCTRL_ZYNQ
250	bool "Pinctrl driver for Xilinx Zynq"
251	depends on ARCH_ZYNQ
252	select PINMUX
253	select GENERIC_PINCONF
254	help
255	  This selects the pinctrl driver for Xilinx Zynq.
256
257source "drivers/pinctrl/aspeed/Kconfig"
258source "drivers/pinctrl/bcm/Kconfig"
259source "drivers/pinctrl/berlin/Kconfig"
260source "drivers/pinctrl/freescale/Kconfig"
261source "drivers/pinctrl/intel/Kconfig"
262source "drivers/pinctrl/mvebu/Kconfig"
263source "drivers/pinctrl/nomadik/Kconfig"
264source "drivers/pinctrl/pxa/Kconfig"
265source "drivers/pinctrl/qcom/Kconfig"
266source "drivers/pinctrl/samsung/Kconfig"
267source "drivers/pinctrl/sh-pfc/Kconfig"
268source "drivers/pinctrl/spear/Kconfig"
269source "drivers/pinctrl/stm32/Kconfig"
270source "drivers/pinctrl/sunxi/Kconfig"
271source "drivers/pinctrl/tegra/Kconfig"
272source "drivers/pinctrl/uniphier/Kconfig"
273source "drivers/pinctrl/vt8500/Kconfig"
274source "drivers/pinctrl/mediatek/Kconfig"
275
276config PINCTRL_XWAY
277	bool
278	depends on SOC_TYPE_XWAY
279	depends on PINCTRL_LANTIQ
280
281config PINCTRL_TB10X
282	bool
283	depends on OF && ARC_PLAT_TB10X
284	select GPIOLIB
285
286endmenu
287