Kconfig (4b4193256c8d3bc3a5397b5cd9494c2ad386317d) Kconfig (72db5d54d76300fb4153874b8466c0ebbb10208f)
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

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

54 Say Y here to add some extra checks and diagnostics to GPIO calls.
55 These checks help ensure that GPIOs have been properly initialized
56 before they are used, and that sleeping calls are not made from
57 non-sleeping contexts. They can make bitbanged serial protocols
58 slower. The diagnostics help catch the type of setup errors
59 that are most common when setting up new platforms or boards.
60
61config GPIO_SYSFS
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

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

54 Say Y here to add some extra checks and diagnostics to GPIO calls.
55 These checks help ensure that GPIOs have been properly initialized
56 before they are used, and that sleeping calls are not made from
57 non-sleeping contexts. They can make bitbanged serial protocols
58 slower. The diagnostics help catch the type of setup errors
59 that are most common when setting up new platforms or boards.
60
61config GPIO_SYSFS
62 bool "/sys/class/gpio/... (sysfs interface)"
62 bool "/sys/class/gpio/... (sysfs interface)" if EXPERT
63 depends on SYSFS
63 depends on SYSFS
64 select GPIO_CDEV # We need to encourage the new ABI
64 help
65 Say Y here to add the legacy sysfs interface for GPIOs.
66
67 This ABI is deprecated. If you want to use GPIO from userspace,
68 use the character device /dev/gpiochipN with the appropriate
65 help
66 Say Y here to add the legacy sysfs interface for GPIOs.
67
68 This ABI is deprecated. If you want to use GPIO from userspace,
69 use the character device /dev/gpiochipN with the appropriate
69 ioctl() operations instead. The character device is always
70 available.
70 ioctl() operations instead.
71
71
72config GPIO_CDEV
73 bool
74 prompt "Character device (/dev/gpiochipN) support" if EXPERT
75 default y
76 help
77 Say Y here to add the character device /dev/gpiochipN interface
78 for GPIOs. The character device allows userspace to control GPIOs
79 using ioctl() operations.
80
81 Only say N if you are sure that the GPIO character device is not
82 required.
83
84 If unsure, say Y.
85
86config GPIO_CDEV_V1
87 bool "Support GPIO ABI Version 1"
88 default y
89 depends on GPIO_CDEV
90 help
91 Say Y here to support version 1 of the GPIO CDEV ABI.
92
93 This ABI version is deprecated.
94 Please use the latest ABI for new developments.
95
96 If unsure, say Y.
97
72config GPIO_GENERIC
73 depends on HAS_IOMEM # Only for IOMEM drivers
74 tristate
75
76config GPIO_REGMAP
77 depends on REGMAP
78 tristate
79

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

197 default y if ARCH_DAVINCI
198 depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)
199 help
200 Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
201
202config GPIO_DWAPB
203 tristate "Synopsys DesignWare APB GPIO driver"
204 select GPIO_GENERIC
98config GPIO_GENERIC
99 depends on HAS_IOMEM # Only for IOMEM drivers
100 tristate
101
102config GPIO_REGMAP
103 depends on REGMAP
104 tristate
105

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

223 default y if ARCH_DAVINCI
224 depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)
225 help
226 Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
227
228config GPIO_DWAPB
229 tristate "Synopsys DesignWare APB GPIO driver"
230 select GPIO_GENERIC
205 select GENERIC_IRQ_CHIP
231 select GPIOLIB_IRQCHIP
206 help
207 Say Y or M here to build support for the Synopsys DesignWare APB
208 GPIO block.
209
210config GPIO_EIC_SPRD
211 tristate "Spreadtrum EIC support"
212 depends on ARCH_SPRD || COMPILE_TEST
213 depends on OF_GPIO

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

225 def_bool y
226 depends on ARCH_EP93XX
227 select GPIO_GENERIC
228 select GPIOLIB_IRQCHIP
229
230config GPIO_EXAR
231 tristate "Support for GPIO pins on XR17V352/354/358"
232 depends on SERIAL_8250_EXAR
232 help
233 Say Y or M here to build support for the Synopsys DesignWare APB
234 GPIO block.
235
236config GPIO_EIC_SPRD
237 tristate "Spreadtrum EIC support"
238 depends on ARCH_SPRD || COMPILE_TEST
239 depends on OF_GPIO

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

251 def_bool y
252 depends on ARCH_EP93XX
253 select GPIO_GENERIC
254 select GPIOLIB_IRQCHIP
255
256config GPIO_EXAR
257 tristate "Support for GPIO pins on XR17V352/354/358"
258 depends on SERIAL_8250_EXAR
259 select REGMAP_MMIO
233 help
234 Selecting this option will enable handling of GPIO pins present
235 on Exar XR17V352/354/358 chips.
236
237config GPIO_GE_FPGA
238 bool "GE FPGA based GPIO"
239 depends on GE_FPGA
240 select GPIO_GENERIC

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

266 tristate "Aeroflex Gaisler GRGPIO support"
267 depends on OF_GPIO
268 select GPIO_GENERIC
269 select IRQ_DOMAIN
270 help
271 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
272 VHDL IP core library.
273
260 help
261 Selecting this option will enable handling of GPIO pins present
262 on Exar XR17V352/354/358 chips.
263
264config GPIO_GE_FPGA
265 bool "GE FPGA based GPIO"
266 depends on GE_FPGA
267 select GPIO_GENERIC

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

293 tristate "Aeroflex Gaisler GRGPIO support"
294 depends on OF_GPIO
295 select GPIO_GENERIC
296 select IRQ_DOMAIN
297 help
298 Select this to support Aeroflex Gaisler GRGPIO cores from the GRLIB
299 VHDL IP core library.
300
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
310 concurrent access.
311
274config GPIO_HLWD
275 tristate "Nintendo Wii (Hollywood) GPIO"
276 depends on OF_GPIO
277 select GPIO_GENERIC
278 select GPIOLIB_IRQCHIP
279 help
280 Select this to support the GPIO controller of the Nintendo Wii.
281

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

392config GPIO_MVEBU
393 def_bool y
394 depends on PLAT_ORION || ARCH_MVEBU
395 depends on OF_GPIO
396 select GENERIC_IRQ_CHIP
397 select REGMAP_MMIO
398
399config GPIO_MXC
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

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

430config GPIO_MVEBU
431 def_bool y
432 depends on PLAT_ORION || ARCH_MVEBU
433 depends on OF_GPIO
434 select GENERIC_IRQ_CHIP
435 select REGMAP_MMIO
436
437config GPIO_MXC
400 def_bool y
438 tristate "i.MX GPIO support"
401 depends on ARCH_MXC || COMPILE_TEST
402 select GPIO_GENERIC
403 select GENERIC_IRQ_CHIP
404
405config GPIO_MXS
406 def_bool y
407 depends on ARCH_MXS || COMPILE_TEST
408 select GPIO_GENERIC

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

707 tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)"
708 help
709 This option enables driver for GPIO on AMDs Fusion Controller Hub,
710 as found on G-series SOCs (eg. GX-412TC)
711
712 Note: This driver doesn't registers itself automatically, as it
713 needs to be provided with platform specific configuration.
714 (See eg. CONFIG_PCENGINES_APU2.)
439 depends on ARCH_MXC || COMPILE_TEST
440 select GPIO_GENERIC
441 select GENERIC_IRQ_CHIP
442
443config GPIO_MXS
444 def_bool y
445 depends on ARCH_MXS || COMPILE_TEST
446 select GPIO_GENERIC

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

745 tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)"
746 help
747 This option enables driver for GPIO on AMDs Fusion Controller Hub,
748 as found on G-series SOCs (eg. GX-412TC)
749
750 Note: This driver doesn't registers itself automatically, as it
751 needs to be provided with platform specific configuration.
752 (See eg. CONFIG_PCENGINES_APU2.)
753
754config GPIO_MSC313
755 bool "MStar MSC313 GPIO support"
756 depends on ARCH_MSTARV7
757 default ARCH_MSTARV7
758 select GPIOLIB_IRQCHIP
759 select IRQ_DOMAIN_HIERARCHY
760 help
761 Say Y here to support the main GPIO block on MStar/SigmaStar
762 ARMv7 based SoCs.
763
715endmenu
716
717menu "Port-mapped I/O GPIO drivers"
718 depends on X86 # Unconditional I/O space access
719
720config GPIO_104_DIO_48E
721 tristate "ACCES 104-DIO-48E GPIO support"
722 depends on PC104

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

1218 bool "RICOH RC5T583 GPIO"
1219 depends on MFD_RC5T583
1220 help
1221 Select this option to enable GPIO driver for the Ricoh RC5T583
1222 chip family.
1223 This driver provides the support for driving/reading the gpio pins
1224 of RC5T583 device through standard gpio library.
1225
764endmenu
765
766menu "Port-mapped I/O GPIO drivers"
767 depends on X86 # Unconditional I/O space access
768
769config GPIO_104_DIO_48E
770 tristate "ACCES 104-DIO-48E GPIO support"
771 depends on PC104

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

1267 bool "RICOH RC5T583 GPIO"
1268 depends on MFD_RC5T583
1269 help
1270 Select this option to enable GPIO driver for the Ricoh RC5T583
1271 chip family.
1272 This driver provides the support for driving/reading the gpio pins
1273 of RC5T583 device through standard gpio library.
1274
1275config GPIO_SL28CPLD
1276 tristate "Kontron sl28cpld GPIO support"
1277 depends on MFD_SL28CPLD || COMPILE_TEST
1278 select GPIO_REGMAP
1279 select GPIOLIB_IRQCHIP
1280 select REGMAP_IRQ
1281 help
1282 This enables support for the GPIOs found on the Kontron sl28 CPLD.
1283
1284 This driver can also be built as a module. If so, the module will be
1285 called gpio-sl28cpld.
1286
1226config GPIO_STMPE
1227 bool "STMPE GPIOs"
1228 depends on MFD_STMPE
1229 depends on OF_GPIO
1230 select GPIOLIB_IRQCHIP
1231 help
1232 This enables support for the GPIOs found on the STMPE I/O
1233 Expanders.

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

1548 Technologies Viperboard. There are two GPIO chips on the
1549 board: gpioa and gpiob.
1550 See viperboard API specification and Nano
1551 River Tech's viperboard.h for detailed meaning
1552 of the module parameters.
1553
1554endmenu
1555
1287config GPIO_STMPE
1288 bool "STMPE GPIOs"
1289 depends on MFD_STMPE
1290 depends on OF_GPIO
1291 select GPIOLIB_IRQCHIP
1292 help
1293 This enables support for the GPIOs found on the STMPE I/O
1294 Expanders.

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

1609 Technologies Viperboard. There are two GPIO chips on the
1610 board: gpioa and gpiob.
1611 See viperboard API specification and Nano
1612 River Tech's viperboard.h for detailed meaning
1613 of the module parameters.
1614
1615endmenu
1616
1617menu "Virtual GPIO drivers"
1618
1556config GPIO_AGGREGATOR
1557 tristate "GPIO Aggregator"
1558 help
1559 Say yes here to enable the GPIO Aggregator, which provides a way to
1560 aggregate existing GPIO lines into a new virtual GPIO chip.
1561 This can serve the following purposes:
1562 - Assign permissions for a collection of GPIO lines to a user,
1563 - Export a collection of GPIO lines to a virtual machine,

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

1571 help
1572 This enables GPIO Testing driver, which provides a way to test GPIO
1573 subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
1574 must be selected for this test.
1575 User could use it through the script in
1576 tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
1577 it.
1578
1619config GPIO_AGGREGATOR
1620 tristate "GPIO Aggregator"
1621 help
1622 Say yes here to enable the GPIO Aggregator, which provides a way to
1623 aggregate existing GPIO lines into a new virtual GPIO chip.
1624 This can serve the following purposes:
1625 - Assign permissions for a collection of GPIO lines to a user,
1626 - Export a collection of GPIO lines to a virtual machine,

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

1634 help
1635 This enables GPIO Testing driver, which provides a way to test GPIO
1636 subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
1637 must be selected for this test.
1638 User could use it through the script in
1639 tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
1640 it.
1641
1642endmenu
1643
1579endif
1644endif