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