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