1# 2# GPIO infrastructure and drivers 3# 4 5menuconfig GPIO 6 bool "GPIO support" 7 default y 8 help 9 Enable support for GPIOs (General-purpose Input/Output) in U-Boot. 10 GPIOs allow U-Boot to read the state of an input line (high or 11 low) and set the state of an output line. This can be used to 12 drive LEDs, control power to various system parts and read user 13 input. GPIOs can be useful to enable a 'sign-of-life' LED, 14 for example. Enable this option to build the drivers in 15 drivers/gpio as part of an U-Boot build. 16 17if GPIO 18 19config DM_GPIO 20 bool "Enable Driver Model for GPIO drivers" 21 depends on DM 22 help 23 Enable driver model for GPIO access. The standard GPIO 24 interface (gpio_get_value(), etc.) is then implemented by 25 the GPIO uclass. Drivers provide methods to query the 26 particular GPIOs that they provide. The uclass interface 27 is defined in include/asm-generic/gpio.h. 28 29config SPL_DM_GPIO 30 bool "Enable Driver Model for GPIO drivers in SPL" 31 depends on DM_GPIO && SPL_DM && SPL_GPIO 32 default y 33 help 34 Enable driver model for GPIO access in SPL. The standard GPIO 35 interface (gpio_get_value(), etc.) is then implemented by 36 the GPIO uclass. Drivers provide methods to query the 37 particular GPIOs that they provide. The uclass interface 38 is defined in include/asm-generic/gpio.h. 39 40config TPL_DM_GPIO 41 bool "Enable Driver Model for GPIO drivers in TPL" 42 depends on DM_GPIO && TPL_DM && TPL_GPIO 43 default y 44 help 45 Enable driver model for GPIO access in TPL. The standard GPIO 46 interface (gpio_get_value(), etc.) is then implemented by 47 the GPIO uclass. Drivers provide methods to query the 48 particular GPIOs that they provide. The uclass interface 49 is defined in include/asm-generic/gpio.h. 50 51config VPL_DM_GPIO 52 bool "Enable Driver Model for GPIO drivers in VPL" 53 depends on DM_GPIO && VPL_DM && VPL_GPIO 54 default y 55 help 56 Enable driver model for GPIO access in VPL. The standard GPIO 57 interface (gpio_get_value(), etc.) is then implemented by 58 the GPIO uclass. Drivers provide methods to query the 59 particular GPIOs that they provide. The uclass interface 60 is defined in include/asm-generic/gpio.h. 61 62config GPIO_HOG 63 bool "Enable GPIO hog support" 64 depends on DM_GPIO 65 help 66 Enable gpio hog support 67 The GPIO chip may contain GPIO hog definitions. GPIO hogging 68 is a mechanism providing automatic GPIO request and config- 69 uration as part of the gpio-controller's driver probe function. 70 71config SPL_GPIO_HOG 72 bool "Enable GPIO hog support in SPL" 73 depends on SPL_GPIO 74 help 75 Enable gpio hog support in SPL 76 The GPIO chip may contain GPIO hog definitions. GPIO hogging 77 is a mechanism providing automatic GPIO request and config- 78 uration as part of the gpio-controller's driver probe function. 79 80config DM_GPIO_LOOKUP_LABEL 81 bool "Enable searching for gpio labelnames" 82 depends on DM_GPIO 83 help 84 This option enables searching for gpio names in 85 the defined gpio labels, if the search for the 86 gpio bank name failed. This makes sense if you use 87 different gpios on different hardware versions 88 for the same functionality in board code. 89 90config SPL_DM_GPIO_LOOKUP_LABEL 91 bool "Enable searching for gpio labelnames in SPL" 92 depends on SPL_DM_GPIO 93 help 94 This option enables searching for gpio names in 95 the defined gpio labels, if the search for the 96 gpio bank name failed. This makes sense if you use 97 different gpios on different hardware versions 98 for the same functionality in board code. 99 100config ADI_GPIO 101 bool "ADI GPIO driver" 102 depends on DM_GPIO && ARCH_SC5XX 103 help 104 This driver supports GPIO banks on SC5xx processors. It 105 supports inputs and outputs but does not support pin 106 interrupt functionality (PINT) or other features in the 107 Linux version of the driver. 108 109config ALTERA_PIO 110 bool "Altera PIO driver" 111 depends on DM_GPIO 112 help 113 Select this to enable PIO for Altera devices. Please find 114 details on the "Embedded Peripherals IP User Guide" of Altera. 115 116config BCM2835_GPIO 117 bool "BCM2835 GPIO driver" 118 depends on DM_GPIO && ARCH_BCM283X 119 120config BCM6345_GPIO 121 bool "BCM6345 GPIO driver" 122 depends on DM_GPIO && (ARCH_BMIPS || BCM6856 || \ 123 BCM6858 || BCM63158 || BCM6855) 124 help 125 This driver supports the GPIO banks on BCM6345 SoCs. 126 127config CORTINA_GPIO 128 bool "Cortina-Access GPIO driver" 129 depends on DM_GPIO && CORTINA_PLATFORM 130 help 131 Enable support for the GPIO controller in Cortina CAxxxx SoCs. 132 This driver supports all CPU ISA variants supported by Cortina 133 Access CAxxxx SoCs. 134 135config DWAPB_GPIO 136 bool "DWAPB GPIO driver" 137 depends on DM && DM_GPIO 138 help 139 Support for the Designware APB GPIO driver. 140 141config AT91_GPIO 142 bool "AT91 PIO GPIO driver" 143 depends on ARCH_AT91 144 help 145 Say yes here to select AT91 PIO GPIO driver. AT91 PIO 146 controller manages up to 32 fully programmable input/output 147 lines. Each I/O line may be dedicated as a general-purpose 148 I/O or be assigned to a function of an embedded peripheral. 149 The assignment to a function of an embedded peripheral is 150 the responsibility of AT91 Pinctrl driver. This driver is 151 responsible for the general-purpose I/O. 152 153config ATMEL_PIO4 154 bool "ATMEL PIO4 driver" 155 depends on DM_GPIO && ARCH_AT91 156 help 157 Say yes here to support the Atmel PIO4 driver. 158 The PIO4 is new version of Atmel PIO controller, which manages 159 up to 128 fully programmable input/output lines. Each I/O line 160 may be dedicated as a general purpose I/O or be assigned to 161 a function of an embedded peripheral. 162 163config ASPEED_GPIO 164 bool "Aspeed GPIO Driver" 165 help 166 Say yes here to support the Aspeed GPIO driver. The controller 167 is found in the AST2400, AST2500 and AST2600 BMC SoCs and 168 provides access to over 200 GPIOs on each chip. 169 170config ASPEED_SGPIO 171 bool "Aspeed SGPIO Driver" 172 help 173 Say yes here to support the Aspeed serial GPIO driver. The controller 174 is found in the AST2400, AST2500 and AST2600 BMC SoCs and 175 provides access to generate serial GPIO signal. 176 177config ASPEED_G7_GPIO 178 bool "Aspeed G7 GPIO Driver" 179 help 180 Say yes here to support the Aspeed G7 GPIO driver. The controller 181 is found in the AST2700 BMC SoCs and provides access to over 200 182 GPIOs on each chip. 183 184config DA8XX_GPIO 185 bool "DA8xx GPIO Driver" 186 help 187 This driver supports the DA8xx GPIO controller 188 189config FXL6408_GPIO 190 bool "FXL6408 I2C GPIO expander driver" 191 depends on DM_GPIO && DM_I2C 192 help 193 This driver supports the Fairchild FXL6408 device. FXL6408 is a 194 fully configurable 8-bit I2C-controlled GPIO expander. 195 196config HIKEY_GPIO 197 bool "HI6220 GPIO driver" 198 depends on DM_GPIO && TARGET_HIKEY 199 200config INTEL_BROADWELL_GPIO 201 bool "Intel Broadwell GPIO driver" 202 depends on DM_GPIO && X86 203 help 204 This driver supports Broadwell U devices which have an expanded 205 GPIO feature set. The difference is large enough to merit a separate 206 driver from the common Intel ICH6 driver. It supports a total of 207 95 GPIOs which can be configured from the device tree. 208 209config INTEL_GPIO 210 bool "Intel generic GPIO driver" 211 depends on DM_GPIO && X86 212 help 213 Say yes here to select Intel generic GPIO driver. This controller 214 supports recent chips (e.g. Apollo Lake). It permits basic GPIO 215 control including setting pins to input/output. It makes use of its 216 parent pinctrl driver to actually effect changes. 217 218config INTEL_ICH6_GPIO 219 bool "Intel ICH6 compatible legacy GPIO driver" 220 depends on DM_GPIO && X86 221 help 222 Say yes here to select Intel ICH6 compatible legacy GPIO driver. 223 224config IMX_RGPIO2P 225 bool "i.MX7ULP RGPIO2P driver" 226 depends on DM && (ARCH_MX7ULP || ARCH_IMX8ULP || ARCH_IMX9) 227 help 228 This driver supports i.MX7ULP Rapid GPIO2P controller. 229 230config IPROC_GPIO 231 bool "Broadcom iProc GPIO driver(without pinconf)" 232 help 233 The Broadcom iProc based SoCs- Cygnus, NS2, NS3, NSP and Stingray, 234 use the same GPIO Controller IP hence this driver could be used 235 for all. 236 237 The Broadcom iProc based SoCs have multiple GPIO controllers and only 238 the always-ON GPIO controller (CRMU/AON) is supported by this driver. 239 240config HSDK_CREG_GPIO 241 bool "HSDK CREG GPIO griver" 242 depends on DM_GPIO 243 help 244 This driver supports CREG GPIOs on Synopsys HSDK SOC. 245 246config KIRKWOOD_GPIO 247 bool "Kirkwood GPIO driver" 248 depends on ARCH_KIRKWOOD 249 help 250 This drdiver supports GPIOs on Kirkwood platforms 251 252config LPC32XX_GPIO 253 bool "LPC32XX GPIO driver" 254 depends on DM && ARCH_LPC32XX 255 help 256 Support for the LPC32XX GPIO driver. 257 258config MAX7320_GPIO 259 bool "MAX7320 I2C GPIO Expander driver" 260 depends on DM_GPIO && DM_I2C 261 help 262 Support for MAX7320 I2C 8/16-bit GPIO expander. 263 original maxim device has 8 push/pull outputs, 264 some clones offers 16bit. 265 266config MAX77663_GPIO 267 bool "MAX77663 GPIO cell of PMIC driver" 268 depends on DM_GPIO && DM_PMIC_MAX77663 269 help 270 GPIO driver for MAX77663 PMIC from Maxim Semiconductor. 271 MAX77663 PMIC has 8 pins that can be configured as GPIOs 272 and 3 GPIO-like pins dedicated for power/reset buttons 273 and LID sensor. 274 275config MCP230XX_GPIO 276 bool "MCP230XX GPIO driver" 277 depends on DM 278 help 279 Support for Microchip's MCP230XX I2C connected GPIO devices. 280 The following chips are supported: 281 - MCP23008 282 - MCP23017 283 - MCP23018 284 - MCP23S08 285 - MCP23S17 286 - MCP23S18 287 288config MSCC_SGPIO 289 bool "Microsemi Serial GPIO driver" 290 depends on DM_GPIO && SOC_VCOREIII 291 help 292 Support for the VCoreIII SoC serial GPIO device. By using a 293 serial interface, the SIO controller significantly extends 294 the number of available GPIOs with a minimum number of 295 additional pins on the device. The primary purpose of the 296 SIO controller is to connect control signals from SFP 297 modules and to act as an LED controller. 298 299config MSM_GPIO 300 bool "Qualcomm GPIO driver" 301 depends on DM_GPIO && ARCH_SNAPDRAGON 302 help 303 Support GPIO controllers on Qualcomm Snapdragon family of SoCs. 304 This controller have single bank (default name "soc"), every 305 gpio has it's own set of registers. 306 Only simple GPIO operations are supported (get/set, change of 307 direction and checking pin function). 308 Supported devices: 309 - APQ8016 310 - MSM8916 311 312config MXC_GPIO 313 bool "Freescale/NXP MXC GPIO driver" 314 depends on MACH_IMX 315 help 316 Support GPIO controllers on various i.MX platforms 317 318config MXS_GPIO 319 bool "Freescale/NXP MXS GPIO driver" 320 depends on ARCH_MX23 || ARCH_MX28 321 help 322 Support GPIO controllers on i.MX23 and i.MX28 platforms 323 324config NPCM_GPIO 325 bool "Nuvoton NPCM GPIO driver" 326 depends on DM_GPIO && ARCH_NPCM 327 help 328 Support GPIO controllers on Nuvovon NPCM SoCs. 329 NPCM7xx/NPCM8xx contain 8 GPIO banks, each bank contains 32 pins. 330 331config NPCM_SGPIO 332 bool "Nuvoton NPCM SGPIO driver" 333 depends on DM_GPIO && ARCH_NPCM 334 help 335 Support Nuvoton BMC NPCM7xx/NPCM8xx sgpio driver support. 336 Nuvoton NPCM SGPIO module is combine serial to parallel IC (HC595) 337 and parallel to serial IC (HC165). 338 BMC can use this driver to increase 64 GPI pins and 64 GPO pins to use. 339 340config OMAP_GPIO 341 bool "TI OMAP GPIO driver" 342 depends on ARCH_OMAP2PLUS 343 default y 344 help 345 Support GPIO controllers on the TI OMAP3/4/5 and related (such as 346 AM335x/AM43xx/AM57xx/DRA7xx/etc) families of SoCs. 347 348config CMD_PCA953X 349 bool "Enable the pca953x command" 350 help 351 Deprecated: This should be converted to driver model. 352 353 This command provides access to a pca953x GPIO device using the 354 legacy GPIO interface. Several subcommands are provided which mirror 355 the standard 'gpio' command. It should use that instead. 356 357config QCOM_PMIC_GPIO 358 bool "Qualcomm generic PMIC GPIO/keypad driver" 359 depends on DM_GPIO && PMIC_QCOM 360 select BUTTON 361 help 362 Support for GPIO pins and power/reset buttons found on 363 Qualcomm SoCs PMIC. 364 The GPIO bank is called "pmic" 365 366config PCF8575_GPIO 367 bool "PCF8575 I2C GPIO Expander driver" 368 depends on DM_GPIO && DM_I2C 369 help 370 Support for PCF8575 I2C 16-bit GPIO expander. Most of these 371 chips are from NXP and TI. 372 373config RCAR_GPIO 374 bool "Renesas R-Car GPIO driver" 375 depends on DM_GPIO && ARCH_RENESAS 376 help 377 This driver supports the GPIO banks on Renesas R-Car SoCs. 378 379config RZA1_GPIO 380 bool "Renesas RZ/A1 GPIO driver" 381 depends on DM_GPIO && RZA1 382 help 383 This driver supports the GPIO banks on Renesas RZ/A1 R7S72100 SoCs. 384 385config ROCKCHIP_GPIO 386 bool "Rockchip GPIO driver" 387 depends on DM_GPIO && ARCH_ROCKCHIP 388 help 389 Support GPIO access on Rockchip SoCs. The GPIOs are arranged into 390 a number of banks (different for each SoC type) each with 32 GPIOs. 391 The GPIOs for a device are defined in the device tree with one node 392 for each bank. 393 394config SANDBOX_GPIO 395 bool "Enable sandbox GPIO driver" 396 depends on SANDBOX && DM && DM_GPIO 397 help 398 This driver supports some simulated GPIOs which can be adjusted 399 using 'back door' functions like sandbox_gpio_set_value(). Then the 400 GPIOs can be inspected through the normal get_get_value() 401 interface. The purpose of this is to allow GPIOs to be used as 402 normal in sandbox, perhaps with test code actually driving the 403 behaviour of those GPIOs. 404 405config SANDBOX_GPIO_COUNT 406 int "Number of sandbox GPIOs" 407 depends on SANDBOX_GPIO 408 default 128 409 help 410 The sandbox driver can support any number of GPIOs. Generally these 411 are specified using the device tree. But you can also have a number 412 of 'anonymous' GPIOs that do not belong to any device or bank. 413 Select a suitable value depending on your needs. 414 415config SUNXI_GPIO 416 bool "Allwinner GPIO driver" 417 depends on ARCH_SUNXI 418 select SPL_STRTO if SPL 419 help 420 Support the GPIO device in Allwinner SoCs. 421 422config SUNXI_NEW_PINCTRL 423 bool 424 depends on SUNXI_GPIO 425 ---help--- 426 The Allwinner D1 and other new SoCs use a different register map 427 for the GPIO block, which we need to know about in the SPL. 428 429config XILINX_GPIO 430 bool "Xilinx GPIO driver" 431 depends on DM_GPIO 432 help 433 This config enable the Xilinx GPIO driver for Microblaze. 434 435config TEGRA_GPIO 436 bool "Tegra20..210 GPIO driver" 437 depends on DM_GPIO && ARCH_TEGRA 438 help 439 Support for the GPIO controller contained in NVIDIA Tegra20 through 440 Tegra210. 441 442config TEGRA186_GPIO 443 bool "Tegra186 GPIO driver" 444 depends on DM_GPIO 445 help 446 Support for the GPIO controller contained in NVIDIA Tegra186. This 447 covers both the "main" and "AON" controller instances, even though 448 they have slightly different register layout. 449 450config GPIO_UNIPHIER 451 bool "UniPhier GPIO" 452 depends on ARCH_UNIPHIER 453 help 454 Say yes here to support UniPhier GPIOs. 455 456config VYBRID_GPIO 457 bool "Vybrid GPIO driver" 458 depends on DM && MACH_IMX 459 help 460 Say yes here to support Vybrid vf610 GPIOs. 461 462config PALMAS_GPIO 463 bool "TI PALMAS series PMICs GPIO" 464 depends on DM_GPIO && PMIC_PALMAS 465 help 466 Select this option to enable GPIO driver for the TI PALMAS 467 series chip family. 468 469config PIC32_GPIO 470 bool "Microchip PIC32 GPIO driver" 471 depends on DM_GPIO && MACH_PIC32 472 default y 473 help 474 Say yes here to support Microchip PIC32 GPIOs. 475 476config OCTEON_GPIO 477 bool "Octeon II/III/TX/TX2 GPIO driver" 478 depends on DM_GPIO && PCI && (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2) 479 default y 480 help 481 Add support for the Marvell Octeon GPIO driver. This is used with 482 various Octeon parts such as Octeon II/III and OcteonTX/TX2. 483 Octeon II/III has 32 GPIOs (count defined via DT) and OcteonTX/TX2 484 has 64 GPIOs (count defined via internal register). 485 486config STM32_GPIO 487 bool "ST STM32 GPIO driver" 488 depends on DM_GPIO && (ARCH_STM32 || ARCH_STM32MP) 489 default y 490 help 491 Device model driver support for STM32 GPIO controller. It should be 492 usable on many stm32 families like stm32f4/f7/h7 and stm32mp1. 493 Tested on STM32F7. 494 495config SIFIVE_GPIO 496 bool "SiFive GPIO driver" 497 depends on DM_GPIO && RISCV 498 help 499 Device model driver for GPIO controller present in SiFive FU540 SoC. This 500 driver enables GPIO interface on HiFive Unleashed A00 board. 501 502config MVEBU_GPIO 503 bool "Marvell MVEBU GPIO driver" 504 depends on DM_GPIO && (ARCH_MVEBU || ARCH_KIRKWOOD) 505 default y 506 help 507 Say yes here to support Marvell MVEBU (Armada XP/38x) GPIOs. 508 509config ZYNQ_GPIO 510 bool "Zynq GPIO driver" 511 depends on DM_GPIO 512 default y if ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL || ARCH_VERSAL2 513 help 514 Supports GPIO access on Zynq SoC. 515 516config DM_74X164 517 bool "74x164 serial-in/parallel-out 8-bits shift register" 518 depends on DM_GPIO && DM_SPI 519 help 520 Driver for 74x164 compatible serial-in/parallel-out 8-outputs 521 shift registers, such as 74lv165, 74hc595. 522 This driver can be used to provide access to more gpio outputs. 523 524config DM_PCA953X 525 bool "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports" 526 depends on DM_GPIO && DM_I2C 527 help 528 Say yes here to provide access to several register-oriented 529 SMBus I/O expanders, made mostly by NXP or TI. Compatible 530 models include: 531 532 4 bits: pca9536, pca9537 533 534 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, 535 pca9556, pca9557, pca9574, tca6408, xra1202 536 537 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, 538 tca6416 539 540 24 bits: tca6424 541 542 40 bits: pca9505, pca9698 543 544 Now, max 24 bits chips and PCA953X compatible chips are 545 supported 546 547config ADP5588_GPIO 548 bool "ADP5588 GPIO expander driver" 549 depends on DM_GPIO && DM_I2C 550 help 551 Say yes here to support GPIO functionality of ADI ADP5588 chips. 552 553 The ADP5588 is an 18-port I2C GPIO expander and keypad controller. 554 555config SPL_DM_PCA953X 556 bool "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports in SPL" 557 depends on SPL_DM_GPIO 558 help 559 Say yes here to provide access to several register-oriented 560 SMBus I/O expanders, made mostly by NXP or TI. Compatible 561 models include: 562 563 4 bits: pca9536, pca9537 564 565 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, 566 pca9556, pca9557, pca9574, tca6408, xra1202 567 568 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, 569 tca6416 570 571 24 bits: tca6424 572 573 40 bits: pca9505, pca9698 574 575 Now, max 24 bits chips and PCA953X compatible chips are 576 supported 577 578config PCA953X 579 bool "NXP's PCA953X series I2C GPIO (legacy driver)" 580 depends on !DM_PCA953X 581 582config MPC8XXX_GPIO 583 bool "Freescale MPC8XXX GPIO driver" 584 depends on DM_GPIO && (PPC || ARCH_LS1021A || FSL_LSCH2 || FSL_LSCH3) 585 help 586 This driver supports the built-in GPIO controller of MPC8XXX CPUs. 587 Each GPIO bank is identified by its own entry in the device tree, 588 i.e. 589 590 gpio-controller@fc00 { 591 #gpio-cells = <2>; 592 compatible = "fsl,pq3-gpio"; 593 reg = <0xfc00 0x100> 594 } 595 596 By default, each bank is assumed to have 32 GPIOs, but the ngpios 597 setting is honored, so the number of GPIOs for each bank is 598 configurable to match the actual GPIO count of the SoC (e.g. the 599 32/32/23 banks of the P1022 SoC). 600 601 Aside from the standard functions of input/output mode, and output 602 value setting, the open-drain feature, which can configure individual 603 GPIOs to work as open-drain outputs, is supported. 604 605config QE_GPIO 606 bool "Freescale QUICC ENGINE GPIO driver" 607 depends on DM_GPIO 608 depends on QE 609 help 610 This driver supports the QUICC Engine GPIOs of MPC83XX CPUs. 611 Each GPIO bank is identified by its own entry in the device tree, 612 i.e. 613 614 qe_pio_a: gpio-controller@1400 { 615 compatible = "fsl,mpc8323-qe-pario-bank"; 616 reg = <0x1400 0x18>; 617 gpio-controller; 618 #gpio-cells = <2>; 619 }; 620 621 Each bank has 32 GPIOs. 622 623config MPC8XX_GPIO 624 bool "Freescale MPC8XX GPIO driver" 625 depends on DM_GPIO && PPC 626 help 627 This driver supports parallel IO ports from MPC8XX CPUs. 628 Each GPIO bank is identified by its own entry in the device tree. 629 630config MPC83XX_SPISEL_BOOT 631 bool "Freescale MPC83XX SPISEL_BOOT driver" 632 depends on DM_GPIO && ARCH_MPC830X 633 help 634 GPIO driver to set/clear dedicated SPISEL_BOOT output on MPC83XX. 635 636 This pin is typically used as spi chip select to a spi nor flash. 637 638config MT7620_GPIO 639 bool "MediaTek MT7620 GPIO driver" 640 depends on DM_GPIO && SOC_MT7620 641 default y 642 help 643 Device model driver for GPIO controller present in MediaTek MT7620 644 and earlier SoCs. 645 646config MT7621_GPIO 647 bool "MediaTek MT7621 GPIO driver" 648 depends on DM_GPIO && (SOC_MT7621 || SOC_MT7628) 649 default y 650 help 651 Say yes here to support MediaTek MT7621 compatible GPIOs. 652 653config NX_GPIO 654 bool "Nexell GPIO driver" 655 depends on DM_GPIO 656 help 657 Support GPIO access on Nexell SoCs. The GPIOs are arranged into 658 a number of banks (different for each SoC type) each with 32 GPIOs. 659 The GPIOs for a device are defined in the device tree with one node 660 for each bank. 661 662config NOMADIK_GPIO 663 bool "Nomadik GPIO driver" 664 depends on DM_GPIO 665 help 666 Support GPIO access on ST-Ericsson Ux500 SoCs. The GPIOs are arranged 667 into a number of banks each with 32 GPIOs. The GPIOs for a device are 668 defined in the device tree with one node for each bank. 669 670config ZYNQMP_GPIO_MODEPIN 671 bool "ZynqMP gpio modepin" 672 depends on DM_GPIO && ZYNQMP_FIRMWARE 673 help 674 This config enables the ZynqMP gpio modepin driver. ZynqMP modepin 675 driver will set and get the status of PS_MODE pins. These modepins 676 are accessed using xilinx firmware. In modepin register, [3:0] bits 677 set direction, [7:4] bits read IO, [11:8] bits set/clear IO. 678 679config SH_GPIO_PFC 680 bool "Pinmuxed GPIO support for SuperH" 681 depends on RCAR_GEN2 && !PINCTRL_PFC 682 default y 683 684config SL28CPLD_GPIO 685 bool "Kontron sl28cpld GPIO driver" 686 depends on DM_GPIO && SL28CPLD 687 help 688 Support GPIO access on Kontron sl28cpld board management controllers. 689 690config SLG7XL45106_I2C_GPO 691 bool "slg7xl45106 i2c gpo expander" 692 depends on DM_GPIO && ARCH_ZYNQMP 693 help 694 Support for slg7xl45106 i2c gpo expander. It is an i2c based 695 8-bit gpo expander, all gpo lines are controlled by writing 696 value into data register. 697 698config FTGPIO010 699 bool "Faraday Technology FTGPIO010 driver" 700 depends on DM_GPIO 701 help 702 Support for GPIOs on Faraday Technology's FTGPIO010 controller. 703 704config ADP5585_GPIO 705 bool "ADP5585 GPIO driver" 706 depends on DM_GPIO && DM_I2C 707 help 708 Support ADP5585 GPIO expander. 709 710config RZG2L_GPIO 711 bool "Renesas RZ/G2L family GPIO driver" 712 depends on DM_GPIO && PINCTRL_RZG2L 713 help 714 Support the gpio functionality of the pin function controller (PFC) 715 on the Renesas RZ/G2L SoC family. 716 717config SPL_ADP5585_GPIO 718 bool "ADP5585 GPIO driver in SPL" 719 depends on SPL_DM_GPIO && SPL_I2C 720 help 721 Support ADP5585 GPIO expander in SPL. 722config MPFS_GPIO 723 bool "Enable Polarfire SoC GPIO driver" 724 depends on DM_GPIO 725 help 726 Enable to support the GPIO driver on Polarfire SoC 727 728endif 729