xref: /linux/drivers/pinctrl/Kconfig (revision 34acc5a8adfb76f2de63c8b8317397fb72b0aec8)
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	select PINMUX
279	select GENERIC_PINCTRL
280	help
281          Generic pinctrl driver by MULTIPLEXER framework to control on
282          board pin selection.
283
284config PINCTRL_INGENIC
285	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
286	default MACH_INGENIC
287	depends on OF
288	depends on MIPS || COMPILE_TEST
289	select GENERIC_PINCONF
290	select GENERIC_PINCTRL_GROUPS
291	select GENERIC_PINMUX_FUNCTIONS
292	select GPIOLIB
293	select GPIOLIB_IRQCHIP
294	select REGMAP_MMIO
295
296config PINCTRL_K210
297	bool "Pinctrl driver for the Canaan Kendryte K210 SoC"
298	depends on RISCV && SOC_CANAAN_K210 || COMPILE_TEST
299	depends on OF
300	select GENERIC_PINMUX_FUNCTIONS
301	select GENERIC_PINCONF
302	select GPIOLIB
303	select REGMAP_MMIO
304	default SOC_CANAAN_K210
305	help
306	  Add support for the Canaan Kendryte K210 RISC-V SOC Field
307	  Programmable IO Array (FPIOA) controller.
308
309config PINCTRL_K230
310	bool "Pinctrl driver for the Canaan Kendryte K230 SoC"
311	depends on OF
312	depends on ARCH_CANAAN || COMPILE_TEST
313	select GENERIC_PINCTRL_GROUPS
314	select GENERIC_PINMUX_FUNCTIONS
315	select GENERIC_PINCONF
316	select REGMAP_MMIO
317	help
318	  Add support for the Canaan Kendryte K230 RISC-V SOC pin controller.
319
320config PINCTRL_KEEMBAY
321	tristate "Pinctrl driver for Intel Keem Bay SoC"
322	depends on ARCH_KEEMBAY || (ARM64 && COMPILE_TEST)
323	depends on HAS_IOMEM
324	select PINMUX
325	select PINCONF
326	select GENERIC_PINCONF
327	select GENERIC_PINCTRL_GROUPS
328	select GENERIC_PINMUX_FUNCTIONS
329	select GPIOLIB
330	select GPIOLIB_IRQCHIP
331	select GPIO_GENERIC
332	help
333	  This selects pin control driver for the Intel Keem Bay SoC.
334	  It provides pin config functions such as pull-up, pull-down,
335	  interrupt, drive strength, sec lock, Schmitt trigger, slew
336	  rate control and direction control. This module will be
337	  called as pinctrl-keembay.
338
339config PINCTRL_LANTIQ
340	bool
341	depends on LANTIQ
342	select PINMUX
343	select PINCONF
344
345config PINCTRL_FALCON
346	bool
347	depends on SOC_FALCON
348	depends on PINCTRL_LANTIQ
349
350config PINCTRL_LOONGSON2
351	tristate "Pinctrl driver for the Loongson-2 SoC"
352	depends on OF && (LOONGARCH || COMPILE_TEST)
353	select PINMUX
354	select GENERIC_PINCONF
355	help
356	 This selects pin control driver for the Loongson-2 SoC. It
357	 provides pin config functions multiplexing.  GPIO pin pull-up,
358	 pull-down functions are not supported. Say yes to enable
359	 pinctrl for Loongson-2 SoC.
360
361config PINCTRL_XWAY
362	bool
363	depends on SOC_TYPE_XWAY
364	depends on PINCTRL_LANTIQ
365
366config PINCTRL_LPC18XX
367	bool "NXP LPC18XX/43XX SCU pinctrl driver"
368	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
369	default ARCH_LPC18XX
370	select PINMUX
371	select GENERIC_PINCONF
372	help
373	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
374
375config PINCTRL_MAX7360
376	tristate "MAX7360 Pincontrol support"
377	depends on MFD_MAX7360
378	select PINMUX
379	select GENERIC_PINCONF
380	help
381	  Say Y here to enable pin control support for Maxim MAX7360 keypad
382	  controller.
383	  This keypad controller has 8 GPIO pins that may work as GPIO, or PWM,
384	  or rotary encoder alternate modes.
385
386config PINCTRL_MAX77620
387	tristate "MAX77620/MAX20024 Pincontrol support"
388	depends on MFD_MAX77620 && OF
389	select PINMUX
390	select GENERIC_PINCONF
391	help
392	  Say Y here to enable Pin control support for Maxim MAX77620 PMIC.
393	  This PMIC has 8 GPIO pins that work as GPIO as well as special
394	  function in alternate mode. This driver also configure push-pull,
395	  open drain, FPS slots etc.
396
397config PINCTRL_MCP23S08_I2C
398	tristate
399	select REGMAP_I2C
400
401config PINCTRL_MCP23S08_SPI
402	tristate
403	select REGMAP_SPI
404
405config PINCTRL_MCP23S08
406	tristate "Microchip MCP23xxx I/O expander"
407	depends on SPI_MASTER || I2C
408	select GPIOLIB
409	select GPIOLIB_IRQCHIP
410	select GENERIC_PINCONF
411	select PINCTRL_MCP23S08_I2C if I2C
412	select PINCTRL_MCP23S08_SPI if SPI_MASTER
413	help
414	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
415	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
416	  This provides a GPIO interface supporting inputs and outputs and a
417	  corresponding interrupt-controller.
418
419config PINCTRL_MICROCHIP_SGPIO
420	tristate "Pinctrl driver for Microsemi/Microchip Serial GPIO"
421	depends on OF
422	depends on HAS_IOMEM
423	select GPIOLIB
424	select GPIOLIB_IRQCHIP
425	select GENERIC_PINCONF
426	select GENERIC_PINCTRL_GROUPS
427	select GENERIC_PINMUX_FUNCTIONS
428	help
429	  Support for the serial GPIO interface used on Microsemi and
430	  Microchip SoCs. By using a serial interface, the SIO
431	  controller significantly extends the number of available
432	  GPIOs with a minimum number of additional pins on the
433	  device. The primary purpose of the SIO controller is to
434	  connect control signals from SFP modules and to act as an
435	  LED controller.
436
437	  If compiled as a module, the module name will be
438	  pinctrl-microchip-sgpio.
439
440config PINCTRL_OCELOT
441	tristate "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
442	depends on OF
443	depends on HAS_IOMEM
444	select GPIOLIB
445	select GPIOLIB_IRQCHIP
446	select GENERIC_PINCONF
447	select GENERIC_PINCTRL_GROUPS
448	select GENERIC_PINMUX_FUNCTIONS
449	select REGMAP_MMIO
450	help
451	  Support for the internal GPIO interfaces on Microsemi Ocelot and
452	  Jaguar2 SoCs.
453
454	  If conpiled as a module, the module name will be pinctrl-ocelot.
455
456config PINCTRL_PALMAS
457	tristate "Pinctrl driver for the PALMAS Series MFD devices"
458	depends on OF && MFD_PALMAS
459	select PINMUX
460	select GENERIC_PINCONF
461	help
462	  Palmas device supports the configuration of pins for different
463	  functionality. This driver supports the pinmux, push-pull and
464	  open drain configuration for the Palmas series devices like
465	  TPS65913, TPS80036 etc.
466
467config PINCTRL_PEF2256
468	tristate "Lantiq PEF2256 (FALC56) pin controller driver"
469	depends on OF && FRAMER_PEF2256
470	select PINMUX
471	select PINCONF
472	select GENERIC_PINCONF
473	help
474	  This option enables the pin controller support for the Lantiq PEF2256
475	  framer, also known as FALC56.
476
477	  If unsure, say N.
478
479	  To compile this driver as a module, choose M here: the
480	  module will be called pinctrl-pef2256.
481
482config PINCTRL_PIC32
483	bool "Microchip PIC32 pin controller driver"
484	depends on OF
485	depends on MACH_PIC32 || COMPILE_TEST
486	select PINMUX
487	select GENERIC_PINCONF
488	select GPIOLIB_IRQCHIP
489	help
490	  This is the pin controller and gpio driver for Microchip PIC32
491	  microcontrollers. This option is selected automatically when specific
492	  machine and arch are selected to build.
493
494config PINCTRL_PIC32MZDA
495	def_bool y if PIC32MZDA
496	select PINCTRL_PIC32
497
498config PINCTRL_PISTACHIO
499	bool "IMG Pistachio SoC pinctrl driver"
500	depends on OF && (MIPS || COMPILE_TEST)
501	depends on GPIOLIB
502	select PINMUX
503	select GENERIC_PINCONF
504	select GPIOLIB_IRQCHIP
505	help
506	  This support pinctrl and GPIO driver for IMG Pistachio SoC.
507
508config PINCTRL_RK805
509	tristate "Pinctrl and GPIO driver for RK805 PMIC"
510	depends on MFD_RK8XX
511	select GPIOLIB
512	select PINMUX
513	select GENERIC_PINCONF
514	help
515	  This selects the pinctrl driver for RK805.
516
517config PINCTRL_ROCKCHIP
518	tristate "Rockchip gpio and pinctrl driver"
519	depends on ARCH_ROCKCHIP || COMPILE_TEST
520	depends on OF
521	select GPIOLIB
522	select PINMUX
523	select GENERIC_PINCONF
524	select GENERIC_IRQ_CHIP
525	select MFD_SYSCON
526	default ARCH_ROCKCHIP
527	help
528          This support pinctrl and GPIO driver for Rockchip SoCs.
529
530config PINCTRL_SCMI
531	tristate "Pinctrl driver using SCMI protocol interface"
532	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
533	select PINMUX
534	select GENERIC_PINCONF
535	help
536	  This driver provides support for pinctrl which is controlled
537	  by firmware that implements the SCMI interface.
538	  It uses SCMI Message Protocol to interact with the
539	  firmware providing all the pinctrl controls.
540
541config PINCTRL_SINGLE
542	tristate "One-register-per-pin type device tree based pinctrl driver"
543	depends on OF
544	depends on HAS_IOMEM
545	select GENERIC_PINCTRL_GROUPS
546	select GENERIC_PINMUX_FUNCTIONS
547	select GENERIC_PINCONF
548	help
549	  This selects the device tree based generic pinctrl driver.
550
551config PINCTRL_ST
552	bool
553	depends on OF
554	select PINMUX
555	select PINCONF
556	select GPIOLIB_IRQCHIP
557
558config PINCTRL_STMFX
559	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
560	depends on I2C
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