Kconfig (8473054e4d2581282230d01d1ae5379cdcf7a4df) Kconfig (6d125412fc16802012a17665638f49b0b0c81f18)
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"

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

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

300 select IRQ_DOMAIN
301 help
302 Say Y here if you're going to use hardware that connects to the
303 MPC512x/831x/834x/837x/8572/8610/QorIQ GPIOs.
304
305config GPIO_MVEBU
306 def_bool y
307 depends on PLAT_ORION
316 depends on OF_GPIO
308 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
309 select GENERIC_IRQ_CHIP
310
311config GPIO_MXC
312 def_bool y
313 depends on ARCH_MXC
314 select GPIO_GENERIC
315 select GENERIC_IRQ_CHIP
316

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

393 bool
394 select GENERIC_IRQ_CHIP
395 select OF_GPIO
396
397config GPIO_TEGRA
398 bool "NVIDIA Tegra GPIO support"
399 default ARCH_TEGRA
400 depends on ARCH_TEGRA || COMPILE_TEST
409 depends on OF_GPIO
401 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
402 help
403 Say yes here to support GPIO pins on NVIDIA Tegra SoCs.
404
405config GPIO_TS4800
406 tristate "TS-4800 DIO blocks and compatibles"
407 depends on OF_GPIO
408 depends on SOC_IMX51 || COMPILE_TEST
409 select GPIO_GENERIC

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

561 tristate "F71869, F71869A, F71882FG, F71889F and F81866 GPIO support"
562 help
563 This option enables support for GPIOs found on Fintek Super-I/O
564 chips F71869, F71869A, F71882FG, F71889F and F81866.
565
566 To compile this driver as a module, choose M here: the module will
567 be called f7188x-gpio.
568
569config GPIO_GPIO_MM
570 tristate "Diamond Systems GPIO-MM GPIO support"
571 depends on ISA_BUS_API
572 help
573 Enables GPIO support for the Diamond Systems GPIO-MM and GPIO-MM-12.
574
575 The Diamond Systems GPIO-MM device features 48 lines of digital I/O
576 via the emulation of dual 82C55A PPI chips. This driver provides GPIO
577 support for these 48 channels of digital I/O.
578
579 The base port addresses for the devices may be configured via the base
580 array module parameter.
581
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
582config GPIO_IT87
583 tristate "IT87xx GPIO support"
584 help
585 Say yes here to support GPIO functionality of IT87xx Super I/O chips.
586
587 This driver is tested with ITE IT8728 and IT8732 Super I/O chips, and
588 supports the IT8761E, IT8620E and IT8628E Super I/O chip as well.
589

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

780config GPIO_TPIC2810
781 tristate "TPIC2810 8-Bit I2C GPO expander"
782 help
783 Say yes here to enable the GPO driver for the TI TPIC2810 chip.
784
785 To compile this driver as a module, choose M here: the module will
786 be called gpio-tpic2810.
787
788config GPIO_TS4900
789 tristate "Technologic Systems FPGA I2C GPIO"
790 select REGMAP_I2C
791 help
792 Say yes here to enabled the GPIO driver for Technologic's FPGA core.
793 Series supported include TS-4100, TS-4900, TS-7970 and TS-7990.
794
783endmenu
784
785menu "MFD GPIO expanders"
786
787config GPIO_ADP5520
788 tristate "GPIO Support for ADP5520 PMIC"
789 depends on PMIC_ADP5520
790 help

--- 189 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
795endmenu
796
797menu "MFD GPIO expanders"
798
799config GPIO_ADP5520
800 tristate "GPIO Support for ADP5520 PMIC"
801 depends on PMIC_ADP5520
802 help

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

992
993config GPIO_UCB1400
994 tristate "Philips UCB1400 GPIO"
995 depends on UCB1400_CORE
996 help
997 This enables support for the Philips UCB1400 GPIO pins.
998 The UCB1400 is an AC97 audio codec.
999
1000config GPIO_WHISKEY_COVE
1001 tristate "GPIO support for Whiskey Cove PMIC"
1002 depends on INTEL_SOC_PMIC
1003 select GPIOLIB_IRQCHIP
1004 help
1005 Support for GPIO pins on Whiskey Cove PMIC.
1006
1007 Say Yes if you have a Intel SoC based tablet with Whiskey Cove PMIC
1008 inside.
1009
1010 This driver can also be built as a module. If so, the module will be
1011 called gpio-wcove.
1012
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"
1013config GPIO_WM831X
1014 tristate "WM831x GPIOs"
1015 depends on MFD_WM831X
1016 help
1017 Say yes here to access the GPIO signals of WM831x power management
1018 chips from Wolfson Microelectronics.
1019
1020config GPIO_WM8350

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

1120
1121endmenu
1122
1123menu "SPI GPIO expanders"
1124 depends on SPI_MASTER
1125
1126config GPIO_74X164
1127 tristate "74x164 serial-in/parallel-out 8-bits shift register"
1103 depends on OF_GPIO
1128 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"
1129 help
1130 Driver for 74x164 compatible serial-in/parallel-out 8-outputs
1131 shift registers. This driver can be used to provide access
1132 to more gpio outputs.
1133
1134config GPIO_MAX7301
1135 tristate "Maxim MAX7301 GPIO expander"
1136 select GPIO_MAX730X

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

1151
1152endmenu
1153
1154menu "SPI or I2C GPIO expanders"
1155 depends on (SPI_MASTER && !I2C) || I2C
1156
1157config GPIO_MCP23S08
1158 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 ---
1159 select GPIOLIB_IRQCHIP
1160 help
1161 SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
1162 I/O expanders.
1163 This provides a GPIO interface supporting inputs and outputs.
1164 The I2C versions of the chips can be used as interrupt-controller.
1165
1166endmenu

--- 18 unchanged lines hidden ---