Kconfig (e700ac213a0f793fb4f83098413303e3dd080892) Kconfig (dd1695a221e0eb60e345095deca28a45c3284428)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# GPIO infrastructure and drivers
4#
5
6config ARCH_HAVE_CUSTOM_GPIO_H
7 bool
8 help
9 Selecting this config option from the architecture Kconfig allows
10 the architecture to provide a custom asm/gpio.h implementation
11 overriding the default implementations. New uses of this are
12 strongly discouraged.
13
14menuconfig GPIOLIB
15 bool "GPIO Support"
16 help
17 This enables GPIO support through the generic GPIO library.
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# GPIO infrastructure and drivers
4#
5
6config ARCH_HAVE_CUSTOM_GPIO_H
7 bool
8 help
9 Selecting this config option from the architecture Kconfig allows
10 the architecture to provide a custom asm/gpio.h implementation
11 overriding the default implementations. New uses of this are
12 strongly discouraged.
13
14menuconfig GPIOLIB
15 bool "GPIO Support"
16 help
17 This enables GPIO support through the generic GPIO library.
18 You only need to enable this, if you also want to enable
18 You only need to enable this if you also want to enable
19 one or more of the GPIO drivers below.
20
21 If unsure, say N.
22
23if GPIOLIB
24
25config GPIOLIB_FASTPATH_LIMIT
26 int "Maximum number of GPIOs for fast path"

--- 108 unchanged lines hidden (view full) ---

135
136 If driver is built as a module it will be called gpio-altera.
137
138config GPIO_AMDPT
139 tristate "AMD Promontory GPIO support"
140 depends on ACPI
141 select GPIO_GENERIC
142 help
19 one or more of the GPIO drivers below.
20
21 If unsure, say N.
22
23if GPIOLIB
24
25config GPIOLIB_FASTPATH_LIMIT
26 int "Maximum number of GPIOs for fast path"

--- 108 unchanged lines hidden (view full) ---

135
136 If driver is built as a module it will be called gpio-altera.
137
138config GPIO_AMDPT
139 tristate "AMD Promontory GPIO support"
140 depends on ACPI
141 select GPIO_GENERIC
142 help
143 driver for GPIO functionality on Promontory IOHub
144 Require ACPI ASL code to enumerate as a platform device.
143 Driver for GPIO functionality on Promontory IOHub.
144 Requires ACPI ASL code to enumerate as a platform device.
145
146config GPIO_ASPEED
147 tristate "Aspeed GPIO support"
148 depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
149 select GPIOLIB_IRQCHIP
150 help
151 Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
152

--- 148 unchanged lines hidden (view full) ---

301config GPIO_HISI
302 tristate "HiSilicon GPIO controller driver"
303 depends on (ARM64 && ACPI) || COMPILE_TEST
304 select GPIO_GENERIC
305 select GPIOLIB_IRQCHIP
306 help
307 Say Y or M here to build support for the HiSilicon GPIO controller
308 driver GPIO block.
145
146config GPIO_ASPEED
147 tristate "Aspeed GPIO support"
148 depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
149 select GPIOLIB_IRQCHIP
150 help
151 Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
152

--- 148 unchanged lines hidden (view full) ---

301config GPIO_HISI
302 tristate "HiSilicon GPIO controller driver"
303 depends on (ARM64 && ACPI) || COMPILE_TEST
304 select GPIO_GENERIC
305 select GPIOLIB_IRQCHIP
306 help
307 Say Y or M here to build support for the HiSilicon GPIO controller
308 driver GPIO block.
309 This GPIO controller support double-edge interrupt and multi-core
309 This GPIO controller supports double-edge interrupt and multi-core
310 concurrent access.
311
312config GPIO_HLWD
313 tristate "Nintendo Wii (Hollywood) GPIO"
314 depends on OF_GPIO
315 select GPIO_GENERIC
316 select GPIOLIB_IRQCHIP
317 help
318 Select this to support the GPIO controller of the Nintendo Wii.
319
320 If unsure, say N.
321
322config GPIO_ICH
323 tristate "Intel ICH GPIO"
324 depends on X86
325 depends on LPC_ICH
326 help
327 Say yes here to support the GPIO functionality of a number of Intel
328 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8
310 concurrent access.
311
312config GPIO_HLWD
313 tristate "Nintendo Wii (Hollywood) GPIO"
314 depends on OF_GPIO
315 select GPIO_GENERIC
316 select GPIOLIB_IRQCHIP
317 help
318 Select this to support the GPIO controller of the Nintendo Wii.
319
320 If unsure, say N.
321
322config GPIO_ICH
323 tristate "Intel ICH GPIO"
324 depends on X86
325 depends on LPC_ICH
326 help
327 Say yes here to support the GPIO functionality of a number of Intel
328 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8
329 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg
329 ICH9, ICH10, Series 5/3400 (e.g. Ibex Peak), Series 6/C200 (e.g.
330 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
331
332 If unsure, say N.
333
334config GPIO_IOP
335 tristate "Intel IOP GPIO"
336 depends on ARCH_IOP32X || COMPILE_TEST
337 select GPIO_GENERIC
338 help
339 Say yes here to support the GPIO functionality of a number of Intel
330 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake).
331
332 If unsure, say N.
333
334config GPIO_IOP
335 tristate "Intel IOP GPIO"
336 depends on ARCH_IOP32X || COMPILE_TEST
337 select GPIO_GENERIC
338 help
339 Say yes here to support the GPIO functionality of a number of Intel
340 IOP32X or IOP33X.
340 IOP32X or IOP33X series of chips.
341
342 If unsure, say N.
343
344config GPIO_IXP4XX
345 bool "Intel IXP4xx GPIO"
346 depends on ARM # For <asm/mach-types.h>
347 depends on ARCH_IXP4XX
348 select GPIO_GENERIC

--- 10 unchanged lines hidden (view full) ---

359 help
360 Say yes here to support GPIO functionality of the Xylon LogiCVC
361 programmable logic block.
362
363config GPIO_LOONGSON
364 bool "Loongson-2/3 GPIO support"
365 depends on CPU_LOONGSON2EF || CPU_LOONGSON64
366 help
341
342 If unsure, say N.
343
344config GPIO_IXP4XX
345 bool "Intel IXP4xx GPIO"
346 depends on ARM # For <asm/mach-types.h>
347 depends on ARCH_IXP4XX
348 select GPIO_GENERIC

--- 10 unchanged lines hidden (view full) ---

359 help
360 Say yes here to support GPIO functionality of the Xylon LogiCVC
361 programmable logic block.
362
363config GPIO_LOONGSON
364 bool "Loongson-2/3 GPIO support"
365 depends on CPU_LOONGSON2EF || CPU_LOONGSON64
366 help
367 driver for GPIO functionality on Loongson-2F/3A/3B processors.
367 Driver for GPIO functionality on Loongson-2F/3A/3B processors.
368
369config GPIO_LPC18XX
370 tristate "NXP LPC18XX/43XX GPIO support"
371 default y if ARCH_LPC18XX
372 depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
373 select IRQ_DOMAIN_HIERARCHY
374 help
375 Select this option to enable GPIO driver for

--- 11 unchanged lines hidden (view full) ---

387 help
388 Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
389
390config GPIO_MENZ127
391 tristate "MEN 16Z127 GPIO support"
392 depends on MCB
393 select GPIO_GENERIC
394 help
368
369config GPIO_LPC18XX
370 tristate "NXP LPC18XX/43XX GPIO support"
371 default y if ARCH_LPC18XX
372 depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
373 select IRQ_DOMAIN_HIERARCHY
374 help
375 Select this option to enable GPIO driver for

--- 11 unchanged lines hidden (view full) ---

387 help
388 Say yes here to support the GPIO controller in Fujitsu MB86S70 SoCs.
389
390config GPIO_MENZ127
391 tristate "MEN 16Z127 GPIO support"
392 depends on MCB
393 select GPIO_GENERIC
394 help
395 Say yes here to support the MEN 16Z127 GPIO Controller
395 Say yes here to support the MEN 16Z127 GPIO Controller.
396
397config GPIO_MM_LANTIQ
398 bool "Lantiq Memory mapped GPIOs"
399 depends on LANTIQ && SOC_XWAY
400 help
401 This enables support for memory mapped GPIOs on the External Bus Unit
396
397config GPIO_MM_LANTIQ
398 bool "Lantiq Memory mapped GPIOs"
399 depends on LANTIQ && SOC_XWAY
400 help
401 This enables support for memory mapped GPIOs on the External Bus Unit
402 (EBU) found on Lantiq SoCs. The gpios are output only as they are
403 created by attaching a 16bit latch to the bus.
402 (EBU) found on Lantiq SoCs. The GPIOs are output only as they are
403 created by attaching a 16-bit latch to the bus.
404
405config GPIO_MPC5200
406 def_bool y
407 depends on PPC_MPC52xx
408
409config GPIO_MPC8XXX
410 bool "MPC512x/MPC8xxx/QorIQ GPIO support"
411 depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \

--- 7 unchanged lines hidden (view full) ---

419
420config GPIO_MT7621
421 bool "Mediatek MT7621 GPIO Support"
422 depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
423 depends on OF_GPIO
424 select GPIO_GENERIC
425 select GPIOLIB_IRQCHIP
426 help
404
405config GPIO_MPC5200
406 def_bool y
407 depends on PPC_MPC52xx
408
409config GPIO_MPC8XXX
410 bool "MPC512x/MPC8xxx/QorIQ GPIO support"
411 depends on PPC_MPC512x || PPC_MPC831x || PPC_MPC834x || PPC_MPC837x || \

--- 7 unchanged lines hidden (view full) ---

419
420config GPIO_MT7621
421 bool "Mediatek MT7621 GPIO Support"
422 depends on SOC_MT7620 || SOC_MT7621 || COMPILE_TEST
423 depends on OF_GPIO
424 select GPIO_GENERIC
425 select GPIOLIB_IRQCHIP
426 help
427 Say yes here to support the Mediatek MT7621 SoC GPIO device
427 Say yes here to support the Mediatek MT7621 SoC GPIO device.
428
429config GPIO_MVEBU
430 def_bool y
431 depends on PLAT_ORION || ARCH_MVEBU
432 depends on OF_GPIO
433 select GENERIC_IRQ_CHIP
434 select REGMAP_MMIO
435

--- 28 unchanged lines hidden (view full) ---

464 Say yes here to enable GPIO support for TI OMAP SoCs.
465
466config GPIO_PL061
467 tristate "PrimeCell PL061 GPIO support"
468 depends on ARM_AMBA
469 select IRQ_DOMAIN
470 select GPIOLIB_IRQCHIP
471 help
428
429config GPIO_MVEBU
430 def_bool y
431 depends on PLAT_ORION || ARCH_MVEBU
432 depends on OF_GPIO
433 select GENERIC_IRQ_CHIP
434 select REGMAP_MMIO
435

--- 28 unchanged lines hidden (view full) ---

464 Say yes here to enable GPIO support for TI OMAP SoCs.
465
466config GPIO_PL061
467 tristate "PrimeCell PL061 GPIO support"
468 depends on ARM_AMBA
469 select IRQ_DOMAIN
470 select GPIOLIB_IRQCHIP
471 help
472 Say yes here to support the PrimeCell PL061 GPIO device
472 Say yes here to support the PrimeCell PL061 GPIO device.
473
474config GPIO_PMIC_EIC_SPRD
475 tristate "Spreadtrum PMIC EIC support"
476 depends on MFD_SC27XX_PMIC || COMPILE_TEST
477 depends on OF_GPIO
478 select GPIOLIB_IRQCHIP
479 help
480 Say yes here to support Spreadtrum PMIC EIC device.
481
482config GPIO_PXA
483 bool "PXA GPIO support"
484 depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
485 help
473
474config GPIO_PMIC_EIC_SPRD
475 tristate "Spreadtrum PMIC EIC support"
476 depends on MFD_SC27XX_PMIC || COMPILE_TEST
477 depends on OF_GPIO
478 select GPIOLIB_IRQCHIP
479 help
480 Say yes here to support Spreadtrum PMIC EIC device.
481
482config GPIO_PXA
483 bool "PXA GPIO support"
484 depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
485 help
486 Say yes here to support the PXA GPIO device
486 Say yes here to support the PXA GPIO device.
487
488config GPIO_RCAR
489 tristate "Renesas R-Car and RZ/G GPIO support"
490 depends on ARCH_RENESAS || COMPILE_TEST
491 select GPIOLIB_IRQCHIP
492 help
493 Say yes here to support GPIO on Renesas R-Car or RZ/G SoCs.
494

--- 73 unchanged lines hidden (view full) ---

568 where only several fields in register belong to GPIO lines and
569 each GPIO line owns a field with different length and on/off value.
570
571config GPIO_SPEAR_SPICS
572 bool "ST SPEAr13xx SPI Chip Select as GPIO support"
573 depends on PLAT_SPEAR
574 select GENERIC_IRQ_CHIP
575 help
487
488config GPIO_RCAR
489 tristate "Renesas R-Car and RZ/G GPIO support"
490 depends on ARCH_RENESAS || COMPILE_TEST
491 select GPIOLIB_IRQCHIP
492 help
493 Say yes here to support GPIO on Renesas R-Car or RZ/G SoCs.
494

--- 73 unchanged lines hidden (view full) ---

568 where only several fields in register belong to GPIO lines and
569 each GPIO line owns a field with different length and on/off value.
570
571config GPIO_SPEAR_SPICS
572 bool "ST SPEAr13xx SPI Chip Select as GPIO support"
573 depends on PLAT_SPEAR
574 select GENERIC_IRQ_CHIP
575 help
576 Say yes here to support ST SPEAr SPI Chip Select as GPIO device
576 Say yes here to support ST SPEAr SPI Chip Select as GPIO device.
577
578config GPIO_SPRD
579 tristate "Spreadtrum GPIO support"
580 depends on ARCH_SPRD || COMPILE_TEST
581 depends on OF_GPIO
582 select GPIOLIB_IRQCHIP
583 help
584 Say yes here to support Spreadtrum GPIO device.

--- 8 unchanged lines hidden (view full) ---

593
594config GPIO_STP_XWAY
595 bool "XWAY STP GPIOs"
596 depends on SOC_XWAY || COMPILE_TEST
597 depends on OF_GPIO
598 help
599 This enables support for the Serial To Parallel (STP) unit found on
600 XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
577
578config GPIO_SPRD
579 tristate "Spreadtrum GPIO support"
580 depends on ARCH_SPRD || COMPILE_TEST
581 depends on OF_GPIO
582 select GPIOLIB_IRQCHIP
583 help
584 Say yes here to support Spreadtrum GPIO device.

--- 8 unchanged lines hidden (view full) ---

593
594config GPIO_STP_XWAY
595 bool "XWAY STP GPIOs"
596 depends on SOC_XWAY || COMPILE_TEST
597 depends on OF_GPIO
598 help
599 This enables support for the Serial To Parallel (STP) unit found on
600 XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
601 that can be up to 24 bit. This peripheral is aimed at driving leds.
602 Some of the gpios/leds can be auto updated by the soc with dsl and
601 that can be up to 24 bits. This peripheral is aimed at driving LEDs.
602 Some of the GPIOs/LEDs can be auto updated by the SoC with DSL and
603 phy status.
604
605config GPIO_SYSCON
606 tristate "GPIO based on SYSCON"
607 depends on MFD_SYSCON && OF
608 help
609 Say yes here to support GPIO functionality though SYSCON driver.
610

--- 63 unchanged lines hidden (view full) ---

674 depends on OF_GPIO
675 select GPIOLIB_IRQCHIP
676 select GPIO_GENERIC
677 select IRQ_DOMAIN_HIERARCHY
678 help
679 Say yes here to support GPIO on Tohisba Visconti.
680
681config GPIO_VR41XX
603 phy status.
604
605config GPIO_SYSCON
606 tristate "GPIO based on SYSCON"
607 depends on MFD_SYSCON && OF
608 help
609 Say yes here to support GPIO functionality though SYSCON driver.
610

--- 63 unchanged lines hidden (view full) ---

674 depends on OF_GPIO
675 select GPIOLIB_IRQCHIP
676 select GPIO_GENERIC
677 select IRQ_DOMAIN_HIERARCHY
678 help
679 Say yes here to support GPIO on Tohisba Visconti.
680
681config GPIO_VR41XX
682 tristate "NEC VR4100 series General-purpose I/O Uint support"
682 tristate "NEC VR4100 series General-purpose I/O Unit support"
683 depends on CPU_VR41XX
684 help
683 depends on CPU_VR41XX
684 help
685 Say yes here to support the NEC VR4100 series General-purpose I/O Uint
685 Say yes here to support the NEC VR4100 series General-purpose I/O Unit.
686
687config GPIO_VX855
688 tristate "VIA VX855/VX875 GPIO"
689 depends on (X86 || COMPILE_TEST) && PCI
690 select MFD_CORE
691 select MFD_VX855
692 help
686
687config GPIO_VX855
688 tristate "VIA VX855/VX875 GPIO"
689 depends on (X86 || COMPILE_TEST) && PCI
690 select MFD_CORE
691 select MFD_VX855
692 help
693 Support access to the VX855/VX875 GPIO lines through the gpio library.
693 Support access to the VX855/VX875 GPIO lines through the GPIO library.
694
694
695 This driver provides common support for accessing the device,
696 additional drivers must be enabled in order to use the
695 This driver provides common support for accessing the device.
696 Additional drivers must be enabled in order to use the
697 functionality of the device.
698
699config GPIO_WCD934X
697 functionality of the device.
698
699config GPIO_WCD934X
700 tristate "Qualcomm Technologies Inc WCD9340/WCD9341 gpio controller driver"
700 tristate "Qualcomm Technologies Inc WCD9340/WCD9341 GPIO controller driver"
701 depends on MFD_WCD934X && OF_GPIO
702 help
703 This driver is to support GPIO block found on the Qualcomm Technologies
704 Inc WCD9340/WCD9341 Audio Codec.
705
706config GPIO_XGENE
707 bool "APM X-Gene GPIO controller support"
708 depends on ARM64 && OF_GPIO

--- 13 unchanged lines hidden (view full) ---

722 This driver supports the GPIO block within the APM X-Gene
723 Standby Domain. Say yes here to enable the GPIO functionality.
724
725config GPIO_XILINX
726 tristate "Xilinx GPIO support"
727 select GPIOLIB_IRQCHIP
728 depends on OF_GPIO
729 help
701 depends on MFD_WCD934X && OF_GPIO
702 help
703 This driver is to support GPIO block found on the Qualcomm Technologies
704 Inc WCD9340/WCD9341 Audio Codec.
705
706config GPIO_XGENE
707 bool "APM X-Gene GPIO controller support"
708 depends on ARM64 && OF_GPIO

--- 13 unchanged lines hidden (view full) ---

722 This driver supports the GPIO block within the APM X-Gene
723 Standby Domain. Say yes here to enable the GPIO functionality.
724
725config GPIO_XILINX
726 tristate "Xilinx GPIO support"
727 select GPIOLIB_IRQCHIP
728 depends on OF_GPIO
729 help
730 Say yes here to support the Xilinx FPGA GPIO device
730 Say yes here to support the Xilinx FPGA GPIO device.
731
732config GPIO_XLP
733 tristate "Netlogic XLP GPIO support"
734 depends on OF_GPIO && (CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST)
735 select GPIOLIB_IRQCHIP
736 help
737 This driver provides support for GPIO interface on Netlogic XLP MIPS64
738 SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,

--- 4 unchanged lines hidden (view full) ---

743
744config GPIO_XTENSA
745 bool "Xtensa GPIO32 support"
746 depends on XTENSA
747 depends on HAVE_XTENSA_GPIO32
748 depends on !SMP
749 help
750 Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
731
732config GPIO_XLP
733 tristate "Netlogic XLP GPIO support"
734 depends on OF_GPIO && (CPU_XLP || ARCH_THUNDER2 || COMPILE_TEST)
735 select GPIOLIB_IRQCHIP
736 help
737 This driver provides support for GPIO interface on Netlogic XLP MIPS64
738 SoCs. Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX,

--- 4 unchanged lines hidden (view full) ---

743
744config GPIO_XTENSA
745 bool "Xtensa GPIO32 support"
746 depends on XTENSA
747 depends on HAVE_XTENSA_GPIO32
748 depends on !SMP
749 help
750 Say yes here to support the Xtensa internal GPIO32 IMPWIRE (input)
751 and EXPSTATE (output) ports
751 and EXPSTATE (output) ports.
752
753config GPIO_ZEVIO
754 bool "LSI ZEVIO SoC memory mapped GPIOs"
755 depends on ARM && OF_GPIO
756 help
757 Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
758
759config GPIO_ZYNQ
760 tristate "Xilinx Zynq GPIO support"
761 depends on ARCH_ZYNQ || ARCH_ZYNQMP
762 select GPIOLIB_IRQCHIP
763 help
764 Say yes here to support Xilinx Zynq GPIO controller.
765
752
753config GPIO_ZEVIO
754 bool "LSI ZEVIO SoC memory mapped GPIOs"
755 depends on ARM && OF_GPIO
756 help
757 Say yes here to support the GPIO controller in LSI ZEVIO SoCs.
758
759config GPIO_ZYNQ
760 tristate "Xilinx Zynq GPIO support"
761 depends on ARCH_ZYNQ || ARCH_ZYNQMP
762 select GPIOLIB_IRQCHIP
763 help
764 Say yes here to support Xilinx Zynq GPIO controller.
765
766config GPIO_ZYNQMP_MODEPIN
767 tristate "ZynqMP ps-mode pin GPIO configuration driver"
768 depends on ZYNQMP_FIRMWARE
769 default ZYNQMP_FIRMWARE
770 help
771 Say yes here to support the ZynqMP ps-mode pin GPIO configuration
772 driver.
773
774 This ps-mode pin GPIO driver is based on GPIO framework. PS_MODE
775 is 4-bits boot mode pins. It sets and gets the status of
776 the ps-mode pin. Every pin can be configured as input/output.
777
766config GPIO_LOONGSON1
767 tristate "Loongson1 GPIO support"
768 depends on MACH_LOONGSON32
769 select GPIO_GENERIC
770 help
771 Say Y or M here to support GPIO on Loongson1 SoCs.
772
773config GPIO_AMD_FCH
774 tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)"
775 help
778config GPIO_LOONGSON1
779 tristate "Loongson1 GPIO support"
780 depends on MACH_LOONGSON32
781 select GPIO_GENERIC
782 help
783 Say Y or M here to support GPIO on Loongson1 SoCs.
784
785config GPIO_AMD_FCH
786 tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)"
787 help
776 This option enables driver for GPIO on AMDs Fusion Controller Hub,
777 as found on G-series SOCs (eg. GX-412TC)
788 This option enables driver for GPIO on AMD's Fusion Controller Hub,
789 as found on G-series SOCs (e.g. GX-412TC).
778
790
779 Note: This driver doesn't registers itself automatically, as it
780 needs to be provided with platform specific configuration.
781 (See eg. CONFIG_PCENGINES_APU2.)
791 Note: This driver doesn't register itself automatically, as it
792 needs to be provided with platform-specific configuration.
793 (See e.g. CONFIG_PCENGINES_APU2.)
782
783config GPIO_MSC313
784 bool "MStar MSC313 GPIO support"
785 depends on ARCH_MSTARV7
786 default ARCH_MSTARV7
787 select GPIOLIB_IRQCHIP
788 select IRQ_DOMAIN_HIERARCHY
789 help
790 Say Y here to support the main GPIO block on MStar/SigmaStar
794
795config GPIO_MSC313
796 bool "MStar MSC313 GPIO support"
797 depends on ARCH_MSTARV7
798 default ARCH_MSTARV7
799 select GPIOLIB_IRQCHIP
800 select IRQ_DOMAIN_HIERARCHY
801 help
802 Say Y here to support the main GPIO block on MStar/SigmaStar
791 ARMv7 based SoCs.
803 ARMv7-based SoCs.
792
793config GPIO_IDT3243X
794 tristate "IDT 79RC3243X GPIO support"
795 depends on MIKROTIK_RB532 || COMPILE_TEST
796 select GPIO_GENERIC
797 select GPIOLIB_IRQCHIP
798 help
799 Select this option to enable GPIO driver for
804
805config GPIO_IDT3243X
806 tristate "IDT 79RC3243X GPIO support"
807 depends on MIKROTIK_RB532 || COMPILE_TEST
808 select GPIO_GENERIC
809 select GPIOLIB_IRQCHIP
810 help
811 Select this option to enable GPIO driver for
800 IDT 79RC3243X based devices like Mikrotik RB532.
812 IDT 79RC3243X-based devices like Mikrotik RB532.
801
802 To compile this driver as a module, choose M here: the module will
803 be called gpio-idt3243x.
804
805endmenu
806
807menu "Port-mapped I/O GPIO drivers"
808 depends on X86 # Unconditional I/O space access

--- 61 unchanged lines hidden (view full) ---

870 help
871 Say yes here to support GPIO functionality of IT87xx Super I/O chips.
872
873 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
874 supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
875 well.
876
877 To compile this driver as a module, choose M here: the module will
813
814 To compile this driver as a module, choose M here: the module will
815 be called gpio-idt3243x.
816
817endmenu
818
819menu "Port-mapped I/O GPIO drivers"
820 depends on X86 # Unconditional I/O space access

--- 61 unchanged lines hidden (view full) ---

882 help
883 Say yes here to support GPIO functionality of IT87xx Super I/O chips.
884
885 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
886 supports the IT8761E, IT8613, IT8620E, and IT8628E Super I/O chips as
887 well.
888
889 To compile this driver as a module, choose M here: the module will
878 be called gpio_it87
890 be called gpio_it87.
879
880config GPIO_SCH
881 tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
882 depends on (X86 || COMPILE_TEST) && ACPI
883 depends on LPC_SCH
884 select GPIOLIB_IRQCHIP
885 help
886 Say yes here to support GPIO interface on Intel Poulsbo SCH,
887 Intel Tunnel Creek processor, Intel Centerton processor or
888 Intel Quark X1000 SoC.
889
890 The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
891 powered by the core power rail and are turned off during sleep
892 modes (S3 and higher). The remaining four GPIOs are powered by
893 the Intel SCH suspend power supply. These GPIOs remain
891
892config GPIO_SCH
893 tristate "Intel SCH/TunnelCreek/Centerton/Quark X1000 GPIO"
894 depends on (X86 || COMPILE_TEST) && ACPI
895 depends on LPC_SCH
896 select GPIOLIB_IRQCHIP
897 help
898 Say yes here to support GPIO interface on Intel Poulsbo SCH,
899 Intel Tunnel Creek processor, Intel Centerton processor or
900 Intel Quark X1000 SoC.
901
902 The Intel SCH contains a total of 14 GPIO pins. Ten GPIOs are
903 powered by the core power rail and are turned off during sleep
904 modes (S3 and higher). The remaining four GPIOs are powered by
905 the Intel SCH suspend power supply. These GPIOs remain
894 active during S3. The suspend powered GPIOs can be used to wake the
906 active during S3. The suspend-powered GPIOs can be used to wake the
895 system from the Suspend-to-RAM state.
896
897 The Intel Tunnel Creek processor has 5 GPIOs powered by the
898 core power rail and 9 from suspend power supply.
899
900 The Intel Centerton processor has a total of 30 GPIO pins.
901 Twenty-one are powered by the core power rail and 9 from the
902 suspend power supply.

--- 136 unchanged lines hidden (view full) ---

1039 40 bits: pca9505, pca9698
1040
1041config GPIO_PCA953X_IRQ
1042 bool "Interrupt controller support for PCA953x"
1043 depends on GPIO_PCA953X
1044 select GPIOLIB_IRQCHIP
1045 help
1046 Say yes here to enable the pca953x to be used as an interrupt
907 system from the Suspend-to-RAM state.
908
909 The Intel Tunnel Creek processor has 5 GPIOs powered by the
910 core power rail and 9 from suspend power supply.
911
912 The Intel Centerton processor has a total of 30 GPIO pins.
913 Twenty-one are powered by the core power rail and 9 from the
914 suspend power supply.

--- 136 unchanged lines hidden (view full) ---

1051 40 bits: pca9505, pca9698
1052
1053config GPIO_PCA953X_IRQ
1054 bool "Interrupt controller support for PCA953x"
1055 depends on GPIO_PCA953X
1056 select GPIOLIB_IRQCHIP
1057 help
1058 Say yes here to enable the pca953x to be used as an interrupt
1047 controller. It requires the driver to be built in the kernel.
1059 controller.
1048
1049config GPIO_PCA9570
1050 tristate "PCA9570 4-Bit I2C GPO expander"
1051 help
1052 Say yes here to enable the GPO driver for the NXP PCA9570 chip.
1053
1054 To compile this driver as a module, choose M here: the module will
1055 be called gpio-pca9570.

--- 110 unchanged lines hidden (view full) ---

1166
1167config GPIO_CRYSTAL_COVE
1168 tristate "GPIO support for Crystal Cove PMIC"
1169 depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
1170 select GPIOLIB_IRQCHIP
1171 help
1172 Support for GPIO pins on Crystal Cove PMIC.
1173
1060
1061config GPIO_PCA9570
1062 tristate "PCA9570 4-Bit I2C GPO expander"
1063 help
1064 Say yes here to enable the GPO driver for the NXP PCA9570 chip.
1065
1066 To compile this driver as a module, choose M here: the module will
1067 be called gpio-pca9570.

--- 110 unchanged lines hidden (view full) ---

1178
1179config GPIO_CRYSTAL_COVE
1180 tristate "GPIO support for Crystal Cove PMIC"
1181 depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC
1182 select GPIOLIB_IRQCHIP
1183 help
1184 Support for GPIO pins on Crystal Cove PMIC.
1185
1174 Say Yes if you have a Intel SoC based tablet with Crystal Cove PMIC
1186 Say Yes if you have a Intel SoC-based tablet with Crystal Cove PMIC
1175 inside.
1176
1177 This driver can also be built as a module. If so, the module will be
1178 called gpio-crystalcove.
1179
1180config GPIO_CS5535
1181 tristate "AMD CS5535/CS5536 GPIO support"
1182 depends on X86 || MIPS || COMPILE_TEST

--- 13 unchanged lines hidden (view full) ---

1196
1197config GPIO_DA9055
1198 tristate "Dialog Semiconductor DA9055 GPIO"
1199 depends on MFD_DA9055
1200 help
1201 Say yes here to enable the GPIO driver for the DA9055 chip.
1202
1203 The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
1187 inside.
1188
1189 This driver can also be built as a module. If so, the module will be
1190 called gpio-crystalcove.
1191
1192config GPIO_CS5535
1193 tristate "AMD CS5535/CS5536 GPIO support"
1194 depends on X86 || MIPS || COMPILE_TEST

--- 13 unchanged lines hidden (view full) ---

1208
1209config GPIO_DA9055
1210 tristate "Dialog Semiconductor DA9055 GPIO"
1211 depends on MFD_DA9055
1212 help
1213 Say yes here to enable the GPIO driver for the DA9055 chip.
1214
1215 The Dialog DA9055 PMIC chip has 3 GPIO pins that can be
1204 be controller by this driver.
1216 be controlled by this driver.
1205
1206 If driver is built as a module it will be called gpio-da9055.
1207
1208config GPIO_DLN2
1209 tristate "Diolan DLN2 GPIO support"
1210 depends on MFD_DLN2
1211 select GPIOLIB_IRQCHIP
1212

--- 5 unchanged lines hidden (view full) ---

1218 will be called gpio-dln2.
1219
1220config HTC_EGPIO
1221 bool "HTC EGPIO support"
1222 depends on ARM
1223 help
1224 This driver supports the CPLD egpio chip present on
1225 several HTC phones. It provides basic support for input
1217
1218 If driver is built as a module it will be called gpio-da9055.
1219
1220config GPIO_DLN2
1221 tristate "Diolan DLN2 GPIO support"
1222 depends on MFD_DLN2
1223 select GPIOLIB_IRQCHIP
1224

--- 5 unchanged lines hidden (view full) ---

1230 will be called gpio-dln2.
1231
1232config HTC_EGPIO
1233 bool "HTC EGPIO support"
1234 depends on ARM
1235 help
1236 This driver supports the CPLD egpio chip present on
1237 several HTC phones. It provides basic support for input
1226 pins, output pins, and irqs.
1238 pins, output pins, and IRQs.
1227
1228config GPIO_JANZ_TTL
1229 tristate "Janz VMOD-TTL Digital IO Module"
1230 depends on MFD_JANZ_CMODIO
1231 help
1232 This enables support for the Janz VMOD-TTL Digital IO module.
1233 This driver provides support for driving the pins in output
1234 mode only. Input mode is not supported.

--- 44 unchanged lines hidden (view full) ---

1279
1280config GPIO_MAX77620
1281 tristate "GPIO support for PMIC MAX77620 and MAX20024"
1282 depends on MFD_MAX77620
1283 select GPIOLIB_IRQCHIP
1284 help
1285 GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
1286 MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
1239
1240config GPIO_JANZ_TTL
1241 tristate "Janz VMOD-TTL Digital IO Module"
1242 depends on MFD_JANZ_CMODIO
1243 help
1244 This enables support for the Janz VMOD-TTL Digital IO module.
1245 This driver provides support for driving the pins in output
1246 mode only. Input mode is not supported.

--- 44 unchanged lines hidden (view full) ---

1291
1292config GPIO_MAX77620
1293 tristate "GPIO support for PMIC MAX77620 and MAX20024"
1294 depends on MFD_MAX77620
1295 select GPIOLIB_IRQCHIP
1296 help
1297 GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor.
1298 MAX77620 PMIC has 8 pins that can be configured as GPIOs. The
1287 driver also provides interrupt support for each of the gpios.
1288 Say yes here to enable the max77620 to be used as gpio controller.
1299 driver also provides interrupt support for each of the GPIOs.
1300 Say yes here to enable the max77620 to be used as GPIO controller.
1289
1290config GPIO_MAX77650
1291 tristate "Maxim MAX77650/77651 GPIO support"
1292 depends on MFD_MAX77650
1293 help
1294 GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor.
1295 These chips have a single pin that can be configured as GPIO.
1296

--- 5 unchanged lines hidden (view full) ---

1302 series chip family.
1303
1304config GPIO_RC5T583
1305 bool "RICOH RC5T583 GPIO"
1306 depends on MFD_RC5T583
1307 help
1308 Select this option to enable GPIO driver for the Ricoh RC5T583
1309 chip family.
1301
1302config GPIO_MAX77650
1303 tristate "Maxim MAX77650/77651 GPIO support"
1304 depends on MFD_MAX77650
1305 help
1306 GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor.
1307 These chips have a single pin that can be configured as GPIO.
1308

--- 5 unchanged lines hidden (view full) ---

1314 series chip family.
1315
1316config GPIO_RC5T583
1317 bool "RICOH RC5T583 GPIO"
1318 depends on MFD_RC5T583
1319 help
1320 Select this option to enable GPIO driver for the Ricoh RC5T583
1321 chip family.
1310 This driver provides the support for driving/reading the gpio pins
1311 of RC5T583 device through standard gpio library.
1322 This driver provides the support for driving/reading the GPIO pins
1323 of RC5T583 device through standard GPIO library.
1312
1313config GPIO_SL28CPLD
1314 tristate "Kontron sl28cpld GPIO support"
1315 depends on MFD_SL28CPLD || COMPILE_TEST
1316 select GPIO_REGMAP
1317 select GPIOLIB_IRQCHIP
1318 select REGMAP_IRQ
1319 help

--- 52 unchanged lines hidden (view full) ---

1372 help
1373 Select this option to enable GPIO driver for the TPS65910
1374 chip family.
1375
1376config GPIO_TPS65912
1377 tristate "TI TPS65912 GPIO"
1378 depends on MFD_TPS65912
1379 help
1324
1325config GPIO_SL28CPLD
1326 tristate "Kontron sl28cpld GPIO support"
1327 depends on MFD_SL28CPLD || COMPILE_TEST
1328 select GPIO_REGMAP
1329 select GPIOLIB_IRQCHIP
1330 select REGMAP_IRQ
1331 help

--- 52 unchanged lines hidden (view full) ---

1384 help
1385 Select this option to enable GPIO driver for the TPS65910
1386 chip family.
1387
1388config GPIO_TPS65912
1389 tristate "TI TPS65912 GPIO"
1390 depends on MFD_TPS65912
1391 help
1380 This driver supports TPS65912 gpio chip
1392 This driver supports TPS65912 GPIO chip.
1381
1382config GPIO_TPS68470
1383 bool "TPS68470 GPIO"
1384 depends on INTEL_SKL_INT3472
1385 help
1386 Select this option to enable GPIO driver for the TPS68470
1387 chip family.
1393
1394config GPIO_TPS68470
1395 bool "TPS68470 GPIO"
1396 depends on INTEL_SKL_INT3472
1397 help
1398 Select this option to enable GPIO driver for the TPS68470
1399 chip family.
1388 There are 7 GPIOs and few sensor related GPIOs supported
1400 There are 7 GPIOs and few sensor-related GPIOs supported
1389 by the TPS68470. While the 7 GPIOs can be configured as
1390 input or output as appropriate, the sensor related GPIOs
1391 are "output only" GPIOs.
1392
1393 This driver config is bool, as the GPIO functionality
1394 of the TPS68470 must be available before dependent
1395 drivers are loaded.
1396

--- 28 unchanged lines hidden (view full) ---

1425
1426config GPIO_WHISKEY_COVE
1427 tristate "GPIO support for Whiskey Cove PMIC"
1428 depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
1429 select GPIOLIB_IRQCHIP
1430 help
1431 Support for GPIO pins on Whiskey Cove PMIC.
1432
1401 by the TPS68470. While the 7 GPIOs can be configured as
1402 input or output as appropriate, the sensor related GPIOs
1403 are "output only" GPIOs.
1404
1405 This driver config is bool, as the GPIO functionality
1406 of the TPS68470 must be available before dependent
1407 drivers are loaded.
1408

--- 28 unchanged lines hidden (view full) ---

1437
1438config GPIO_WHISKEY_COVE
1439 tristate "GPIO support for Whiskey Cove PMIC"
1440 depends on (X86 || COMPILE_TEST) && INTEL_SOC_PMIC_BXTWC
1441 select GPIOLIB_IRQCHIP
1442 help
1443 Support for GPIO pins on Whiskey Cove PMIC.
1444
1433 Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC
1445 Say Yes if you have an Intel SoC-based tablet with Whiskey Cove PMIC
1434 inside.
1435
1436 This driver can also be built as a module. If so, the module will be
1437 called gpio-wcove.
1438
1439config GPIO_WM831X
1440 tristate "WM831x GPIOs"
1441 depends on MFD_WM831X

--- 20 unchanged lines hidden (view full) ---

1462menu "PCI GPIO expanders"
1463 depends on PCI
1464
1465config GPIO_AMD8111
1466 tristate "AMD 8111 GPIO driver"
1467 depends on X86 || COMPILE_TEST
1468 depends on HAS_IOPORT_MAP
1469 help
1446 inside.
1447
1448 This driver can also be built as a module. If so, the module will be
1449 called gpio-wcove.
1450
1451config GPIO_WM831X
1452 tristate "WM831x GPIOs"
1453 depends on MFD_WM831X

--- 20 unchanged lines hidden (view full) ---

1474menu "PCI GPIO expanders"
1475 depends on PCI
1476
1477config GPIO_AMD8111
1478 tristate "AMD 8111 GPIO driver"
1479 depends on X86 || COMPILE_TEST
1480 depends on HAS_IOPORT_MAP
1481 help
1470 The AMD 8111 south bridge contains 32 GPIO pins which can be used.
1482 The AMD 8111 southbridge contains 32 GPIO pins which can be used.
1471
1483
1472 Note, that usually system firmware/ACPI handles GPIO pins on their
1473 own and users might easily break their systems with uncarefull usage
1484 Note that usually system firmware/ACPI handles GPIO pins on their
1485 own and users might easily break their systems with uncareful usage
1474 of this driver!
1475
1476 If unsure, say N
1477
1478config GPIO_BT8XX
1479 tristate "BT8XX GPIO abuser"
1480 depends on VIDEO_BT848=n
1481 help

--- 31 unchanged lines hidden (view full) ---

1513 Say Y here if you want GPIO support on Mellanox BlueField 2 SoC.
1514
1515config GPIO_ML_IOH
1516 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
1517 depends on X86 || COMPILE_TEST
1518 select GENERIC_IRQ_CHIP
1519 help
1520 ML7213 is companion chip for Intel Atom E6xx series.
1486 of this driver!
1487
1488 If unsure, say N
1489
1490config GPIO_BT8XX
1491 tristate "BT8XX GPIO abuser"
1492 depends on VIDEO_BT848=n
1493 help

--- 31 unchanged lines hidden (view full) ---

1525 Say Y here if you want GPIO support on Mellanox BlueField 2 SoC.
1526
1527config GPIO_ML_IOH
1528 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
1529 depends on X86 || COMPILE_TEST
1530 select GENERIC_IRQ_CHIP
1531 help
1532 ML7213 is companion chip for Intel Atom E6xx series.
1521 This driver can be used for OKI SEMICONDUCTOR ML7213 IOH(Input/Output
1522 Hub) which is for IVI(In-Vehicle Infotainment) use.
1533 This driver can be used for OKI SEMICONDUCTOR ML7213 IOH (Input/Output
1534 Hub) which is for IVI (In-Vehicle Infotainment) use.
1523 This driver can access the IOH's GPIO device.
1524
1525config GPIO_PCH
1535 This driver can access the IOH's GPIO device.
1536
1537config GPIO_PCH
1526 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH(ML7223/ML7831) GPIO"
1538 tristate "Intel EG20T PCH/LAPIS Semiconductor IOH (ML7223/ML7831) GPIO"
1527 depends on X86_32 || MIPS || COMPILE_TEST
1528 select GENERIC_IRQ_CHIP
1529 help
1539 depends on X86_32 || MIPS || COMPILE_TEST
1540 select GENERIC_IRQ_CHIP
1541 help
1530 This driver is for PCH(Platform controller Hub) GPIO of Intel Topcliff
1531 which is an IOH(Input/Output Hub) for x86 embedded processor.
1542 This driver is for PCH (Platform Controller Hub) GPIO of Intel Topcliff,
1543 which is an IOH (Input/Output Hub) for x86 embedded processor.
1532 This driver can access PCH GPIO device.
1533
1544 This driver can access PCH GPIO device.
1545
1534 This driver also can be used for LAPIS Semiconductor IOH(Input/
1546 This driver also can be used for LAPIS Semiconductor IOH (Input/
1535 Output Hub), ML7223 and ML7831.
1547 Output Hub), ML7223 and ML7831.
1536 ML7223 IOH is for MP(Media Phone) use.
1548 ML7223 IOH is for MP (Media Phone) use.
1537 ML7831 IOH is for general purpose use.
1538 ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1539 ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1540
1541config GPIO_PCI_IDIO_16
1542 tristate "ACCES PCI-IDIO-16 GPIO support"
1543 select GPIOLIB_IRQCHIP
1544 help

--- 34 unchanged lines hidden (view full) ---

1579 depends on SPI_MASTER
1580
1581config GPIO_74X164
1582 tristate "74x164 serial-in/parallel-out 8-bits shift register"
1583 depends on OF_GPIO
1584 help
1585 Driver for 74x164 compatible serial-in/parallel-out 8-outputs
1586 shift registers. This driver can be used to provide access
1549 ML7831 IOH is for general purpose use.
1550 ML7223/ML7831 is companion chip for Intel Atom E6xx series.
1551 ML7223/ML7831 is completely compatible for Intel EG20T PCH.
1552
1553config GPIO_PCI_IDIO_16
1554 tristate "ACCES PCI-IDIO-16 GPIO support"
1555 select GPIOLIB_IRQCHIP
1556 help

--- 34 unchanged lines hidden (view full) ---

1591 depends on SPI_MASTER
1592
1593config GPIO_74X164
1594 tristate "74x164 serial-in/parallel-out 8-bits shift register"
1595 depends on OF_GPIO
1596 help
1597 Driver for 74x164 compatible serial-in/parallel-out 8-outputs
1598 shift registers. This driver can be used to provide access
1587 to more gpio outputs.
1599 to more GPIO outputs.
1588
1589config GPIO_MAX3191X
1590 tristate "Maxim MAX3191x industrial serializer"
1591 select CRC8
1592 help
1593 GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913,
1594 MAX31953 and MAX31963 industrial serializer, a daisy-chainable
1595 chip to make 8 digital 24V inputs available via SPI. Supports

--- 90 unchanged lines hidden ---
1600
1601config GPIO_MAX3191X
1602 tristate "Maxim MAX3191x industrial serializer"
1603 select CRC8
1604 help
1605 GPIO driver for Maxim MAX31910, MAX31911, MAX31912, MAX31913,
1606 MAX31953 and MAX31963 industrial serializer, a daisy-chainable
1607 chip to make 8 digital 24V inputs available via SPI. Supports

--- 90 unchanged lines hidden ---