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