Kconfig (6fae257f0b294d7abe7adfb08277bfd5472ed717) | Kconfig (0f98dd1b27d27412af3aef6a49ea6975988e33e7) |
---|---|
1# 2# GPIO infrastructure and drivers 3# 4 5config ARCH_HAVE_CUSTOM_GPIO_H 6 bool 7 help 8 Selecting this config option from the architecture Kconfig allows 9 the architecture to provide a custom asm/gpio.h implementation 10 overriding the default implementations. New uses of this are 11 strongly discouraged. 12 | 1# 2# GPIO infrastructure and drivers 3# 4 5config ARCH_HAVE_CUSTOM_GPIO_H 6 bool 7 help 8 Selecting this config option from the architecture Kconfig allows 9 the architecture to provide a custom asm/gpio.h implementation 10 overriding the default implementations. New uses of this are 11 strongly discouraged. 12 |
13config ARCH_WANT_OPTIONAL_GPIOLIB 14 bool 15 help 16 Select this config option from the architecture Kconfig, if 17 it is possible to use gpiolib on the architecture, but let the 18 user decide whether to actually build it or not. 19 Select this instead of ARCH_REQUIRE_GPIOLIB, if your architecture does 20 not depend on GPIOs being available, but rather let the user 21 decide whether he needs it or not. 22 23config ARCH_REQUIRE_GPIOLIB 24 bool 25 select GPIOLIB 26 help 27 Platforms select gpiolib if they use this infrastructure 28 for all their GPIOs, usually starting with ones integrated 29 into SOC processors. 30 Selecting this from the architecture code will cause the gpiolib 31 code to always get built in. 32 33 | |
34menuconfig GPIOLIB 35 bool "GPIO Support" 36 select ANON_INODES 37 help 38 This enables GPIO support through the generic GPIO library. 39 You only need to enable this, if you also want to enable 40 one or more of the GPIO drivers below. 41 42 If unsure, say N. 43 44if GPIOLIB 45 46config GPIO_DEVRES 47 def_bool y 48 depends on HAS_IOMEM 49 50config OF_GPIO 51 def_bool y 52 depends on OF | 13menuconfig GPIOLIB 14 bool "GPIO Support" 15 select ANON_INODES 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 19 one or more of the GPIO drivers below. 20 21 If unsure, say N. 22 23if GPIOLIB 24 25config GPIO_DEVRES 26 def_bool y 27 depends on HAS_IOMEM 28 29config OF_GPIO 30 def_bool y 31 depends on OF |
53 depends on HAS_IOMEM | |
54 55config GPIO_ACPI 56 def_bool y 57 depends on ACPI 58 59config GPIOLIB_IRQCHIP 60 select IRQ_DOMAIN 61 bool --- 61 unchanged lines hidden (view full) --- 123config GPIO_AMDPT 124 tristate "AMD Promontory GPIO support" 125 depends on ACPI 126 select GPIO_GENERIC 127 help 128 driver for GPIO functionality on Promontory IOHub 129 Require ACPI ASL code to enumerate as a platform device. 130 | 32 33config GPIO_ACPI 34 def_bool y 35 depends on ACPI 36 37config GPIOLIB_IRQCHIP 38 select IRQ_DOMAIN 39 bool --- 61 unchanged lines hidden (view full) --- 101config GPIO_AMDPT 102 tristate "AMD Promontory GPIO support" 103 depends on ACPI 104 select GPIO_GENERIC 105 help 106 driver for GPIO functionality on Promontory IOHub 107 Require ACPI ASL code to enumerate as a platform device. 108 |
109config GPIO_ASPEED 110 tristate "Aspeed GPIO support" 111 depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO 112 select GPIOLIB_IRQCHIP 113 help 114 Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers. 115 |
|
131config GPIO_ATH79 132 tristate "Atheros AR71XX/AR724X/AR913X GPIO support" 133 default y if ATH79 134 depends on ATH79 || COMPILE_TEST 135 select GPIO_GENERIC 136 select GPIOLIB_IRQCHIP 137 help 138 Select this option to enable GPIO driver for 139 Atheros AR71XX/AR724X/AR913X SoC devices. 140 | 116config GPIO_ATH79 117 tristate "Atheros AR71XX/AR724X/AR913X GPIO support" 118 default y if ATH79 119 depends on ATH79 || COMPILE_TEST 120 select GPIO_GENERIC 121 select GPIOLIB_IRQCHIP 122 help 123 Select this option to enable GPIO driver for 124 Atheros AR71XX/AR724X/AR913X SoC devices. 125 |
126config GPIO_AXP209 127 tristate "X-Powers AXP209 PMIC GPIO Support" 128 depends on MFD_AXP20X 129 help 130 Say yes to enable GPIO support for the AXP209 PMIC 131 |
|
141config GPIO_BCM_KONA 142 bool "Broadcom Kona GPIO" 143 depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) 144 help 145 Turn on GPIO support for Broadcom "Kona" chips. 146 147config GPIO_BRCMSTB 148 tristate "BRCMSTB GPIO support" --- 35 unchanged lines hidden (view full) --- 184config GPIO_EP93XX 185 def_bool y 186 depends on ARCH_EP93XX 187 select GPIO_GENERIC 188 189config GPIO_ETRAXFS 190 bool "Axis ETRAX FS General I/O" 191 depends on CRIS || COMPILE_TEST | 132config GPIO_BCM_KONA 133 bool "Broadcom Kona GPIO" 134 depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) 135 help 136 Turn on GPIO support for Broadcom "Kona" chips. 137 138config GPIO_BRCMSTB 139 tristate "BRCMSTB GPIO support" --- 35 unchanged lines hidden (view full) --- 175config GPIO_EP93XX 176 def_bool y 177 depends on ARCH_EP93XX 178 select GPIO_GENERIC 179 180config GPIO_ETRAXFS 181 bool "Axis ETRAX FS General I/O" 182 depends on CRIS || COMPILE_TEST |
192 depends on OF_GPIO | 183 depends on OF |
193 select GPIO_GENERIC 194 select GPIOLIB_IRQCHIP 195 help 196 Say yes here to support the GPIO controller on Axis ETRAX FS SoCs. 197 198config GPIO_GE_FPGA 199 bool "GE FPGA based GPIO" 200 depends on GE_FPGA --- 9 unchanged lines hidden (view full) --- 210config GPIO_GENERIC_PLATFORM 211 tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" 212 select GPIO_GENERIC 213 help 214 Say yes here to support basic platform_device memory-mapped GPIO controllers. 215 216config GPIO_GRGPIO 217 tristate "Aeroflex Gaisler GRGPIO support" | 184 select GPIO_GENERIC 185 select GPIOLIB_IRQCHIP 186 help 187 Say yes here to support the GPIO controller on Axis ETRAX FS SoCs. 188 189config GPIO_GE_FPGA 190 bool "GE FPGA based GPIO" 191 depends on GE_FPGA --- 9 unchanged lines hidden (view full) --- 201config GPIO_GENERIC_PLATFORM 202 tristate "Generic memory-mapped GPIO controller support (MMIO platform device)" 203 select GPIO_GENERIC 204 help 205 Say yes here to support basic platform_device memory-mapped GPIO controllers. 206 207config GPIO_GRGPIO 208 tristate "Aeroflex Gaisler GRGPIO support" |
218 depends on OF_GPIO | 209 depends on OF |
219 select GPIO_GENERIC 220 select IRQ_DOMAIN 221 help 222 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB 223 VHDL IP core library. 224 225config GPIO_ICH 226 tristate "Intel ICH GPIO" --- 5 unchanged lines hidden (view full) --- 232 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 233 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg 234 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). 235 236 If unsure, say N. 237 238config GPIO_IOP 239 tristate "Intel IOP GPIO" | 210 select GPIO_GENERIC 211 select IRQ_DOMAIN 212 help 213 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB 214 VHDL IP core library. 215 216config GPIO_ICH 217 tristate "Intel ICH GPIO" --- 5 unchanged lines hidden (view full) --- 223 ICH-based chipsets. Currently supported devices: ICH6, ICH7, ICH8 224 ICH9, ICH10, Series 5/3400 (eg Ibex Peak), Series 6/C200 (eg 225 Cougar Point), NM10 (Tiger Point), and 3100 (Whitmore Lake). 226 227 If unsure, say N. 228 229config GPIO_IOP 230 tristate "Intel IOP GPIO" |
240 depends on ARM && (ARCH_IOP32X || ARCH_IOP33X) | 231 depends on ARCH_IOP32X || ARCH_IOP33X || COMPILE_TEST 232 select GPIO_GENERIC |
241 help 242 Say yes here to support the GPIO functionality of a number of Intel 243 IOP32X or IOP33X. 244 245 If unsure, say N. 246 247config GPIO_LOONGSON 248 bool "Loongson-2/3 GPIO support" --- 33 unchanged lines hidden (view full) --- 282config GPIO_MM_LANTIQ 283 bool "Lantiq Memory mapped GPIOs" 284 depends on LANTIQ && SOC_XWAY 285 help 286 This enables support for memory mapped GPIOs on the External Bus Unit 287 (EBU) found on Lantiq SoCs. The gpios are output only as they are 288 created by attaching a 16bit latch to the bus. 289 | 233 help 234 Say yes here to support the GPIO functionality of a number of Intel 235 IOP32X or IOP33X. 236 237 If unsure, say N. 238 239config GPIO_LOONGSON 240 bool "Loongson-2/3 GPIO support" --- 33 unchanged lines hidden (view full) --- 274config GPIO_MM_LANTIQ 275 bool "Lantiq Memory mapped GPIOs" 276 depends on LANTIQ && SOC_XWAY 277 help 278 This enables support for memory mapped GPIOs on the External Bus Unit 279 (EBU) found on Lantiq SoCs. The gpios are output only as they are 280 created by attaching a 16bit latch to the bus. 281 |
282config GPIO_MOCKUP 283 tristate "GPIO Testing Driver" 284 depends on GPIOLIB 285 select GPIO_SYSFS 286 help 287 This enables GPIO Testing driver, which provides a way to test GPIO 288 subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS 289 must be selected for this test. 290 User could use it through the script in 291 tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in 292 it. 293 |
|
290config GPIO_MOXART 291 bool "MOXART GPIO support" 292 depends on ARCH_MOXART || COMPILE_TEST 293 select GPIO_GENERIC 294 help 295 Select this option to enable GPIO driver for 296 MOXA ART SoC devices. 297 --- 10 unchanged lines hidden (view full) --- 308 select IRQ_DOMAIN 309 help 310 Say Y here if you're going to use hardware that connects to the 311 MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs. 312 313config GPIO_MVEBU 314 def_bool y 315 depends on PLAT_ORION | 294config GPIO_MOXART 295 bool "MOXART GPIO support" 296 depends on ARCH_MOXART || COMPILE_TEST 297 select GPIO_GENERIC 298 help 299 Select this option to enable GPIO driver for 300 MOXA ART SoC devices. 301 --- 10 unchanged lines hidden (view full) --- 312 select IRQ_DOMAIN 313 help 314 Say Y here if you're going to use hardware that connects to the 315 MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs. 316 317config GPIO_MVEBU 318 def_bool y 319 depends on PLAT_ORION |
316 depends on OF_GPIO | 320 depends on OF |
317 select GENERIC_IRQ_CHIP 318 319config GPIO_MXC 320 def_bool y 321 depends on ARCH_MXC 322 select GPIO_GENERIC 323 select GENERIC_IRQ_CHIP 324 --- 76 unchanged lines hidden (view full) --- 401 bool 402 select GENERIC_IRQ_CHIP 403 select OF_GPIO 404 405config GPIO_TEGRA 406 bool "NVIDIA Tegra GPIO support" 407 default ARCH_TEGRA 408 depends on ARCH_TEGRA || COMPILE_TEST | 321 select GENERIC_IRQ_CHIP 322 323config GPIO_MXC 324 def_bool y 325 depends on ARCH_MXC 326 select GPIO_GENERIC 327 select GENERIC_IRQ_CHIP 328 --- 76 unchanged lines hidden (view full) --- 405 bool 406 select GENERIC_IRQ_CHIP 407 select OF_GPIO 408 409config GPIO_TEGRA 410 bool "NVIDIA Tegra GPIO support" 411 default ARCH_TEGRA 412 depends on ARCH_TEGRA || COMPILE_TEST |
409 depends on OF_GPIO | 413 depends on OF |
410 help 411 Say yes here to support GPIO pins on NVIDIA Tegra SoCs. 412 413config GPIO_TS4800 414 tristate "TS-4800 DIO blocks and compatibles" 415 depends on OF_GPIO 416 depends on SOC_IMX51 || COMPILE_TEST 417 select GPIO_GENERIC --- 151 unchanged lines hidden (view full) --- 569 tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support" 570 help 571 This option enables support for GPIOs found on Fintek Super-I/O 572 chips F71869, F71869A, F71882FG, F71889F and F81866. 573 574 To compile this driver as a module, choose M here: the module will 575 be called f7188x-gpio. 576 | 414 help 415 Say yes here to support GPIO pins on NVIDIA Tegra SoCs. 416 417config GPIO_TS4800 418 tristate "TS-4800 DIO blocks and compatibles" 419 depends on OF_GPIO 420 depends on SOC_IMX51 || COMPILE_TEST 421 select GPIO_GENERIC --- 151 unchanged lines hidden (view full) --- 573 tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support" 574 help 575 This option enables support for GPIOs found on Fintek Super-I/O 576 chips F71869, F71869A, F71882FG, F71889F and F81866. 577 578 To compile this driver as a module, choose M here: the module will 579 be called f7188x-gpio. 580 |
581config GPIO_GPIO_MM 582 tristate "Diamond Systems GPIO-MM GPIO support" 583 depends on ISA_BUS_API 584 help 585 Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12. 586 587 The Diamond Systems GPIO-MM device features 48 lines of digital I/O 588 via the emulation of dual 82C55A PPI chips. This driver provides GPIO 589 support for these 48 channels of digital I/O. 590 591 The base port addresses for the devices may be configured via the base 592 array module parameter. 593 |
|
577config GPIO_IT87 578 tristate "IT87xx GPIO support" 579 help 580 Say yes here to support GPIO functionality of IT87xx Super I/O chips. 581 582 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and 583 supports the IT8761E, IT8620E and IT8628E Super I/O chip as well. 584 --- 190 unchanged lines hidden (view full) --- 775config GPIO_TPIC2810 776 tristate "TPIC2810 8-Bit I2C GPO expander" 777 help 778 Say yes here to enable the GPO driver for the TI TPIC2810 chip. 779 780 To compile this driver as a module, choose M here: the module will 781 be called gpio-tpic2810. 782 | 594config GPIO_IT87 595 tristate "IT87xx GPIO support" 596 help 597 Say yes here to support GPIO functionality of IT87xx Super I/O chips. 598 599 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and 600 supports the IT8761E, IT8620E and IT8628E Super I/O chip as well. 601 --- 190 unchanged lines hidden (view full) --- 792config GPIO_TPIC2810 793 tristate "TPIC2810 8-Bit I2C GPO expander" 794 help 795 Say yes here to enable the GPO driver for the TI TPIC2810 chip. 796 797 To compile this driver as a module, choose M here: the module will 798 be called gpio-tpic2810. 799 |
800config GPIO_TS4900 801 tristate "Technologic Systems FPGA I2C GPIO" 802 select REGMAP_I2C 803 help 804 Say yes here to enabled the GPIO driver for Technologic's FPGA core. 805 Series supported include TS-4100, TS-4900, TS-7970 and TS-7990. 806 |
|
783endmenu 784 785menu "MFD GPIO expanders" 786 787config GPIO_ADP5520 788 tristate "GPIO Support for ADP5520 PMIC" 789 depends on PMIC_ADP5520 790 help --- 79 unchanged lines hidden (view full) --- 870config GPIO_LP3943 871 tristate "TI/National Semiconductor LP3943 GPIO expander" 872 depends on MFD_LP3943 873 help 874 GPIO driver for LP3943 MFD. 875 LP3943 can be used as a GPIO expander which provides up to 16 GPIOs. 876 Open drain outputs are required for this usage. 877 | 807endmenu 808 809menu "MFD GPIO expanders" 810 811config GPIO_ADP5520 812 tristate "GPIO Support for ADP5520 PMIC" 813 depends on PMIC_ADP5520 814 help --- 79 unchanged lines hidden (view full) --- 894config GPIO_LP3943 895 tristate "TI/National Semiconductor LP3943 GPIO expander" 896 depends on MFD_LP3943 897 help 898 GPIO driver for LP3943 MFD. 899 LP3943 can be used as a GPIO expander which provides up to 16 GPIOs. 900 Open drain outputs are required for this usage. 901 |
902config GPIO_LP873X 903 tristate "TI LP873X GPO" 904 depends on MFD_TI_LP873X 905 help 906 This driver supports the GPO on TI Lp873x PMICs. 2 GPOs are present 907 on LP873X PMICs. 908 909 This driver can also be built as a module. If so, the module will be 910 called gpio-lp873x. 911 |
|
878config GPIO_MAX77620 879 tristate "GPIO support for PMIC MAX77620 and MAX20024" 880 depends on MFD_MAX77620 881 help 882 GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor. 883 MAX77620 PMIC has 8 pins that can be configured as GPIOs. The 884 driver also provides interrupt support for each of the gpios. 885 Say yes here to enable the max77620 to be used as gpio controller. --- 94 unchanged lines hidden (view full) --- 980 981config GPIO_UCB1400 982 tristate "Philips UCB1400 GPIO" 983 depends on UCB1400_CORE 984 help 985 This enables support for the Philips UCB1400 GPIO pins. 986 The UCB1400 is an AC97 audio codec. 987 | 912config GPIO_MAX77620 913 tristate "GPIO support for PMIC MAX77620 and MAX20024" 914 depends on MFD_MAX77620 915 help 916 GPIO driver for MAX77620 and MAX20024 PMIC from Maxim Semiconductor. 917 MAX77620 PMIC has 8 pins that can be configured as GPIOs. The 918 driver also provides interrupt support for each of the gpios. 919 Say yes here to enable the max77620 to be used as gpio controller. --- 94 unchanged lines hidden (view full) --- 1014 1015config GPIO_UCB1400 1016 tristate "Philips UCB1400 GPIO" 1017 depends on UCB1400_CORE 1018 help 1019 This enables support for the Philips UCB1400 GPIO pins. 1020 The UCB1400 is an AC97 audio codec. 1021 |
1022config GPIO_WHISKEY_COVE 1023 tristate "GPIO support for Whiskey Cove PMIC" 1024 depends on INTEL_SOC_PMIC 1025 select GPIOLIB_IRQCHIP 1026 help 1027 Support for GPIO pins on Whiskey Cove PMIC. 1028 1029 Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC 1030 inside. 1031 1032 This driver can also be built as a module. If so, the module will be 1033 called gpio-wcove. 1034 |
|
988config GPIO_WM831X 989 tristate "WM831x GPIOs" 990 depends on MFD_WM831X 991 help 992 Say yes here to access the GPIO signals of WM831x power management 993 chips from Wolfson Microelectronics. 994 995config GPIO_WM8350 --- 99 unchanged lines hidden (view full) --- 1095 1096endmenu 1097 1098menu "SPI GPIO expanders" 1099 depends on SPI_MASTER 1100 1101config GPIO_74X164 1102 tristate "74x164 serial-in/parallel-out 8-bits shift register" | 1035config GPIO_WM831X 1036 tristate "WM831x GPIOs" 1037 depends on MFD_WM831X 1038 help 1039 Say yes here to access the GPIO signals of WM831x power management 1040 chips from Wolfson Microelectronics. 1041 1042config GPIO_WM8350 --- 99 unchanged lines hidden (view full) --- 1142 1143endmenu 1144 1145menu "SPI GPIO expanders" 1146 depends on SPI_MASTER 1147 1148config GPIO_74X164 1149 tristate "74x164 serial-in/parallel-out 8-bits shift register" |
1103 depends on OF_GPIO | 1150 depends on OF |
1104 help 1105 Driver for 74x164 compatible serial-in/parallel-out 8-outputs 1106 shift registers. This driver can be used to provide access 1107 to more gpio outputs. 1108 1109config GPIO_MAX7301 1110 tristate "Maxim MAX7301 GPIO expander" 1111 select GPIO_MAX730X --- 14 unchanged lines hidden (view full) --- 1126 1127endmenu 1128 1129menu "SPI or I2C GPIO expanders" 1130 depends on (SPI_MASTER && !I2C) || I2C 1131 1132config GPIO_MCP23S08 1133 tristate "Microchip MCP23xxx I/O expander" | 1151 help 1152 Driver for 74x164 compatible serial-in/parallel-out 8-outputs 1153 shift registers. This driver can be used to provide access 1154 to more gpio outputs. 1155 1156config GPIO_MAX7301 1157 tristate "Maxim MAX7301 GPIO expander" 1158 select GPIO_MAX730X --- 14 unchanged lines hidden (view full) --- 1173 1174endmenu 1175 1176menu "SPI or I2C GPIO expanders" 1177 depends on (SPI_MASTER && !I2C) || I2C 1178 1179config GPIO_MCP23S08 1180 tristate "Microchip MCP23xxx I/O expander" |
1134 depends on OF_GPIO | |
1135 select GPIOLIB_IRQCHIP 1136 help 1137 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017 1138 I/O expanders. 1139 This provides a GPIO interface supporting inputs and outputs. 1140 The I2C versions of the chips can be used as interrupt-controller. 1141 1142endmenu --- 18 unchanged lines hidden --- | 1181 select GPIOLIB_IRQCHIP 1182 help 1183 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017 1184 I/O expanders. 1185 This provides a GPIO interface supporting inputs and outputs. 1186 The I2C versions of the chips can be used as interrupt-controller. 1187 1188endmenu --- 18 unchanged lines hidden --- |