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