.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | # |
---|
2 | 3 | # GPIO infrastructure and drivers |
---|
3 | 4 | # |
---|
.. | .. |
---|
26 | 27 | range 32 512 |
---|
27 | 28 | default 512 |
---|
28 | 29 | help |
---|
29 | | - This adjusts the point at which certain APIs will switch from |
---|
30 | | - using a stack allocated buffer to a dynamically allocated buffer. |
---|
| 30 | + This adjusts the point at which certain APIs will switch from |
---|
| 31 | + using a stack allocated buffer to a dynamically allocated buffer. |
---|
31 | 32 | |
---|
32 | | - You shouldn't need to change this unless you really need to |
---|
33 | | - optimize either stack space or performance. Change this carefully |
---|
34 | | - since setting an incorrect value could cause stack corruption. |
---|
| 33 | + You shouldn't need to change this unless you really need to |
---|
| 34 | + optimize either stack space or performance. Change this carefully |
---|
| 35 | + since setting an incorrect value could cause stack corruption. |
---|
35 | 36 | |
---|
36 | 37 | config OF_GPIO |
---|
37 | 38 | def_bool y |
---|
.. | .. |
---|
61 | 62 | bool "/sys/class/gpio/... (sysfs interface)" |
---|
62 | 63 | depends on SYSFS |
---|
63 | 64 | help |
---|
64 | | - Say Y here to add a sysfs interface for GPIOs. |
---|
| 65 | + Say Y here to add the legacy sysfs interface for GPIOs. |
---|
65 | 66 | |
---|
66 | | - This is mostly useful to work around omissions in a system's |
---|
67 | | - kernel support. Those are common in custom and semicustom |
---|
68 | | - hardware assembled using standard kernels with a minimum of |
---|
69 | | - custom patches. In those cases, userspace code may import |
---|
70 | | - a given GPIO from the kernel, if no kernel driver requested it. |
---|
| 67 | + This ABI is deprecated. If you want to use GPIO from userspace, |
---|
| 68 | + use the character device /dev/gpiochipN with the appropriate |
---|
| 69 | + ioctl() operations instead. |
---|
71 | 70 | |
---|
72 | | - Kernel drivers may also request that a particular GPIO be |
---|
73 | | - exported to userspace; this can be useful when debugging. |
---|
| 71 | +config GPIO_CDEV |
---|
| 72 | + bool |
---|
| 73 | + prompt "Character device (/dev/gpiochipN) support" if EXPERT |
---|
| 74 | + default y |
---|
| 75 | + help |
---|
| 76 | + Say Y here to add the character device /dev/gpiochipN interface |
---|
| 77 | + for GPIOs. The character device allows userspace to control GPIOs |
---|
| 78 | + using ioctl() operations. |
---|
| 79 | + |
---|
| 80 | + Only say N if you are sure that the GPIO character device is not |
---|
| 81 | + required. |
---|
| 82 | + |
---|
| 83 | + If unsure, say Y. |
---|
| 84 | + |
---|
| 85 | +config GPIO_CDEV_V1 |
---|
| 86 | + bool "Support GPIO ABI Version 1" |
---|
| 87 | + default y |
---|
| 88 | + depends on GPIO_CDEV |
---|
| 89 | + help |
---|
| 90 | + Say Y here to support version 1 of the GPIO CDEV ABI. |
---|
| 91 | + |
---|
| 92 | + This ABI version is deprecated. |
---|
| 93 | + Please use the latest ABI for new developments. |
---|
| 94 | + |
---|
| 95 | + If unsure, say Y. |
---|
74 | 96 | |
---|
75 | 97 | config GPIO_GENERIC |
---|
76 | 98 | depends on HAS_IOMEM # Only for IOMEM drivers |
---|
| 99 | + tristate |
---|
| 100 | + |
---|
| 101 | +config GPIO_REGMAP |
---|
| 102 | + select REGMAP |
---|
77 | 103 | tristate |
---|
78 | 104 | |
---|
79 | 105 | # put drivers in the right section, in alphabetical order |
---|
.. | .. |
---|
123 | 149 | help |
---|
124 | 150 | Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers. |
---|
125 | 151 | |
---|
| 152 | +config GPIO_ASPEED_SGPIO |
---|
| 153 | + bool "Aspeed SGPIO support" |
---|
| 154 | + depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO |
---|
| 155 | + select GPIO_GENERIC |
---|
| 156 | + select GPIOLIB_IRQCHIP |
---|
| 157 | + help |
---|
| 158 | + Say Y here to support Aspeed AST2500 SGPIO functionality. |
---|
| 159 | + |
---|
126 | 160 | config GPIO_ATH79 |
---|
127 | 161 | tristate "Atheros AR71XX/AR724X/AR913X GPIO support" |
---|
128 | 162 | default y if ATH79 |
---|
.. | .. |
---|
150 | 184 | help |
---|
151 | 185 | Turn on GPIO support for Broadcom "Kona" chips. |
---|
152 | 186 | |
---|
| 187 | +config GPIO_BCM_XGS_IPROC |
---|
| 188 | + tristate "BRCM XGS iProc GPIO support" |
---|
| 189 | + depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST) |
---|
| 190 | + select GPIO_GENERIC |
---|
| 191 | + select GPIOLIB_IRQCHIP |
---|
| 192 | + default ARCH_BCM_IPROC |
---|
| 193 | + help |
---|
| 194 | + Say yes here to enable GPIO support for Broadcom XGS iProc SoCs. |
---|
| 195 | + |
---|
153 | 196 | config GPIO_BRCMSTB |
---|
154 | 197 | tristate "BRCMSTB GPIO support" |
---|
155 | 198 | default y if (ARCH_BRCMSTB || BMIPS_GENERIC) |
---|
.. | .. |
---|
158 | 201 | select IRQ_DOMAIN |
---|
159 | 202 | help |
---|
160 | 203 | Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs. |
---|
| 204 | + |
---|
| 205 | +config GPIO_CADENCE |
---|
| 206 | + tristate "Cadence GPIO support" |
---|
| 207 | + depends on OF_GPIO |
---|
| 208 | + select GPIO_GENERIC |
---|
| 209 | + select GPIOLIB_IRQCHIP |
---|
| 210 | + help |
---|
| 211 | + Say yes here to enable support for Cadence GPIO controller. |
---|
161 | 212 | |
---|
162 | 213 | config GPIO_CLPS711X |
---|
163 | 214 | tristate "CLPS711X GPIO support" |
---|
.. | .. |
---|
169 | 220 | config GPIO_DAVINCI |
---|
170 | 221 | bool "TI Davinci/Keystone GPIO support" |
---|
171 | 222 | default y if ARCH_DAVINCI |
---|
172 | | - depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE) |
---|
| 223 | + depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3) |
---|
173 | 224 | help |
---|
174 | 225 | Say yes here to enable GPIO support for TI Davinci/Keystone SoCs. |
---|
175 | 226 | |
---|
176 | 227 | config GPIO_DWAPB |
---|
177 | 228 | tristate "Synopsys DesignWare APB GPIO driver" |
---|
178 | 229 | select GPIO_GENERIC |
---|
179 | | - select GENERIC_IRQ_CHIP |
---|
| 230 | + select GPIOLIB_IRQCHIP |
---|
180 | 231 | help |
---|
181 | 232 | Say Y or M here to build support for the Synopsys DesignWare APB |
---|
182 | 233 | GPIO block. |
---|
.. | .. |
---|
199 | 250 | def_bool y |
---|
200 | 251 | depends on ARCH_EP93XX |
---|
201 | 252 | select GPIO_GENERIC |
---|
| 253 | + select GPIOLIB_IRQCHIP |
---|
202 | 254 | |
---|
203 | 255 | config GPIO_EXAR |
---|
204 | 256 | tristate "Support for GPIO pins on XR17V352/354/358" |
---|
.. | .. |
---|
248 | 300 | tristate "Nintendo Wii (Hollywood) GPIO" |
---|
249 | 301 | depends on OF_GPIO |
---|
250 | 302 | select GPIO_GENERIC |
---|
| 303 | + select GPIOLIB_IRQCHIP |
---|
251 | 304 | help |
---|
252 | 305 | Select this to support the GPIO controller of the Nintendo Wii. |
---|
253 | 306 | |
---|
.. | .. |
---|
266 | 319 | |
---|
267 | 320 | If unsure, say N. |
---|
268 | 321 | |
---|
269 | | -config GPIO_INGENIC |
---|
270 | | - tristate "Ingenic JZ47xx SoCs GPIO support" |
---|
271 | | - depends on OF |
---|
272 | | - depends on MACH_INGENIC || COMPILE_TEST |
---|
273 | | - select GPIOLIB_IRQCHIP |
---|
274 | | - help |
---|
275 | | - Say yes here to support the GPIO functionality present on the |
---|
276 | | - JZ4740 and JZ4780 SoCs from Ingenic. |
---|
277 | | - |
---|
278 | | - If unsure, say N. |
---|
279 | | - |
---|
280 | 322 | config GPIO_IOP |
---|
281 | 323 | tristate "Intel IOP GPIO" |
---|
282 | | - depends on ARCH_IOP32X || ARCH_IOP33X || COMPILE_TEST |
---|
| 324 | + depends on ARCH_IOP32X || COMPILE_TEST |
---|
283 | 325 | select GPIO_GENERIC |
---|
284 | 326 | help |
---|
285 | 327 | Say yes here to support the GPIO functionality of a number of Intel |
---|
.. | .. |
---|
287 | 329 | |
---|
288 | 330 | If unsure, say N. |
---|
289 | 331 | |
---|
| 332 | +config GPIO_IXP4XX |
---|
| 333 | + bool "Intel IXP4xx GPIO" |
---|
| 334 | + depends on ARM # For <asm/mach-types.h> |
---|
| 335 | + depends on ARCH_IXP4XX |
---|
| 336 | + select GPIO_GENERIC |
---|
| 337 | + select GPIOLIB_IRQCHIP |
---|
| 338 | + select IRQ_DOMAIN_HIERARCHY |
---|
| 339 | + help |
---|
| 340 | + Say yes here to support the GPIO functionality of a number of Intel |
---|
| 341 | + IXP4xx series of chips. |
---|
| 342 | + |
---|
| 343 | + If unsure, say N. |
---|
| 344 | +config GPIO_LOGICVC |
---|
| 345 | + tristate "Xylon LogiCVC GPIO support" |
---|
| 346 | + depends on MFD_SYSCON && OF |
---|
| 347 | + help |
---|
| 348 | + Say yes here to support GPIO functionality of the Xylon LogiCVC |
---|
| 349 | + programmable logic block. |
---|
| 350 | + |
---|
290 | 351 | config GPIO_LOONGSON |
---|
291 | 352 | bool "Loongson-2/3 GPIO support" |
---|
292 | | - depends on CPU_LOONGSON2 || CPU_LOONGSON3 |
---|
| 353 | + depends on CPU_LOONGSON2EF || CPU_LOONGSON64 |
---|
293 | 354 | help |
---|
294 | 355 | driver for GPIO functionality on Loongson-2F/3A/3B processors. |
---|
295 | 356 | |
---|
.. | .. |
---|
297 | 358 | tristate "NXP LPC18XX/43XX GPIO support" |
---|
298 | 359 | default y if ARCH_LPC18XX |
---|
299 | 360 | depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST) |
---|
| 361 | + select IRQ_DOMAIN_HIERARCHY |
---|
300 | 362 | help |
---|
301 | 363 | Select this option to enable GPIO driver for |
---|
302 | 364 | NXP LPC18XX/43XX devices. |
---|
303 | 365 | |
---|
304 | | -config GPIO_LYNXPOINT |
---|
305 | | - tristate "Intel Lynxpoint GPIO support" |
---|
306 | | - depends on ACPI && X86 |
---|
307 | | - select GPIOLIB_IRQCHIP |
---|
| 366 | +config GPIO_LPC32XX |
---|
| 367 | + tristate "NXP LPC32XX GPIO support" |
---|
| 368 | + depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST) |
---|
308 | 369 | help |
---|
309 | | - driver for GPIO functionality on Intel Lynxpoint PCH chipset |
---|
310 | | - Requires ACPI device enumeration code to set up a platform device. |
---|
| 370 | + Select this option to enable GPIO driver for |
---|
| 371 | + NXP LPC32XX devices. |
---|
311 | 372 | |
---|
312 | 373 | config GPIO_MB86S7X |
---|
313 | 374 | tristate "GPIO support for Fujitsu MB86S7x Platforms" |
---|
.. | .. |
---|
319 | 380 | depends on MCB |
---|
320 | 381 | select GPIO_GENERIC |
---|
321 | 382 | help |
---|
322 | | - Say yes here to support the MEN 16Z127 GPIO Controller |
---|
| 383 | + Say yes here to support the MEN 16Z127 GPIO Controller |
---|
323 | 384 | |
---|
324 | 385 | config GPIO_MM_LANTIQ |
---|
325 | 386 | bool "Lantiq Memory mapped GPIOs" |
---|
.. | .. |
---|
328 | 389 | This enables support for memory mapped GPIOs on the External Bus Unit |
---|
329 | 390 | (EBU) found on Lantiq SoCs. The gpios are output only as they are |
---|
330 | 391 | created by attaching a 16bit latch to the bus. |
---|
331 | | - |
---|
332 | | -config GPIO_MOCKUP |
---|
333 | | - tristate "GPIO Testing Driver" |
---|
334 | | - depends on GPIOLIB && SYSFS |
---|
335 | | - select GPIO_SYSFS |
---|
336 | | - select GPIOLIB_IRQCHIP |
---|
337 | | - select IRQ_SIM |
---|
338 | | - help |
---|
339 | | - This enables GPIO Testing driver, which provides a way to test GPIO |
---|
340 | | - subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS |
---|
341 | | - must be selected for this test. |
---|
342 | | - User could use it through the script in |
---|
343 | | - tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in |
---|
344 | | - it. |
---|
345 | 392 | |
---|
346 | 393 | config GPIO_MPC5200 |
---|
347 | 394 | def_bool y |
---|
.. | .. |
---|
375 | 422 | select REGMAP_MMIO |
---|
376 | 423 | |
---|
377 | 424 | config GPIO_MXC |
---|
378 | | - def_bool y |
---|
379 | | - depends on ARCH_MXC |
---|
| 425 | + tristate "i.MX GPIO support" |
---|
| 426 | + depends on ARCH_MXC || COMPILE_TEST |
---|
380 | 427 | select GPIO_GENERIC |
---|
381 | 428 | select GENERIC_IRQ_CHIP |
---|
382 | 429 | |
---|
383 | 430 | config GPIO_MXS |
---|
384 | | - def_bool y |
---|
385 | | - depends on ARCH_MXS |
---|
| 431 | + bool "Freescale MXS GPIO support" if COMPILE_TEST |
---|
| 432 | + depends on ARCH_MXS || COMPILE_TEST |
---|
| 433 | + default y if ARCH_MXS |
---|
386 | 434 | select GPIO_GENERIC |
---|
387 | 435 | select GENERIC_IRQ_CHIP |
---|
388 | 436 | |
---|
389 | 437 | config GPIO_OCTEON |
---|
390 | 438 | tristate "Cavium OCTEON GPIO" |
---|
391 | | - depends on GPIOLIB && CAVIUM_OCTEON_SOC |
---|
| 439 | + depends on CAVIUM_OCTEON_SOC |
---|
392 | 440 | default y |
---|
393 | 441 | help |
---|
394 | 442 | Say yes here to support the on-chip GPIO lines on the OCTEON |
---|
.. | .. |
---|
404 | 452 | Say yes here to enable GPIO support for TI OMAP SoCs. |
---|
405 | 453 | |
---|
406 | 454 | config GPIO_PL061 |
---|
407 | | - bool "PrimeCell PL061 GPIO support" |
---|
| 455 | + tristate "PrimeCell PL061 GPIO support" |
---|
408 | 456 | depends on ARM_AMBA |
---|
409 | 457 | select IRQ_DOMAIN |
---|
410 | 458 | select GPIOLIB_IRQCHIP |
---|
.. | .. |
---|
421 | 469 | |
---|
422 | 470 | config GPIO_PXA |
---|
423 | 471 | bool "PXA GPIO support" |
---|
424 | | - depends on ARCH_PXA || ARCH_MMP |
---|
| 472 | + depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST |
---|
425 | 473 | help |
---|
426 | 474 | Say yes here to support the PXA GPIO device |
---|
427 | 475 | |
---|
.. | .. |
---|
431 | 479 | select GPIOLIB_IRQCHIP |
---|
432 | 480 | help |
---|
433 | 481 | Say yes here to support GPIO on Renesas R-Car SoCs. |
---|
| 482 | + |
---|
| 483 | +config GPIO_RDA |
---|
| 484 | + bool "RDA Micro GPIO controller support" |
---|
| 485 | + depends on ARCH_RDA || COMPILE_TEST |
---|
| 486 | + depends on OF_GPIO |
---|
| 487 | + select GPIO_GENERIC |
---|
| 488 | + select GPIOLIB_IRQCHIP |
---|
| 489 | + help |
---|
| 490 | + Say Y here to support RDA Micro GPIO controller. |
---|
434 | 491 | |
---|
435 | 492 | config GPIO_REG |
---|
436 | 493 | bool |
---|
.. | .. |
---|
445 | 502 | default ARCH_ROCKCHIP |
---|
446 | 503 | help |
---|
447 | 504 | Say yes here to support GPIO on Rockchip SoCs. |
---|
| 505 | + |
---|
| 506 | +config GPIO_SAMA5D2_PIOBU |
---|
| 507 | + tristate "SAMA5D2 PIOBU GPIO support" |
---|
| 508 | + depends on MFD_SYSCON |
---|
| 509 | + depends on OF_GPIO |
---|
| 510 | + select GPIO_SYSCON |
---|
| 511 | + help |
---|
| 512 | + Say yes here to use the PIOBU pins as GPIOs. |
---|
| 513 | + |
---|
| 514 | + PIOBU pins on the SAMA5D2 can be used as GPIOs. |
---|
| 515 | + The difference from regular GPIOs is that they |
---|
| 516 | + maintain their value during backup/self-refresh. |
---|
| 517 | + |
---|
| 518 | +config GPIO_SIFIVE |
---|
| 519 | + bool "SiFive GPIO support" |
---|
| 520 | + depends on OF_GPIO |
---|
| 521 | + select IRQ_DOMAIN_HIERARCHY |
---|
| 522 | + select GPIO_GENERIC |
---|
| 523 | + select GPIOLIB_IRQCHIP |
---|
| 524 | + select REGMAP_MMIO |
---|
| 525 | + help |
---|
| 526 | + Say yes here to support the GPIO device on SiFive SoCs. |
---|
| 527 | + |
---|
| 528 | +config GPIO_SIOX |
---|
| 529 | + tristate "SIOX GPIO support" |
---|
| 530 | + depends on SIOX |
---|
| 531 | + select GPIOLIB_IRQCHIP |
---|
| 532 | + help |
---|
| 533 | + Say yes here to support SIOX I/O devices. These are units connected |
---|
| 534 | + via a SIOX bus and have a number of fixed-direction I/O lines. |
---|
| 535 | + |
---|
| 536 | +config GPIO_SNPS_CREG |
---|
| 537 | + bool "Synopsys GPIO via CREG (Control REGisters) driver" |
---|
| 538 | + depends on ARC || COMPILE_TEST |
---|
| 539 | + depends on OF_GPIO |
---|
| 540 | + help |
---|
| 541 | + This driver supports GPIOs via CREG on various Synopsys SoCs. |
---|
| 542 | + This is a single-register MMIO GPIO driver for complex cases |
---|
| 543 | + where only several fields in register belong to GPIO lines and |
---|
| 544 | + each GPIO line owns a field with different length and on/off value. |
---|
448 | 545 | |
---|
449 | 546 | config GPIO_SPEAR_SPICS |
---|
450 | 547 | bool "ST SPEAr13xx SPI Chip Select as GPIO support" |
---|
.. | .. |
---|
471 | 568 | |
---|
472 | 569 | config GPIO_STP_XWAY |
---|
473 | 570 | bool "XWAY STP GPIOs" |
---|
474 | | - depends on SOC_XWAY |
---|
| 571 | + depends on SOC_XWAY || COMPILE_TEST |
---|
| 572 | + depends on OF_GPIO |
---|
475 | 573 | help |
---|
476 | 574 | This enables support for the Serial To Parallel (STP) unit found on |
---|
477 | 575 | XWAY SoC. The STP allows the SoC to drive a shift registers cascade, |
---|
.. | .. |
---|
487 | 585 | |
---|
488 | 586 | config GPIO_TB10X |
---|
489 | 587 | bool |
---|
| 588 | + select GPIO_GENERIC |
---|
490 | 589 | select GENERIC_IRQ_CHIP |
---|
491 | 590 | select OF_GPIO |
---|
492 | 591 | |
---|
.. | .. |
---|
500 | 599 | |
---|
501 | 600 | config GPIO_TEGRA186 |
---|
502 | 601 | tristate "NVIDIA Tegra186 GPIO support" |
---|
503 | | - default ARCH_TEGRA_186_SOC |
---|
504 | | - depends on ARCH_TEGRA_186_SOC || COMPILE_TEST |
---|
| 602 | + default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC |
---|
| 603 | + depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || COMPILE_TEST |
---|
505 | 604 | depends on OF_GPIO |
---|
506 | 605 | select GPIOLIB_IRQCHIP |
---|
| 606 | + select IRQ_DOMAIN_HIERARCHY |
---|
507 | 607 | help |
---|
508 | 608 | Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs. |
---|
509 | 609 | |
---|
.. | .. |
---|
519 | 619 | tristate "Cavium ThunderX/OCTEON-TX GPIO" |
---|
520 | 620 | depends on ARCH_THUNDER || (64BIT && COMPILE_TEST) |
---|
521 | 621 | depends on PCI_MSI |
---|
| 622 | + select GPIOLIB_IRQCHIP |
---|
522 | 623 | select IRQ_DOMAIN_HIERARCHY |
---|
523 | 624 | select IRQ_FASTEOI_HIERARCHY_HANDLERS |
---|
524 | 625 | help |
---|
.. | .. |
---|
558 | 659 | additional drivers must be enabled in order to use the |
---|
559 | 660 | functionality of the device. |
---|
560 | 661 | |
---|
| 662 | +config GPIO_WCD934X |
---|
| 663 | + tristate "Qualcomm Technologies Inc WCD9340/WCD9341 gpio controller driver" |
---|
| 664 | + depends on MFD_WCD934X && OF_GPIO |
---|
| 665 | + help |
---|
| 666 | + This driver is to supprot GPIO block found on the Qualcomm Technologies |
---|
| 667 | + Inc WCD9340/WCD9341 Audio Codec. |
---|
| 668 | + |
---|
561 | 669 | config GPIO_XGENE |
---|
562 | 670 | bool "APM X-Gene GPIO controller support" |
---|
563 | 671 | depends on ARM64 && OF_GPIO |
---|
.. | .. |
---|
569 | 677 | |
---|
570 | 678 | config GPIO_XGENE_SB |
---|
571 | 679 | tristate "APM X-Gene GPIO standby controller support" |
---|
572 | | - depends on ARCH_XGENE && OF_GPIO |
---|
| 680 | + depends on (ARCH_XGENE || COMPILE_TEST) |
---|
573 | 681 | select GPIO_GENERIC |
---|
574 | 682 | select GPIOLIB_IRQCHIP |
---|
575 | 683 | select IRQ_DOMAIN_HIERARCHY |
---|
.. | .. |
---|
579 | 687 | |
---|
580 | 688 | config GPIO_XILINX |
---|
581 | 689 | tristate "Xilinx GPIO support" |
---|
582 | | - depends on OF_GPIO |
---|
583 | 690 | help |
---|
584 | 691 | Say yes here to support the Xilinx FPGA GPIO device |
---|
585 | 692 | |
---|
.. | .. |
---|
631 | 738 | help |
---|
632 | 739 | Say Y or M here to support GPIO on Loongson1 SoCs. |
---|
633 | 740 | |
---|
| 741 | +config GPIO_AMD_FCH |
---|
| 742 | + tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)" |
---|
| 743 | + help |
---|
| 744 | + This option enables driver for GPIO on AMDs Fusion Controller Hub, |
---|
| 745 | + as found on G-series SOCs (eg. GX-412TC) |
---|
| 746 | + |
---|
| 747 | + Note: This driver doesn't registers itself automatically, as it |
---|
| 748 | + needs to be provided with platform specific configuration. |
---|
| 749 | + (See eg. CONFIG_PCENGINES_APU2.) |
---|
634 | 750 | endmenu |
---|
635 | 751 | |
---|
636 | 752 | menu "Port-mapped I/O GPIO drivers" |
---|
.. | .. |
---|
808 | 924 | enough to represent all pins, but the driver will assume a |
---|
809 | 925 | register layout for 64 pins (8 registers). |
---|
810 | 926 | |
---|
| 927 | +config GPIO_AW9110 |
---|
| 928 | + tristate "AW9110 I2C GPIO expanders" |
---|
| 929 | + select GPIOLIB_IRQCHIP |
---|
| 930 | + select IRQ_DOMAIN |
---|
| 931 | + help |
---|
| 932 | + Say yes here to provide access to I2C |
---|
| 933 | + GPIO expanders used for additional digital outputs or inputs. |
---|
| 934 | + Your board setup code will need to declare the expanders in |
---|
| 935 | + use, and assign numbers to the GPIOs they expose. Those GPIOs |
---|
| 936 | + can then be used from drivers and other kernel code, just like |
---|
| 937 | + other GPIOs, but only accessible from task contexts. |
---|
| 938 | + |
---|
| 939 | + This driver provides an in-kernel interface to those GPIOs using |
---|
| 940 | + platform-neutral GPIO calls. |
---|
| 941 | + |
---|
| 942 | +config GPIO_GW_PLD |
---|
| 943 | + tristate "Gateworks PLD GPIO Expander" |
---|
| 944 | + depends on OF_GPIO |
---|
| 945 | + help |
---|
| 946 | + Say yes here to provide access to the Gateworks I2C PLD GPIO |
---|
| 947 | + Expander. This is used at least on the Cambria GW2358-4. |
---|
| 948 | + |
---|
811 | 949 | config GPIO_MAX7300 |
---|
812 | 950 | tristate "Maxim MAX7300 GPIO expander" |
---|
813 | 951 | select GPIO_MAX730X |
---|
.. | .. |
---|
823 | 961 | Input and Output (designed by 'P'). The combinations are listed |
---|
824 | 962 | below: |
---|
825 | 963 | |
---|
826 | | - 8 bits: max7319 (8I), max7320 (8O), max7321 (8P), |
---|
827 | | - max7322 (4I4O), max7323 (4P4O) |
---|
| 964 | + 8 bits: max7319 (8I), max7320 (8O), max7321 (8P), |
---|
| 965 | + max7322 (4I4O), max7323 (4P4O) |
---|
828 | 966 | |
---|
829 | | - 16 bits: max7324 (8I8O), max7325 (8P8O), |
---|
830 | | - max7326 (4I12O), max7327 (4P12O) |
---|
| 967 | + 16 bits: max7324 (8I8O), max7325 (8P8O), |
---|
| 968 | + max7326 (4I12O), max7327 (4P12O) |
---|
831 | 969 | |
---|
832 | 970 | Board setup code must specify the model to use, and the start |
---|
833 | 971 | number for these GPIOs. |
---|
.. | .. |
---|
846 | 984 | help |
---|
847 | 985 | Select this to enable the MC9S08DZ60 GPIO driver |
---|
848 | 986 | |
---|
| 987 | +config GPIO_NCA9539 |
---|
| 988 | + tristate "NCA9539 I2C GPIO expander" |
---|
| 989 | + depends on I2C || COMPILE_TEST |
---|
| 990 | + select REGMAP_I2C |
---|
| 991 | + help |
---|
| 992 | + Say yes here to support the NCA9539 series of I2C Expanders. |
---|
| 993 | + GPIO expanders used for additional digital outputs or inputs. |
---|
| 994 | + |
---|
849 | 995 | config GPIO_PCA953X |
---|
850 | 996 | tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports" |
---|
| 997 | + select REGMAP_I2C |
---|
851 | 998 | help |
---|
852 | 999 | Say yes here to provide access to several register-oriented |
---|
853 | 1000 | SMBus I/O expanders, made mostly by NXP or TI. Compatible |
---|
854 | 1001 | models include: |
---|
855 | 1002 | |
---|
856 | | - 4 bits: pca9536, pca9537 |
---|
| 1003 | + 4 bits: pca9536, pca9537 |
---|
857 | 1004 | |
---|
858 | | - 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, |
---|
859 | | - pca9556, pca9557, pca9574, tca6408, tca9554, xra1202 |
---|
| 1005 | + 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554, |
---|
| 1006 | + pca9556, pca9557, pca9574, tca6408, tca9554, xra1202 |
---|
860 | 1007 | |
---|
861 | | - 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, |
---|
862 | | - tca6416 |
---|
| 1008 | + 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575, |
---|
| 1009 | + tca6416 |
---|
863 | 1010 | |
---|
864 | | - 24 bits: tca6424 |
---|
| 1011 | + 24 bits: tca6424 |
---|
865 | 1012 | |
---|
866 | | - 40 bits: pca9505, pca9698 |
---|
| 1013 | + 40 bits: pca9505, pca9698 |
---|
867 | 1014 | |
---|
868 | 1015 | config GPIO_PCA953X_IRQ |
---|
869 | 1016 | bool "Interrupt controller support for PCA953x" |
---|
870 | | - depends on GPIO_PCA953X=y |
---|
| 1017 | + depends on GPIO_PCA953X |
---|
871 | 1018 | select GPIOLIB_IRQCHIP |
---|
872 | 1019 | help |
---|
873 | 1020 | Say yes here to enable the pca953x to be used as an interrupt |
---|
874 | 1021 | controller. It requires the driver to be built in the kernel. |
---|
| 1022 | + |
---|
| 1023 | +config GPIO_PCA9570 |
---|
| 1024 | + tristate "PCA9570 4-Bit I2C GPO expander" |
---|
| 1025 | + help |
---|
| 1026 | + Say yes here to enable the GPO driver for the NXP PCA9570 chip. |
---|
| 1027 | + |
---|
| 1028 | + To compile this driver as a module, choose M here: the module will |
---|
| 1029 | + be called gpio-pca9570. |
---|
875 | 1030 | |
---|
876 | 1031 | config GPIO_PCF857X |
---|
877 | 1032 | tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders" |
---|
.. | .. |
---|
885 | 1040 | |
---|
886 | 1041 | 8 bits: pcf8574, pcf8574a, pca8574, pca8574a, |
---|
887 | 1042 | pca9670, pca9672, pca9674, pca9674a, |
---|
888 | | - max7328, max7329 |
---|
| 1043 | + max7328, max7329 |
---|
889 | 1044 | |
---|
890 | 1045 | 16 bits: pcf8575, pcf8575c, pca8575, |
---|
891 | 1046 | pca9671, pca9673, pca9675 |
---|
.. | .. |
---|
938 | 1093 | depends on MFD_ARIZONA |
---|
939 | 1094 | help |
---|
940 | 1095 | Support for GPIOs on Wolfson Arizona class devices. |
---|
| 1096 | + |
---|
| 1097 | +config GPIO_BD70528 |
---|
| 1098 | + tristate "ROHM BD70528 GPIO support" |
---|
| 1099 | + depends on MFD_ROHM_BD70528 |
---|
| 1100 | + help |
---|
| 1101 | + Support for GPIOs on ROHM BD70528 PMIC. There are four GPIOs |
---|
| 1102 | + available on the ROHM PMIC in total. The GPIOs can also |
---|
| 1103 | + generate interrupts. |
---|
| 1104 | + |
---|
| 1105 | + This driver can also be built as a module. If so, the module |
---|
| 1106 | + will be called gpio-bd70528. |
---|
| 1107 | + |
---|
| 1108 | +config GPIO_BD71828 |
---|
| 1109 | + tristate "ROHM BD71828 GPIO support" |
---|
| 1110 | + depends on MFD_ROHM_BD71828 |
---|
| 1111 | + help |
---|
| 1112 | + Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs |
---|
| 1113 | + available on the ROHM PMIC in total. The GPIOs are limited to |
---|
| 1114 | + outputs only and pins must be configured to GPIO outputs by |
---|
| 1115 | + OTP. Enable this only if you want to use these pins as outputs. |
---|
| 1116 | + |
---|
| 1117 | + This driver can also be built as a module. If so, the module |
---|
| 1118 | + will be called gpio-bd71828. |
---|
941 | 1119 | |
---|
942 | 1120 | config GPIO_BD9571MWV |
---|
943 | 1121 | tristate "ROHM BD9571 GPIO support" |
---|
.. | .. |
---|
1005 | 1183 | |
---|
1006 | 1184 | config HTC_EGPIO |
---|
1007 | 1185 | bool "HTC EGPIO support" |
---|
1008 | | - depends on GPIOLIB && ARM |
---|
| 1186 | + depends on ARM |
---|
1009 | 1187 | help |
---|
1010 | | - This driver supports the CPLD egpio chip present on |
---|
1011 | | - several HTC phones. It provides basic support for input |
---|
1012 | | - pins, output pins, and irqs. |
---|
| 1188 | + This driver supports the CPLD egpio chip present on |
---|
| 1189 | + several HTC phones. It provides basic support for input |
---|
| 1190 | + pins, output pins, and irqs. |
---|
1013 | 1191 | |
---|
1014 | 1192 | config GPIO_JANZ_TTL |
---|
1015 | 1193 | tristate "Janz VMOD-TTL Digital IO Module" |
---|
.. | .. |
---|
1045 | 1223 | on LP873X PMICs. |
---|
1046 | 1224 | |
---|
1047 | 1225 | This driver can also be built as a module. If so, the module will be |
---|
1048 | | - called gpio-lp873x. |
---|
| 1226 | + called gpio-lp873x. |
---|
1049 | 1227 | |
---|
1050 | 1228 | config GPIO_LP87565 |
---|
1051 | 1229 | tristate "TI LP87565 GPIO" |
---|
.. | .. |
---|
1073 | 1251 | driver also provides interrupt support for each of the gpios. |
---|
1074 | 1252 | Say yes here to enable the max77620 to be used as gpio controller. |
---|
1075 | 1253 | |
---|
| 1254 | +config GPIO_MAX77650 |
---|
| 1255 | + tristate "Maxim MAX77650/77651 GPIO support" |
---|
| 1256 | + depends on MFD_MAX77650 |
---|
| 1257 | + help |
---|
| 1258 | + GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor. |
---|
| 1259 | + These chips have a single pin that can be configured as GPIO. |
---|
| 1260 | + |
---|
1076 | 1261 | config GPIO_MSIC |
---|
1077 | 1262 | bool "Intel MSIC mixed signal gpio support" |
---|
1078 | 1263 | depends on (X86 || COMPILE_TEST) && MFD_INTEL_MSIC |
---|
.. | .. |
---|
1096 | 1281 | This driver provides the support for driving/reading the gpio pins |
---|
1097 | 1282 | of RC5T583 device through standard gpio library. |
---|
1098 | 1283 | |
---|
| 1284 | +config GPIO_SL28CPLD |
---|
| 1285 | + tristate "Kontron sl28cpld GPIO support" |
---|
| 1286 | + depends on MFD_SL28CPLD || COMPILE_TEST |
---|
| 1287 | + select GPIO_REGMAP |
---|
| 1288 | + select GPIOLIB_IRQCHIP |
---|
| 1289 | + select REGMAP_IRQ |
---|
| 1290 | + help |
---|
| 1291 | + This enables support for the GPIOs found on the Kontron sl28 CPLD. |
---|
| 1292 | + |
---|
| 1293 | + This driver can also be built as a module. If so, the module will be |
---|
| 1294 | + called gpio-sl28cpld. |
---|
| 1295 | + |
---|
1099 | 1296 | config GPIO_STMPE |
---|
1100 | 1297 | bool "STMPE GPIOs" |
---|
1101 | 1298 | depends on MFD_STMPE |
---|
.. | .. |
---|
1117 | 1314 | config GPIO_TIMBERDALE |
---|
1118 | 1315 | bool "Support for timberdale GPIO IP" |
---|
1119 | 1316 | depends on MFD_TIMBERDALE |
---|
1120 | | - ---help--- |
---|
| 1317 | + help |
---|
1121 | 1318 | Add support for the GPIO IP in the timberdale FPGA. |
---|
1122 | 1319 | |
---|
1123 | 1320 | config GPIO_TPS65086 |
---|
.. | .. |
---|
1167 | 1364 | This driver config is bool, as the GPIO functionality |
---|
1168 | 1365 | of the TPS68470 must be available before dependent |
---|
1169 | 1366 | drivers are loaded. |
---|
| 1367 | + |
---|
| 1368 | +config GPIO_TQMX86 |
---|
| 1369 | + tristate "TQ-Systems QTMX86 GPIO" |
---|
| 1370 | + depends on MFD_TQMX86 || COMPILE_TEST |
---|
| 1371 | + depends on HAS_IOPORT_MAP |
---|
| 1372 | + select GPIOLIB_IRQCHIP |
---|
| 1373 | + help |
---|
| 1374 | + This driver supports GPIO on the TQMX86 IO controller. |
---|
1170 | 1375 | |
---|
1171 | 1376 | config GPIO_TWL4030 |
---|
1172 | 1377 | tristate "TWL4030, TWL5030, and TPS659x0 GPIOs" |
---|
.. | .. |
---|
1231 | 1436 | config GPIO_AMD8111 |
---|
1232 | 1437 | tristate "AMD 8111 GPIO driver" |
---|
1233 | 1438 | depends on X86 || COMPILE_TEST |
---|
| 1439 | + depends on HAS_IOPORT_MAP |
---|
1234 | 1440 | help |
---|
1235 | 1441 | The AMD 8111 south bridge contains 32 GPIO pins which can be used. |
---|
1236 | 1442 | |
---|
.. | .. |
---|
1252 | 1458 | The card needs to be physically altered for using it as a |
---|
1253 | 1459 | GPIO card. For more information on how to build a GPIO card |
---|
1254 | 1460 | from a BT8xx TV card, see the documentation file at |
---|
1255 | | - Documentation/bt8xxgpio.txt |
---|
| 1461 | + Documentation/driver-api/gpio/bt8xxgpio.rst |
---|
1256 | 1462 | |
---|
1257 | 1463 | If unsure, say N. |
---|
1258 | 1464 | |
---|
.. | .. |
---|
1269 | 1475 | select GPIOLIB_IRQCHIP |
---|
1270 | 1476 | help |
---|
1271 | 1477 | Say Y here to support Intel Merrifield GPIO. |
---|
| 1478 | + |
---|
| 1479 | +config GPIO_MLXBF |
---|
| 1480 | + tristate "Mellanox BlueField SoC GPIO" |
---|
| 1481 | + depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) |
---|
| 1482 | + select GPIO_GENERIC |
---|
| 1483 | + help |
---|
| 1484 | + Say Y here if you want GPIO support on Mellanox BlueField SoC. |
---|
| 1485 | + |
---|
| 1486 | +config GPIO_MLXBF2 |
---|
| 1487 | + tristate "Mellanox BlueField 2 SoC GPIO" |
---|
| 1488 | + depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST) |
---|
| 1489 | + select GPIO_GENERIC |
---|
| 1490 | + help |
---|
| 1491 | + Say Y here if you want GPIO support on Mellanox BlueField 2 SoC. |
---|
1272 | 1492 | |
---|
1273 | 1493 | config GPIO_ML_IOH |
---|
1274 | 1494 | tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support" |
---|
.. | .. |
---|
1378 | 1598 | help |
---|
1379 | 1599 | GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander. |
---|
1380 | 1600 | |
---|
| 1601 | +config GPIO_MOXTET |
---|
| 1602 | + tristate "Turris Mox Moxtet bus GPIO expander" |
---|
| 1603 | + depends on MOXTET |
---|
| 1604 | + help |
---|
| 1605 | + Say yes here if you are building for the Turris Mox router. |
---|
| 1606 | + This is the driver needed for configuring the GPIOs via the Moxtet |
---|
| 1607 | + bus. For example the Mox module with SFP cage needs this driver |
---|
| 1608 | + so that phylink can use corresponding GPIOs. |
---|
| 1609 | + |
---|
1381 | 1610 | endmenu |
---|
1382 | 1611 | |
---|
1383 | 1612 | menu "USB GPIO expanders" |
---|
.. | .. |
---|
1390 | 1619 | Say yes here to access the GPIO signals of Nano River |
---|
1391 | 1620 | Technologies Viperboard. There are two GPIO chips on the |
---|
1392 | 1621 | board: gpioa and gpiob. |
---|
1393 | | - See viperboard API specification and Nano |
---|
1394 | | - River Tech's viperboard.h for detailed meaning |
---|
1395 | | - of the module parameters. |
---|
| 1622 | + See viperboard API specification and Nano |
---|
| 1623 | + River Tech's viperboard.h for detailed meaning |
---|
| 1624 | + of the module parameters. |
---|
1396 | 1625 | |
---|
1397 | 1626 | endmenu |
---|
1398 | 1627 | |
---|
| 1628 | +config GPIO_AGGREGATOR |
---|
| 1629 | + tristate "GPIO Aggregator" |
---|
| 1630 | + help |
---|
| 1631 | + Say yes here to enable the GPIO Aggregator, which provides a way to |
---|
| 1632 | + aggregate existing GPIO lines into a new virtual GPIO chip. |
---|
| 1633 | + This can serve the following purposes: |
---|
| 1634 | + - Assign permissions for a collection of GPIO lines to a user, |
---|
| 1635 | + - Export a collection of GPIO lines to a virtual machine, |
---|
| 1636 | + - Provide a generic driver for a GPIO-operated device in an |
---|
| 1637 | + industrial control context, to be operated from userspace using |
---|
| 1638 | + the GPIO chardev interface. |
---|
| 1639 | + |
---|
| 1640 | +config GPIO_MOCKUP |
---|
| 1641 | + tristate "GPIO Testing Driver" |
---|
| 1642 | + select IRQ_SIM |
---|
| 1643 | + help |
---|
| 1644 | + This enables GPIO Testing driver, which provides a way to test GPIO |
---|
| 1645 | + subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS |
---|
| 1646 | + must be selected for this test. |
---|
| 1647 | + User could use it through the script in |
---|
| 1648 | + tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in |
---|
| 1649 | + it. |
---|
| 1650 | + |
---|
1399 | 1651 | endif |
---|