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