xref: /linux/drivers/pinctrl/Kconfig (revision 623fb9912f6af600cda3b6bd166ac738c1115ef4)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# PINCTRL infrastructure and drivers
4#
5
6menuconfig PINCTRL
7	bool "Pin controllers"
8
9if 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_AMD
35	bool "AMD GPIO pin control"
36	depends on HAS_IOMEM
37	depends on ACPI || COMPILE_TEST
38	select GPIOLIB
39	select GPIOLIB_IRQCHIP
40	select PINMUX
41	select PINCONF
42	select GENERIC_PINCONF
43	help
44	  The driver for memory mapped GPIO functionality on AMD platforms
45	  (x86 or arm). Most of the pins are usually muxed to some other
46	  functionality by firmware, so only a small amount is available
47	  for GPIO use.
48
49	  Requires ACPI/FDT device enumeration code to set up a platform
50	  device.
51
52config PINCTRL_AMDISP
53	tristate "AMDISP GPIO pin control"
54	depends on DRM_AMD_ISP || COMPILE_TEST
55	depends on HAS_IOMEM
56	select GPIOLIB
57	select PINCONF
58	select GENERIC_PINCONF
59	help
60	  The driver for memory mapped GPIO functionality on AMD platforms
61	  with ISP support. All the pins are output controlled only
62
63	  Requires AMDGPU to MFD add device for enumeration to set up as
64	  platform device.
65
66config PINCTRL_APPLE_GPIO
67	tristate "Apple SoC GPIO pin controller driver"
68	depends on ARCH_APPLE
69	select PINMUX
70	select GPIOLIB
71	select GPIOLIB_IRQCHIP
72	select GENERIC_PINCTRL_GROUPS
73	select GENERIC_PINMUX_FUNCTIONS
74	select OF_GPIO
75	help
76	  This is the driver for the GPIO controller found on Apple ARM SoCs,
77	  including M1.
78
79	  This driver can also be built as a module. If so, the module
80	  will be called pinctrl-apple-gpio.
81
82config PINCTRL_ARTPEC6
83	bool "Axis ARTPEC-6 pin controller driver"
84	depends on MACH_ARTPEC6
85	select PINMUX
86	select GENERIC_PINCONF
87	help
88	  This is the driver for the Axis ARTPEC-6 pin controller. This driver
89	  supports pin function multiplexing as well as pin bias and drive
90	  strength configuration. Device tree integration instructions can be
91	  found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
92
93config PINCTRL_AS3722
94	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
95	depends on MFD_AS3722 && GPIOLIB
96	select PINMUX
97	select GENERIC_PINCONF
98	help
99	  AS3722 device supports the configuration of GPIO pins for different
100	  functionality. This driver supports the pinmux, push-pull and
101	  open drain configuration for the GPIO pins of AS3722 devices. It also
102	  supports the GPIO functionality through gpiolib.
103
104config PINCTRL_AT91
105	bool "AT91 pinctrl driver"
106	depends on (OF && ARCH_AT91) || COMPILE_TEST
107	select PINMUX
108	select PINCONF
109	select GPIOLIB
110	select GPIOLIB_IRQCHIP
111	help
112	  Say Y here to enable the at91 pinctrl driver
113
114config PINCTRL_AT91PIO4
115	bool "AT91 PIO4 pinctrl driver"
116	depends on OF
117	depends on HAS_IOMEM
118	depends on ARCH_AT91 || COMPILE_TEST
119	select PINMUX
120	select GENERIC_PINCONF
121	select GPIOLIB
122	select GPIOLIB_IRQCHIP
123	select OF_GPIO
124	help
125	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
126	  controller available on sama5d2 SoC.
127
128config PINCTRL_AXP209
129	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
130	depends on MFD_AXP20X
131	depends on OF
132	select PINMUX
133	select GENERIC_PINCONF
134	select GPIOLIB
135	help
136	  AXP PMICs provides multiple GPIOs that can be muxed for different
137	  functions. This driver bundles a pinctrl driver to select the function
138	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
139	  selected.
140	  Say Y to enable pinctrl and GPIO support for the AXP209 PMIC.
141
142config PINCTRL_AW9523
143	tristate "Awinic AW9523/AW9523B I2C GPIO expander pinctrl driver"
144	depends on OF && I2C
145	select PINMUX
146	select PINCONF
147	select GENERIC_PINCONF
148	select GPIOLIB
149	select GPIOLIB_IRQCHIP
150	select REGMAP
151	select REGMAP_I2C
152	help
153	  The Awinic AW9523/AW9523B is a multi-function I2C GPIO
154	  expander with PWM functionality. This driver bundles a
155	  pinctrl driver to select the function muxing and a GPIO
156	  driver to handle GPIO, when the GPIO function is selected.
157
158	  Say yes to enable pinctrl and GPIO support for the AW9523(B).
159
160config PINCTRL_BM1880
161	bool "Bitmain BM1880 Pinctrl driver"
162	depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
163	default ARCH_BITMAIN
164	select PINMUX
165	help
166	  Pinctrl driver for Bitmain BM1880 SoC.
167
168config PINCTRL_CY8C95X0
169	tristate "Cypress CY8C95X0 I2C pinctrl and GPIO driver"
170	depends on I2C
171	select GPIOLIB
172	select GPIOLIB_IRQCHIP
173	select PINMUX
174	select PINCONF
175	select GENERIC_PINCONF
176	select REGMAP_I2C
177	help
178	  Support for 20/40/60 pin Cypress Cy8C95x0 pinctrl/gpio I2C expander.
179	  This driver can also be built as a module. If so, the module will be
180	  called pinctrl-cy8c95x0.
181
182config PINCTRL_DA850_PUPD
183	tristate "TI DA850/OMAP-L138/AM18XX pull-up and pull-down groups"
184	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
185	select PINCONF
186	select GENERIC_PINCONF
187	help
188	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
189	  pull-up and pull-down pin groups.
190
191config PINCTRL_DA9062
192	tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
193	depends on MFD_DA9062
194	select GPIOLIB
195	help
196	  The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for
197	  different functions. This driver bundles a pinctrl driver to select the
198	  function muxing and a GPIO driver to handle the GPIO when the GPIO
199	  function is selected.
200
201	  Say Y to enable pinctrl and GPIO support for the DA9062 PMIC.
202
203config PINCTRL_DIGICOLOR
204	bool
205	depends on ARCH_DIGICOLOR || COMPILE_TEST
206	select PINMUX
207	select GENERIC_PINCONF
208
209config PINCTRL_EIC7700
210	tristate "EIC7700 PINCTRL driver"
211	depends on ARCH_ESWIN || COMPILE_TEST
212	select PINMUX
213	select GENERIC_PINCONF
214	select REGULATOR
215	select REGULATOR_FIXED_VOLTAGE
216	help
217	  This driver support for the pin controller in ESWIN's EIC7700 SoC,
218	  which supports pin multiplexing, pin configuration,and rgmii voltage
219	  control.
220	  Say Y here to enable the eic7700 pinctrl driver
221
222config PINCTRL_EP93XX
223	bool
224	depends on ARCH_EP93XX || COMPILE_TEST
225	select PINMUX
226	select GENERIC_PINCONF
227	select MFD_SYSCON
228
229config PINCTRL_EQUILIBRIUM
230	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
231	depends on OF && HAS_IOMEM
232	depends on X86 || COMPILE_TEST
233	select PINMUX
234	select PINCONF
235	select GPIOLIB
236	select GPIO_GENERIC
237	select GPIOLIB_IRQCHIP
238	select GENERIC_PINCONF
239	select GENERIC_PINCTRL_GROUPS
240	select GENERIC_PINMUX_FUNCTIONS
241	help
242	  Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning
243	  Mountain network processor SoC that supports both the GPIO and pin
244	  control frameworks. It provides interfaces to setup pin muxing, assign
245	  desired pin functions, configure GPIO attributes for LGM SoC pins.
246	  Pin muxing and pin config settings are retrieved from device tree.
247
248config PINCTRL_EYEQ5
249	bool "Mobileye EyeQ5 pinctrl driver"
250	depends on OF
251	depends on MACH_EYEQ5 || COMPILE_TEST
252	select PINMUX
253	select GENERIC_PINCONF
254	select AUXILIARY_BUS
255	default MACH_EYEQ5
256	help
257	  Pin controller driver for the Mobileye EyeQ5 platform. It does both
258	  pin config & pin muxing. It does not handle GPIO.
259
260	  Pin muxing supports two functions for each pin: first is GPIO, second
261	  is pin-dependent. Pin config is about bias & drive strength.
262
263config PINCTRL_GEMINI
264	bool
265	depends on ARCH_GEMINI
266	default ARCH_GEMINI
267	select PINMUX
268	select GENERIC_PINCONF
269	select MFD_SYSCON
270
271config PINCTRL_INGENIC
272	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
273	default MACH_INGENIC
274	depends on OF
275	depends on MIPS || COMPILE_TEST
276	select GENERIC_PINCONF
277	select GENERIC_PINCTRL_GROUPS
278	select GENERIC_PINMUX_FUNCTIONS
279	select GPIOLIB
280	select GPIOLIB_IRQCHIP
281	select REGMAP_MMIO
282
283config PINCTRL_K210
284	bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
285	depends on RISCV && SOC_CANAAN_K210 || COMPILE_TEST
286	depends on OF
287	select GENERIC_PINMUX_FUNCTIONS
288	select GENERIC_PINCONF
289	select GPIOLIB
290	select OF_GPIO
291	select REGMAP_MMIO
292	default SOC_CANAAN_K210
293	help
294	  Add support for the Canaan Kendryte K210 RISC-V SOC Field
295	  Programmable IO Array (FPIOA) controller.
296
297config PINCTRL_K230
298	bool "Pinctrl driver for the Canaan Kendryte K230 SoC"
299	depends on OF
300	depends on ARCH_CANAAN || COMPILE_TEST
301	select GENERIC_PINCTRL_GROUPS
302	select GENERIC_PINMUX_FUNCTIONS
303	select GENERIC_PINCONF
304	select REGMAP_MMIO
305	help
306	  Add support for the Canaan Kendryte K230 RISC-V SOC pin controller.
307
308config PINCTRL_KEEMBAY
309	tristate "Pinctrl driver for Intel Keem Bay SoC"
310	depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
311	depends on HAS_IOMEM
312	select PINMUX
313	select PINCONF
314	select GENERIC_PINCONF
315	select GENERIC_PINCTRL_GROUPS
316	select GENERIC_PINMUX_FUNCTIONS
317	select GPIOLIB
318	select GPIOLIB_IRQCHIP
319	select GPIO_GENERIC
320	help
321	  This selects pin control driver for the Intel Keem Bay SoC.
322	  It provides pin config functions such as pull-up, pull-down,
323	  interrupt, drive strength, sec lock, Schmitt trigger, slew
324	  rate control and direction control. This module will be
325	  called as pinctrl-keembay.
326
327config PINCTRL_LANTIQ
328	bool
329	depends on LANTIQ
330	select PINMUX
331	select PINCONF
332
333config PINCTRL_FALCON
334	bool
335	depends on SOC_FALCON
336	depends on PINCTRL_LANTIQ
337
338config PINCTRL_LOONGSON2
339	tristate "Pinctrl driver for the Loongson-2 SoC"
340	depends on OF && (LOONGARCH || COMPILE_TEST)
341	select PINMUX
342	select GENERIC_PINCONF
343	help
344	 This selects pin control driver for the Loongson-2 SoC. It
345	 provides pin config functions multiplexing.  GPIO pin pull-up,
346	 pull-down functions are not supported. Say yes to enable
347	 pinctrl for Loongson-2 SoC.
348
349config PINCTRL_XWAY
350	bool
351	depends on SOC_TYPE_XWAY
352	depends on PINCTRL_LANTIQ
353
354config PINCTRL_LPC18XX
355	bool "NXP LPC18XX/43XX SCU pinctrl driver"
356	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
357	default ARCH_LPC18XX
358	select PINMUX
359	select GENERIC_PINCONF
360	help
361	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
362
363config PINCTRL_MAX7360
364	tristate "MAX7360 Pincontrol support"
365	depends on MFD_MAX7360
366	select PINMUX
367	select GENERIC_PINCONF
368	help
369	  Say Y here to enable pin control support for Maxim MAX7360 keypad
370	  controller.
371	  This keypad controller has 8 GPIO pins that may work as GPIO, or PWM,
372	  or rotary encoder alternate modes.
373
374config PINCTRL_MAX77620
375	tristate "MAX77620/MAX20024 Pincontrol support"
376	depends on MFD_MAX77620 && OF
377	select PINMUX
378	select GENERIC_PINCONF
379	help
380	  Say Y here to enable Pin control support for Maxim MAX77620 PMIC.
381	  This PMIC has 8 GPIO pins that work as GPIO as well as special
382	  function in alternate mode. This driver also configure push-pull,
383	  open drain, FPS slots etc.
384
385config PINCTRL_MCP23S08_I2C
386	tristate
387	select REGMAP_I2C
388
389config PINCTRL_MCP23S08_SPI
390	tristate
391	select REGMAP_SPI
392
393config PINCTRL_MCP23S08
394	tristate "Microchip MCP23xxx I/O expander"
395	depends on SPI_MASTER || I2C
396	select GPIOLIB
397	select GPIOLIB_IRQCHIP
398	select GENERIC_PINCONF
399	select PINCTRL_MCP23S08_I2C if I2C
400	select PINCTRL_MCP23S08_SPI if SPI_MASTER
401	help
402	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
403	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
404	  This provides a GPIO interface supporting inputs and outputs and a
405	  corresponding interrupt-controller.
406
407config PINCTRL_MICROCHIP_SGPIO
408	tristate "Pinctrl driver for Microsemi/Microchip Serial GPIO"
409	depends on OF
410	depends on HAS_IOMEM
411	select GPIOLIB
412	select GPIOLIB_IRQCHIP
413	select GENERIC_PINCONF
414	select GENERIC_PINCTRL_GROUPS
415	select GENERIC_PINMUX_FUNCTIONS
416	select OF_GPIO
417	help
418	  Support for the serial GPIO interface used on Microsemi and
419	  Microchip SoCs. By using a serial interface, the SIO
420	  controller significantly extends the number of available
421	  GPIOs with a minimum number of additional pins on the
422	  device. The primary purpose of the SIO controller is to
423	  connect control signals from SFP modules and to act as an
424	  LED controller.
425
426	  If compiled as a module, the module name will be
427	  pinctrl-microchip-sgpio.
428
429config PINCTRL_OCELOT
430	tristate "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
431	depends on OF
432	depends on HAS_IOMEM
433	select GPIOLIB
434	select GPIOLIB_IRQCHIP
435	select GENERIC_PINCONF
436	select GENERIC_PINCTRL_GROUPS
437	select GENERIC_PINMUX_FUNCTIONS
438	select OF_GPIO
439	select REGMAP_MMIO
440	help
441	  Support for the internal GPIO interfaces on Microsemi Ocelot and
442	  Jaguar2 SoCs.
443
444	  If conpiled as a module, the module name will be pinctrl-ocelot.
445
446config PINCTRL_PALMAS
447	tristate "Pinctrl driver for the PALMAS Series MFD devices"
448	depends on OF && MFD_PALMAS
449	select PINMUX
450	select GENERIC_PINCONF
451	help
452	  Palmas device supports the configuration of pins for different
453	  functionality. This driver supports the pinmux, push-pull and
454	  open drain configuration for the Palmas series devices like
455	  TPS65913, TPS80036 etc.
456
457config PINCTRL_PEF2256
458	tristate "Lantiq PEF2256 (FALC56) pin controller driver"
459	depends on OF && FRAMER_PEF2256
460	select PINMUX
461	select PINCONF
462	select GENERIC_PINCONF
463	help
464	  This option enables the pin controller support for the Lantiq PEF2256
465	  framer, also known as FALC56.
466
467	  If unsure, say N.
468
469	  To compile this driver as a module, choose M here: the
470	  module will be called pinctrl-pef2256.
471
472config PINCTRL_PIC32
473	bool "Microchip PIC32 pin controller driver"
474	depends on OF
475	depends on MACH_PIC32
476	select PINMUX
477	select GENERIC_PINCONF
478	select GPIOLIB_IRQCHIP
479	select OF_GPIO
480	help
481	  This is the pin controller and gpio driver for Microchip PIC32
482	  microcontrollers. This option is selected automatically when specific
483	  machine and arch are selected to build.
484
485config PINCTRL_PIC32MZDA
486	def_bool y if PIC32MZDA
487	select PINCTRL_PIC32
488
489config PINCTRL_PIC64GX
490	bool "pic64gx gpio2 pinctrl driver"
491	depends on ARCH_MICROCHIP || COMPILE_TEST
492	depends on OF
493	select GENERIC_PINCONF
494	select REGMAP_MMIO
495	default y
496	help
497	  This selects the pinctrl driver for gpio2 on pic64gx.
498
499config PINCTRL_PISTACHIO
500	bool "IMG Pistachio SoC pinctrl driver"
501	depends on OF && (MIPS || COMPILE_TEST)
502	depends on GPIOLIB
503	select PINMUX
504	select GENERIC_PINCONF
505	select GPIOLIB_IRQCHIP
506	select OF_GPIO
507	help
508	  This support pinctrl and GPIO driver for IMG Pistachio SoC.
509
510config PINCTRL_POLARFIRE_SOC
511	bool "Polarfire SoC pinctrl driver"
512	depends on ARCH_MICROCHIP || COMPILE_TEST
513	depends on OF
514	select GENERIC_PINCONF
515	default y
516	help
517	  This selects the pinctrl driver for Microchip Polarfire SoC.
518
519config PINCTRL_RK805
520	tristate "Pinctrl and GPIO driver for RK805 PMIC"
521	depends on MFD_RK8XX
522	select GPIOLIB
523	select PINMUX
524	select GENERIC_PINCONF
525	help
526	  This selects the pinctrl driver for RK805.
527
528config PINCTRL_ROCKCHIP
529	tristate "Rockchip gpio and pinctrl driver"
530	depends on ARCH_ROCKCHIP || COMPILE_TEST
531	depends on OF
532	select GPIOLIB
533	select PINMUX
534	select GENERIC_PINCONF
535	select GENERIC_IRQ_CHIP
536	select MFD_SYSCON
537	select OF_GPIO
538	default ARCH_ROCKCHIP
539	help
540          This support pinctrl and GPIO driver for Rockchip SoCs.
541
542config PINCTRL_SCMI
543	tristate "Pinctrl driver using SCMI protocol interface"
544	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
545	select PINMUX
546	select GENERIC_PINCONF
547	help
548	  This driver provides support for pinctrl which is controlled
549	  by firmware that implements the SCMI interface.
550	  It uses SCMI Message Protocol to interact with the
551	  firmware providing all the pinctrl controls.
552
553config PINCTRL_SINGLE
554	tristate "One-register-per-pin type device tree based pinctrl driver"
555	depends on OF
556	depends on HAS_IOMEM
557	select GENERIC_PINCTRL_GROUPS
558	select GENERIC_PINMUX_FUNCTIONS
559	select GENERIC_PINCONF
560	help
561	  This selects the device tree based generic pinctrl driver.
562
563config PINCTRL_ST
564	bool
565	depends on OF
566	select PINMUX
567	select PINCONF
568	select GPIOLIB_IRQCHIP
569
570config PINCTRL_STMFX
571	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
572	depends on I2C
573	depends on OF_GPIO
574	depends on HAS_IOMEM
575	select GENERIC_PINCONF
576	select GPIOLIB_IRQCHIP
577	select MFD_STMFX
578	help
579	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
580	  GPIO expander.
581	  This provides a GPIO interface supporting inputs and outputs,
582	  and configuring push-pull, open-drain, and can also be used as
583	  interrupt-controller.
584
585config PINCTRL_SX150X
586	tristate "Semtech SX150x I2C GPIO expander pinctrl driver"
587	depends on I2C=y
588	select PINMUX
589	select PINCONF
590	select GENERIC_PINCONF
591	select GPIOLIB
592	select GPIOLIB_IRQCHIP
593	select REGMAP
594	help
595	  Say Y here to provide support for Semtech SX150x-series I2C
596	  GPIO expanders as pinctrl module.
597	  Compatible models include:
598	  - 8 bits:  sx1508q, sx1502q
599	  - 16 bits: sx1509q, sx1506q
600
601config PINCTRL_TB10X
602	bool "Pinctrl for TB10X" if COMPILE_TEST
603	depends on OF && ARC_PLAT_TB10X || COMPILE_TEST
604	select GPIOLIB
605
606config PINCTRL_TPS6594
607	tristate "Pinctrl and GPIO driver for TI TPS6594 PMIC"
608	depends on OF && MFD_TPS6594
609	default MFD_TPS6594
610	select PINMUX
611	select GPIOLIB
612	select REGMAP
613	select GPIO_REGMAP
614	select GENERIC_PINCONF
615	help
616	  Say Y to select the pinmuxing and GPIOs driver for the TPS6594
617	  PMICs chip family.
618
619	  This driver can also be built as a module
620	  called tps6594-pinctrl.
621
622config PINCTRL_TH1520
623	tristate "Pinctrl driver for the T-Head TH1520 SoC"
624	depends on ARCH_THEAD || COMPILE_TEST
625	depends on OF
626	select GENERIC_PINMUX_FUNCTIONS
627	select GENERIC_PINCONF
628	select PINMUX
629	help
630	  This is the driver for the pin controller blocks on the
631	  T-Head TH1520 SoC.
632
633	  This driver is needed for RISC-V development boards like
634	  the BeagleV Ahead and the LicheePi 4A.
635
636config PINCTRL_UPBOARD
637	tristate "AAeon UP board FPGA pin controller"
638	depends on MFD_UPBOARD_FPGA
639	select PINMUX
640	select GENERIC_PINCTRL_GROUPS
641	select GENERIC_PINMUX_FUNCTIONS
642	select GPIOLIB
643	select GPIO_AGGREGATOR
644	help
645	  Pin controller for the FPGA GPIO lines on UP boards. Due to the
646	  hardware layout, the driver controls the FPGA pins in tandem with
647	  their corresponding Intel SoC GPIOs.
648
649	  Currently supported:
650	  - UP Squared
651
652	  To compile this driver as a module, choose M here: the module
653	  will be called pinctrl-upboard.
654
655config PINCTRL_ZYNQ
656	bool "Pinctrl driver for Xilinx Zynq"
657	depends on ARCH_ZYNQ || COMPILE_TEST
658	depends on OF
659	select PINMUX
660	select GENERIC_PINCONF
661	help
662	  This selects the pinctrl driver for Xilinx Zynq.
663
664config PINCTRL_ZYNQMP
665	tristate "Pinctrl driver for Xilinx ZynqMP"
666	depends on ZYNQMP_FIRMWARE
667	select PINMUX
668	select GENERIC_PINCONF
669	default ZYNQMP_FIRMWARE
670	help
671	  This selects the pinctrl driver for Xilinx ZynqMP platform.
672	  This driver will query the pin information from the firmware
673	  and allow configuring the pins.
674	  Configuration can include the mux function to select on those
675	  pin(s)/group(s), and various pin configuration parameters
676	  such as pull-up, slew rate, etc.
677	  This driver can also be built as a module. If so, the module
678	  will be called pinctrl-zynqmp.
679
680config PINCTRL_MLXBF3
681	tristate "NVIDIA BlueField-3 SoC Pinctrl driver"
682	depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST
683	select PINMUX
684	select GPIOLIB
685	select GPIOLIB_IRQCHIP
686	help
687	  Say Y to select the pinctrl driver for BlueField-3 SoCs.
688	  This pin controller allows selecting the mux function for
689	  each pin. This driver can also be built as a module called
690	  pinctrl-mlxbf3.
691
692config PINCTRL_RP1
693	tristate "Pinctrl driver for RP1"
694	depends on MISC_RP1
695	default MISC_RP1
696	select PINMUX
697	select PINCONF
698	select GENERIC_PINCONF
699	help
700	  Enable the gpio and pinctrl/mux driver for RaspberryPi RP1
701	  multi function device.
702
703source "drivers/pinctrl/actions/Kconfig"
704source "drivers/pinctrl/aspeed/Kconfig"
705source "drivers/pinctrl/bcm/Kconfig"
706source "drivers/pinctrl/berlin/Kconfig"
707source "drivers/pinctrl/cirrus/Kconfig"
708source "drivers/pinctrl/cix/Kconfig"
709source "drivers/pinctrl/freescale/Kconfig"
710source "drivers/pinctrl/intel/Kconfig"
711source "drivers/pinctrl/mediatek/Kconfig"
712source "drivers/pinctrl/meson/Kconfig"
713source "drivers/pinctrl/mvebu/Kconfig"
714source "drivers/pinctrl/nomadik/Kconfig"
715source "drivers/pinctrl/nuvoton/Kconfig"
716source "drivers/pinctrl/nxp/Kconfig"
717source "drivers/pinctrl/pxa/Kconfig"
718source "drivers/pinctrl/qcom/Kconfig"
719source "drivers/pinctrl/realtek/Kconfig"
720source "drivers/pinctrl/renesas/Kconfig"
721source "drivers/pinctrl/samsung/Kconfig"
722source "drivers/pinctrl/sophgo/Kconfig"
723source "drivers/pinctrl/spacemit/Kconfig"
724source "drivers/pinctrl/spear/Kconfig"
725source "drivers/pinctrl/sprd/Kconfig"
726source "drivers/pinctrl/starfive/Kconfig"
727source "drivers/pinctrl/stm32/Kconfig"
728source "drivers/pinctrl/sunplus/Kconfig"
729source "drivers/pinctrl/sunxi/Kconfig"
730source "drivers/pinctrl/tegra/Kconfig"
731source "drivers/pinctrl/ti/Kconfig"
732source "drivers/pinctrl/uniphier/Kconfig"
733source "drivers/pinctrl/visconti/Kconfig"
734source "drivers/pinctrl/vt8500/Kconfig"
735
736endif
737