xref: /linux/drivers/pinctrl/Kconfig (revision a110f942672c8995dc1cacb5a44c6730856743aa)
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	default y
495	help
496	  This selects the pinctrl driver for gpio2 on pic64gx.
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	select OF_GPIO
506	help
507	  This support pinctrl and GPIO driver for IMG Pistachio SoC.
508
509config PINCTRL_POLARFIRE_SOC
510	bool "Polarfire SoC pinctrl driver"
511	depends on ARCH_MICROCHIP || COMPILE_TEST
512	depends on OF
513	select GENERIC_PINCONF
514	default y
515	help
516	  This selects the pinctrl driver for Microchip Polarfire SoC.
517
518config PINCTRL_RK805
519	tristate "Pinctrl and GPIO driver for RK805 PMIC"
520	depends on MFD_RK8XX
521	select GPIOLIB
522	select PINMUX
523	select GENERIC_PINCONF
524	help
525	  This selects the pinctrl driver for RK805.
526
527config PINCTRL_ROCKCHIP
528	tristate "Rockchip gpio and pinctrl driver"
529	depends on ARCH_ROCKCHIP || COMPILE_TEST
530	depends on OF
531	select GPIOLIB
532	select PINMUX
533	select GENERIC_PINCONF
534	select GENERIC_IRQ_CHIP
535	select MFD_SYSCON
536	select OF_GPIO
537	default ARCH_ROCKCHIP
538	help
539          This support pinctrl and GPIO driver for Rockchip SoCs.
540
541config PINCTRL_SCMI
542	tristate "Pinctrl driver using SCMI protocol interface"
543	depends on ARM_SCMI_PROTOCOL || COMPILE_TEST
544	select PINMUX
545	select GENERIC_PINCONF
546	help
547	  This driver provides support for pinctrl which is controlled
548	  by firmware that implements the SCMI interface.
549	  It uses SCMI Message Protocol to interact with the
550	  firmware providing all the pinctrl controls.
551
552config PINCTRL_SINGLE
553	tristate "One-register-per-pin type device tree based pinctrl driver"
554	depends on OF
555	depends on HAS_IOMEM
556	select GENERIC_PINCTRL_GROUPS
557	select GENERIC_PINMUX_FUNCTIONS
558	select GENERIC_PINCONF
559	help
560	  This selects the device tree based generic pinctrl driver.
561
562config PINCTRL_ST
563	bool
564	depends on OF
565	select PINMUX
566	select PINCONF
567	select GPIOLIB_IRQCHIP
568
569config PINCTRL_STMFX
570	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
571	depends on I2C
572	depends on OF_GPIO
573	depends on HAS_IOMEM
574	select GENERIC_PINCONF
575	select GPIOLIB_IRQCHIP
576	select MFD_STMFX
577	help
578	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
579	  GPIO expander.
580	  This provides a GPIO interface supporting inputs and outputs,
581	  and configuring push-pull, open-drain, and can also be used as
582	  interrupt-controller.
583
584config PINCTRL_SX150X
585	tristate "Semtech SX150x I2C GPIO expander pinctrl driver"
586	depends on I2C=y
587	select PINMUX
588	select PINCONF
589	select GENERIC_PINCONF
590	select GPIOLIB
591	select GPIOLIB_IRQCHIP
592	select REGMAP
593	help
594	  Say Y here to provide support for Semtech SX150x-series I2C
595	  GPIO expanders as pinctrl module.
596	  Compatible models include:
597	  - 8 bits:  sx1508q, sx1502q
598	  - 16 bits: sx1509q, sx1506q
599
600config PINCTRL_TB10X
601	bool "Pinctrl for TB10X" if COMPILE_TEST
602	depends on OF && ARC_PLAT_TB10X || COMPILE_TEST
603	select GPIOLIB
604
605config PINCTRL_TPS6594
606	tristate "Pinctrl and GPIO driver for TI TPS6594 PMIC"
607	depends on OF && MFD_TPS6594
608	default MFD_TPS6594
609	select PINMUX
610	select GPIOLIB
611	select REGMAP
612	select GPIO_REGMAP
613	select GENERIC_PINCONF
614	help
615	  Say Y to select the pinmuxing and GPIOs driver for the TPS6594
616	  PMICs chip family.
617
618	  This driver can also be built as a module
619	  called tps6594-pinctrl.
620
621config PINCTRL_TH1520
622	tristate "Pinctrl driver for the T-Head TH1520 SoC"
623	depends on ARCH_THEAD || COMPILE_TEST
624	depends on OF
625	select GENERIC_PINMUX_FUNCTIONS
626	select GENERIC_PINCONF
627	select PINMUX
628	help
629	  This is the driver for the pin controller blocks on the
630	  T-Head TH1520 SoC.
631
632	  This driver is needed for RISC-V development boards like
633	  the BeagleV Ahead and the LicheePi 4A.
634
635config PINCTRL_UPBOARD
636	tristate "AAeon UP board FPGA pin controller"
637	depends on MFD_UPBOARD_FPGA
638	select PINMUX
639	select GENERIC_PINCTRL_GROUPS
640	select GENERIC_PINMUX_FUNCTIONS
641	select GPIOLIB
642	select GPIO_AGGREGATOR
643	help
644	  Pin controller for the FPGA GPIO lines on UP boards. Due to the
645	  hardware layout, the driver controls the FPGA pins in tandem with
646	  their corresponding Intel SoC GPIOs.
647
648	  Currently supported:
649	  - UP Squared
650
651	  To compile this driver as a module, choose M here: the module
652	  will be called pinctrl-upboard.
653
654config PINCTRL_ZYNQ
655	bool "Pinctrl driver for Xilinx Zynq"
656	depends on ARCH_ZYNQ || COMPILE_TEST
657	depends on OF
658	select PINMUX
659	select GENERIC_PINCONF
660	help
661	  This selects the pinctrl driver for Xilinx Zynq.
662
663config PINCTRL_ZYNQMP
664	tristate "Pinctrl driver for Xilinx ZynqMP"
665	depends on ZYNQMP_FIRMWARE
666	select PINMUX
667	select GENERIC_PINCONF
668	default ZYNQMP_FIRMWARE
669	help
670	  This selects the pinctrl driver for Xilinx ZynqMP platform.
671	  This driver will query the pin information from the firmware
672	  and allow configuring the pins.
673	  Configuration can include the mux function to select on those
674	  pin(s)/group(s), and various pin configuration parameters
675	  such as pull-up, slew rate, etc.
676	  This driver can also be built as a module. If so, the module
677	  will be called pinctrl-zynqmp.
678
679config PINCTRL_MLXBF3
680	tristate "NVIDIA BlueField-3 SoC Pinctrl driver"
681	depends on (MELLANOX_PLATFORM && ARM64) || COMPILE_TEST
682	select PINMUX
683	select GPIOLIB
684	select GPIOLIB_IRQCHIP
685	help
686	  Say Y to select the pinctrl driver for BlueField-3 SoCs.
687	  This pin controller allows selecting the mux function for
688	  each pin. This driver can also be built as a module called
689	  pinctrl-mlxbf3.
690
691config PINCTRL_RP1
692	tristate "Pinctrl driver for RP1"
693	depends on MISC_RP1
694	default MISC_RP1
695	select PINMUX
696	select PINCONF
697	select GENERIC_PINCONF
698	help
699	  Enable the gpio and pinctrl/mux driver for RaspberryPi RP1
700	  multi function device.
701
702source "drivers/pinctrl/actions/Kconfig"
703source "drivers/pinctrl/aspeed/Kconfig"
704source "drivers/pinctrl/bcm/Kconfig"
705source "drivers/pinctrl/berlin/Kconfig"
706source "drivers/pinctrl/cirrus/Kconfig"
707source "drivers/pinctrl/cix/Kconfig"
708source "drivers/pinctrl/freescale/Kconfig"
709source "drivers/pinctrl/intel/Kconfig"
710source "drivers/pinctrl/mediatek/Kconfig"
711source "drivers/pinctrl/meson/Kconfig"
712source "drivers/pinctrl/mvebu/Kconfig"
713source "drivers/pinctrl/nomadik/Kconfig"
714source "drivers/pinctrl/nuvoton/Kconfig"
715source "drivers/pinctrl/nxp/Kconfig"
716source "drivers/pinctrl/pxa/Kconfig"
717source "drivers/pinctrl/qcom/Kconfig"
718source "drivers/pinctrl/realtek/Kconfig"
719source "drivers/pinctrl/renesas/Kconfig"
720source "drivers/pinctrl/samsung/Kconfig"
721source "drivers/pinctrl/sophgo/Kconfig"
722source "drivers/pinctrl/spacemit/Kconfig"
723source "drivers/pinctrl/spear/Kconfig"
724source "drivers/pinctrl/sprd/Kconfig"
725source "drivers/pinctrl/starfive/Kconfig"
726source "drivers/pinctrl/stm32/Kconfig"
727source "drivers/pinctrl/sunplus/Kconfig"
728source "drivers/pinctrl/sunxi/Kconfig"
729source "drivers/pinctrl/tegra/Kconfig"
730source "drivers/pinctrl/ti/Kconfig"
731source "drivers/pinctrl/uniphier/Kconfig"
732source "drivers/pinctrl/visconti/Kconfig"
733source "drivers/pinctrl/vt8500/Kconfig"
734
735endif
736