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 ---