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