projects/linux·blob master · refs

732 lines · 20.4 KiB

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