hc
2024-10-16 50a212ec906f7524620675f0c57357691c26c81f
kernel/drivers/gpio/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # GPIO infrastructure and drivers
34 #
....@@ -26,12 +27,12 @@
2627 range 32 512
2728 default 512
2829 help
29
- This adjusts the point at which certain APIs will switch from
30
- using a stack allocated buffer to a dynamically allocated buffer.
30
+ This adjusts the point at which certain APIs will switch from
31
+ using a stack allocated buffer to a dynamically allocated buffer.
3132
32
- You shouldn't need to change this unless you really need to
33
- optimize either stack space or performance. Change this carefully
34
- since setting an incorrect value could cause stack corruption.
33
+ You shouldn't need to change this unless you really need to
34
+ optimize either stack space or performance. Change this carefully
35
+ since setting an incorrect value could cause stack corruption.
3536
3637 config OF_GPIO
3738 def_bool y
....@@ -61,19 +62,44 @@
6162 bool "/sys/class/gpio/... (sysfs interface)"
6263 depends on SYSFS
6364 help
64
- Say Y here to add a sysfs interface for GPIOs.
65
+ Say Y here to add the legacy sysfs interface for GPIOs.
6566
66
- This is mostly useful to work around omissions in a system's
67
- kernel support. Those are common in custom and semicustom
68
- hardware assembled using standard kernels with a minimum of
69
- custom patches. In those cases, userspace code may import
70
- a given GPIO from the kernel, if no kernel driver requested it.
67
+ This ABI is deprecated. If you want to use GPIO from userspace,
68
+ use the character device /dev/gpiochipN with the appropriate
69
+ ioctl() operations instead.
7170
72
- Kernel drivers may also request that a particular GPIO be
73
- exported to userspace; this can be useful when debugging.
71
+config GPIO_CDEV
72
+ bool
73
+ prompt "Character device (/dev/gpiochipN) support" if EXPERT
74
+ default y
75
+ help
76
+ Say Y here to add the character device /dev/gpiochipN interface
77
+ for GPIOs. The character device allows userspace to control GPIOs
78
+ using ioctl() operations.
79
+
80
+ Only say N if you are sure that the GPIO character device is not
81
+ required.
82
+
83
+ If unsure, say Y.
84
+
85
+config GPIO_CDEV_V1
86
+ bool "Support GPIO ABI Version 1"
87
+ default y
88
+ depends on GPIO_CDEV
89
+ help
90
+ Say Y here to support version 1 of the GPIO CDEV ABI.
91
+
92
+ This ABI version is deprecated.
93
+ Please use the latest ABI for new developments.
94
+
95
+ If unsure, say Y.
7496
7597 config GPIO_GENERIC
7698 depends on HAS_IOMEM # Only for IOMEM drivers
99
+ tristate
100
+
101
+config GPIO_REGMAP
102
+ select REGMAP
77103 tristate
78104
79105 # put drivers in the right section, in alphabetical order
....@@ -123,6 +149,14 @@
123149 help
124150 Say Y here to support Aspeed AST2400 and AST2500 GPIO controllers.
125151
152
+config GPIO_ASPEED_SGPIO
153
+ bool "Aspeed SGPIO support"
154
+ depends on (ARCH_ASPEED || COMPILE_TEST) && OF_GPIO
155
+ select GPIO_GENERIC
156
+ select GPIOLIB_IRQCHIP
157
+ help
158
+ Say Y here to support Aspeed AST2500 SGPIO functionality.
159
+
126160 config GPIO_ATH79
127161 tristate "Atheros AR71XX/AR724X/AR913X GPIO support"
128162 default y if ATH79
....@@ -150,6 +184,15 @@
150184 help
151185 Turn on GPIO support for Broadcom "Kona" chips.
152186
187
+config GPIO_BCM_XGS_IPROC
188
+ tristate "BRCM XGS iProc GPIO support"
189
+ depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
190
+ select GPIO_GENERIC
191
+ select GPIOLIB_IRQCHIP
192
+ default ARCH_BCM_IPROC
193
+ help
194
+ Say yes here to enable GPIO support for Broadcom XGS iProc SoCs.
195
+
153196 config GPIO_BRCMSTB
154197 tristate "BRCMSTB GPIO support"
155198 default y if (ARCH_BRCMSTB || BMIPS_GENERIC)
....@@ -158,6 +201,14 @@
158201 select IRQ_DOMAIN
159202 help
160203 Say yes here to enable GPIO support for Broadcom STB (BCM7XXX) SoCs.
204
+
205
+config GPIO_CADENCE
206
+ tristate "Cadence GPIO support"
207
+ depends on OF_GPIO
208
+ select GPIO_GENERIC
209
+ select GPIOLIB_IRQCHIP
210
+ help
211
+ Say yes here to enable support for Cadence GPIO controller.
161212
162213 config GPIO_CLPS711X
163214 tristate "CLPS711X GPIO support"
....@@ -169,14 +220,14 @@
169220 config GPIO_DAVINCI
170221 bool "TI Davinci/Keystone GPIO support"
171222 default y if ARCH_DAVINCI
172
- depends on ARM && (ARCH_DAVINCI || ARCH_KEYSTONE)
223
+ depends on (ARM || ARM64) && (ARCH_DAVINCI || ARCH_KEYSTONE || ARCH_K3)
173224 help
174225 Say yes here to enable GPIO support for TI Davinci/Keystone SoCs.
175226
176227 config GPIO_DWAPB
177228 tristate "Synopsys DesignWare APB GPIO driver"
178229 select GPIO_GENERIC
179
- select GENERIC_IRQ_CHIP
230
+ select GPIOLIB_IRQCHIP
180231 help
181232 Say Y or M here to build support for the Synopsys DesignWare APB
182233 GPIO block.
....@@ -199,6 +250,7 @@
199250 def_bool y
200251 depends on ARCH_EP93XX
201252 select GPIO_GENERIC
253
+ select GPIOLIB_IRQCHIP
202254
203255 config GPIO_EXAR
204256 tristate "Support for GPIO pins on XR17V352/354/358"
....@@ -248,6 +300,7 @@
248300 tristate "Nintendo Wii (Hollywood) GPIO"
249301 depends on OF_GPIO
250302 select GPIO_GENERIC
303
+ select GPIOLIB_IRQCHIP
251304 help
252305 Select this to support the GPIO controller of the Nintendo Wii.
253306
....@@ -266,20 +319,9 @@
266319
267320 If unsure, say N.
268321
269
-config GPIO_INGENIC
270
- tristate "Ingenic JZ47xx SoCs GPIO support"
271
- depends on OF
272
- depends on MACH_INGENIC || COMPILE_TEST
273
- select GPIOLIB_IRQCHIP
274
- help
275
- Say yes here to support the GPIO functionality present on the
276
- JZ4740 and JZ4780 SoCs from Ingenic.
277
-
278
- If unsure, say N.
279
-
280322 config GPIO_IOP
281323 tristate "Intel IOP GPIO"
282
- depends on ARCH_IOP32X || ARCH_IOP33X || COMPILE_TEST
324
+ depends on ARCH_IOP32X || COMPILE_TEST
283325 select GPIO_GENERIC
284326 help
285327 Say yes here to support the GPIO functionality of a number of Intel
....@@ -287,9 +329,28 @@
287329
288330 If unsure, say N.
289331
332
+config GPIO_IXP4XX
333
+ bool "Intel IXP4xx GPIO"
334
+ depends on ARM # For <asm/mach-types.h>
335
+ depends on ARCH_IXP4XX
336
+ select GPIO_GENERIC
337
+ select GPIOLIB_IRQCHIP
338
+ select IRQ_DOMAIN_HIERARCHY
339
+ help
340
+ Say yes here to support the GPIO functionality of a number of Intel
341
+ IXP4xx series of chips.
342
+
343
+ If unsure, say N.
344
+config GPIO_LOGICVC
345
+ tristate "Xylon LogiCVC GPIO support"
346
+ depends on MFD_SYSCON && OF
347
+ help
348
+ Say yes here to support GPIO functionality of the Xylon LogiCVC
349
+ programmable logic block.
350
+
290351 config GPIO_LOONGSON
291352 bool "Loongson-2/3 GPIO support"
292
- depends on CPU_LOONGSON2 || CPU_LOONGSON3
353
+ depends on CPU_LOONGSON2EF || CPU_LOONGSON64
293354 help
294355 driver for GPIO functionality on Loongson-2F/3A/3B processors.
295356
....@@ -297,17 +358,17 @@
297358 tristate "NXP LPC18XX/43XX GPIO support"
298359 default y if ARCH_LPC18XX
299360 depends on OF_GPIO && (ARCH_LPC18XX || COMPILE_TEST)
361
+ select IRQ_DOMAIN_HIERARCHY
300362 help
301363 Select this option to enable GPIO driver for
302364 NXP LPC18XX/43XX devices.
303365
304
-config GPIO_LYNXPOINT
305
- tristate "Intel Lynxpoint GPIO support"
306
- depends on ACPI && X86
307
- select GPIOLIB_IRQCHIP
366
+config GPIO_LPC32XX
367
+ tristate "NXP LPC32XX GPIO support"
368
+ depends on OF_GPIO && (ARCH_LPC32XX || COMPILE_TEST)
308369 help
309
- driver for GPIO functionality on Intel Lynxpoint PCH chipset
310
- Requires ACPI device enumeration code to set up a platform device.
370
+ Select this option to enable GPIO driver for
371
+ NXP LPC32XX devices.
311372
312373 config GPIO_MB86S7X
313374 tristate "GPIO support for Fujitsu MB86S7x Platforms"
....@@ -319,7 +380,7 @@
319380 depends on MCB
320381 select GPIO_GENERIC
321382 help
322
- Say yes here to support the MEN 16Z127 GPIO Controller
383
+ Say yes here to support the MEN 16Z127 GPIO Controller
323384
324385 config GPIO_MM_LANTIQ
325386 bool "Lantiq Memory mapped GPIOs"
....@@ -328,20 +389,6 @@
328389 This enables support for memory mapped GPIOs on the External Bus Unit
329390 (EBU) found on Lantiq SoCs. The gpios are output only as they are
330391 created by attaching a 16bit latch to the bus.
331
-
332
-config GPIO_MOCKUP
333
- tristate "GPIO Testing Driver"
334
- depends on GPIOLIB && SYSFS
335
- select GPIO_SYSFS
336
- select GPIOLIB_IRQCHIP
337
- select IRQ_SIM
338
- help
339
- This enables GPIO Testing driver, which provides a way to test GPIO
340
- subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
341
- must be selected for this test.
342
- User could use it through the script in
343
- tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
344
- it.
345392
346393 config GPIO_MPC5200
347394 def_bool y
....@@ -375,20 +422,21 @@
375422 select REGMAP_MMIO
376423
377424 config GPIO_MXC
378
- def_bool y
379
- depends on ARCH_MXC
425
+ tristate "i.MX GPIO support"
426
+ depends on ARCH_MXC || COMPILE_TEST
380427 select GPIO_GENERIC
381428 select GENERIC_IRQ_CHIP
382429
383430 config GPIO_MXS
384
- def_bool y
385
- depends on ARCH_MXS
431
+ bool "Freescale MXS GPIO support" if COMPILE_TEST
432
+ depends on ARCH_MXS || COMPILE_TEST
433
+ default y if ARCH_MXS
386434 select GPIO_GENERIC
387435 select GENERIC_IRQ_CHIP
388436
389437 config GPIO_OCTEON
390438 tristate "Cavium OCTEON GPIO"
391
- depends on GPIOLIB && CAVIUM_OCTEON_SOC
439
+ depends on CAVIUM_OCTEON_SOC
392440 default y
393441 help
394442 Say yes here to support the on-chip GPIO lines on the OCTEON
....@@ -404,7 +452,7 @@
404452 Say yes here to enable GPIO support for TI OMAP SoCs.
405453
406454 config GPIO_PL061
407
- bool "PrimeCell PL061 GPIO support"
455
+ tristate "PrimeCell PL061 GPIO support"
408456 depends on ARM_AMBA
409457 select IRQ_DOMAIN
410458 select GPIOLIB_IRQCHIP
....@@ -421,7 +469,7 @@
421469
422470 config GPIO_PXA
423471 bool "PXA GPIO support"
424
- depends on ARCH_PXA || ARCH_MMP
472
+ depends on ARCH_PXA || ARCH_MMP || COMPILE_TEST
425473 help
426474 Say yes here to support the PXA GPIO device
427475
....@@ -431,6 +479,15 @@
431479 select GPIOLIB_IRQCHIP
432480 help
433481 Say yes here to support GPIO on Renesas R-Car SoCs.
482
+
483
+config GPIO_RDA
484
+ bool "RDA Micro GPIO controller support"
485
+ depends on ARCH_RDA || COMPILE_TEST
486
+ depends on OF_GPIO
487
+ select GPIO_GENERIC
488
+ select GPIOLIB_IRQCHIP
489
+ help
490
+ Say Y here to support RDA Micro GPIO controller.
434491
435492 config GPIO_REG
436493 bool
....@@ -445,6 +502,46 @@
445502 default ARCH_ROCKCHIP
446503 help
447504 Say yes here to support GPIO on Rockchip SoCs.
505
+
506
+config GPIO_SAMA5D2_PIOBU
507
+ tristate "SAMA5D2 PIOBU GPIO support"
508
+ depends on MFD_SYSCON
509
+ depends on OF_GPIO
510
+ select GPIO_SYSCON
511
+ help
512
+ Say yes here to use the PIOBU pins as GPIOs.
513
+
514
+ PIOBU pins on the SAMA5D2 can be used as GPIOs.
515
+ The difference from regular GPIOs is that they
516
+ maintain their value during backup/self-refresh.
517
+
518
+config GPIO_SIFIVE
519
+ bool "SiFive GPIO support"
520
+ depends on OF_GPIO
521
+ select IRQ_DOMAIN_HIERARCHY
522
+ select GPIO_GENERIC
523
+ select GPIOLIB_IRQCHIP
524
+ select REGMAP_MMIO
525
+ help
526
+ Say yes here to support the GPIO device on SiFive SoCs.
527
+
528
+config GPIO_SIOX
529
+ tristate "SIOX GPIO support"
530
+ depends on SIOX
531
+ select GPIOLIB_IRQCHIP
532
+ help
533
+ Say yes here to support SIOX I/O devices. These are units connected
534
+ via a SIOX bus and have a number of fixed-direction I/O lines.
535
+
536
+config GPIO_SNPS_CREG
537
+ bool "Synopsys GPIO via CREG (Control REGisters) driver"
538
+ depends on ARC || COMPILE_TEST
539
+ depends on OF_GPIO
540
+ help
541
+ This driver supports GPIOs via CREG on various Synopsys SoCs.
542
+ This is a single-register MMIO GPIO driver for complex cases
543
+ where only several fields in register belong to GPIO lines and
544
+ each GPIO line owns a field with different length and on/off value.
448545
449546 config GPIO_SPEAR_SPICS
450547 bool "ST SPEAr13xx SPI Chip Select as GPIO support"
....@@ -471,7 +568,8 @@
471568
472569 config GPIO_STP_XWAY
473570 bool "XWAY STP GPIOs"
474
- depends on SOC_XWAY
571
+ depends on SOC_XWAY || COMPILE_TEST
572
+ depends on OF_GPIO
475573 help
476574 This enables support for the Serial To Parallel (STP) unit found on
477575 XWAY SoC. The STP allows the SoC to drive a shift registers cascade,
....@@ -487,6 +585,7 @@
487585
488586 config GPIO_TB10X
489587 bool
588
+ select GPIO_GENERIC
490589 select GENERIC_IRQ_CHIP
491590 select OF_GPIO
492591
....@@ -500,10 +599,11 @@
500599
501600 config GPIO_TEGRA186
502601 tristate "NVIDIA Tegra186 GPIO support"
503
- default ARCH_TEGRA_186_SOC
504
- depends on ARCH_TEGRA_186_SOC || COMPILE_TEST
602
+ default ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC
603
+ depends on ARCH_TEGRA_186_SOC || ARCH_TEGRA_194_SOC || COMPILE_TEST
505604 depends on OF_GPIO
506605 select GPIOLIB_IRQCHIP
606
+ select IRQ_DOMAIN_HIERARCHY
507607 help
508608 Say yes here to support GPIO pins on NVIDIA Tegra186 SoCs.
509609
....@@ -519,6 +619,7 @@
519619 tristate "Cavium ThunderX/OCTEON-TX GPIO"
520620 depends on ARCH_THUNDER || (64BIT && COMPILE_TEST)
521621 depends on PCI_MSI
622
+ select GPIOLIB_IRQCHIP
522623 select IRQ_DOMAIN_HIERARCHY
523624 select IRQ_FASTEOI_HIERARCHY_HANDLERS
524625 help
....@@ -558,6 +659,13 @@
558659 additional drivers must be enabled in order to use the
559660 functionality of the device.
560661
662
+config GPIO_WCD934X
663
+ tristate "Qualcomm Technologies Inc WCD9340/WCD9341 gpio controller driver"
664
+ depends on MFD_WCD934X && OF_GPIO
665
+ help
666
+ This driver is to supprot GPIO block found on the Qualcomm Technologies
667
+ Inc WCD9340/WCD9341 Audio Codec.
668
+
561669 config GPIO_XGENE
562670 bool "APM X-Gene GPIO controller support"
563671 depends on ARM64 && OF_GPIO
....@@ -569,7 +677,7 @@
569677
570678 config GPIO_XGENE_SB
571679 tristate "APM X-Gene GPIO standby controller support"
572
- depends on ARCH_XGENE && OF_GPIO
680
+ depends on (ARCH_XGENE || COMPILE_TEST)
573681 select GPIO_GENERIC
574682 select GPIOLIB_IRQCHIP
575683 select IRQ_DOMAIN_HIERARCHY
....@@ -579,7 +687,6 @@
579687
580688 config GPIO_XILINX
581689 tristate "Xilinx GPIO support"
582
- depends on OF_GPIO
583690 help
584691 Say yes here to support the Xilinx FPGA GPIO device
585692
....@@ -631,6 +738,15 @@
631738 help
632739 Say Y or M here to support GPIO on Loongson1 SoCs.
633740
741
+config GPIO_AMD_FCH
742
+ tristate "GPIO support for AMD Fusion Controller Hub (G-series SOCs)"
743
+ help
744
+ This option enables driver for GPIO on AMDs Fusion Controller Hub,
745
+ as found on G-series SOCs (eg. GX-412TC)
746
+
747
+ Note: This driver doesn't registers itself automatically, as it
748
+ needs to be provided with platform specific configuration.
749
+ (See eg. CONFIG_PCENGINES_APU2.)
634750 endmenu
635751
636752 menu "Port-mapped I/O GPIO drivers"
....@@ -808,6 +924,28 @@
808924 enough to represent all pins, but the driver will assume a
809925 register layout for 64 pins (8 registers).
810926
927
+config GPIO_AW9110
928
+ tristate "AW9110 I2C GPIO expanders"
929
+ select GPIOLIB_IRQCHIP
930
+ select IRQ_DOMAIN
931
+ help
932
+ Say yes here to provide access to I2C
933
+ GPIO expanders used for additional digital outputs or inputs.
934
+ Your board setup code will need to declare the expanders in
935
+ use, and assign numbers to the GPIOs they expose. Those GPIOs
936
+ can then be used from drivers and other kernel code, just like
937
+ other GPIOs, but only accessible from task contexts.
938
+
939
+ This driver provides an in-kernel interface to those GPIOs using
940
+ platform-neutral GPIO calls.
941
+
942
+config GPIO_GW_PLD
943
+ tristate "Gateworks PLD GPIO Expander"
944
+ depends on OF_GPIO
945
+ help
946
+ Say yes here to provide access to the Gateworks I2C PLD GPIO
947
+ Expander. This is used at least on the Cambria GW2358-4.
948
+
811949 config GPIO_MAX7300
812950 tristate "Maxim MAX7300 GPIO expander"
813951 select GPIO_MAX730X
....@@ -823,11 +961,11 @@
823961 Input and Output (designed by 'P'). The combinations are listed
824962 below:
825963
826
- 8 bits: max7319 (8I), max7320 (8O), max7321 (8P),
827
- max7322 (4I4O), max7323 (4P4O)
964
+ 8 bits: max7319 (8I), max7320 (8O), max7321 (8P),
965
+ max7322 (4I4O), max7323 (4P4O)
828966
829
- 16 bits: max7324 (8I8O), max7325 (8P8O),
830
- max7326 (4I12O), max7327 (4P12O)
967
+ 16 bits: max7324 (8I8O), max7325 (8P8O),
968
+ max7326 (4I12O), max7327 (4P12O)
831969
832970 Board setup code must specify the model to use, and the start
833971 number for these GPIOs.
....@@ -846,32 +984,49 @@
846984 help
847985 Select this to enable the MC9S08DZ60 GPIO driver
848986
987
+config GPIO_NCA9539
988
+ tristate "NCA9539 I2C GPIO expander"
989
+ depends on I2C || COMPILE_TEST
990
+ select REGMAP_I2C
991
+ help
992
+ Say yes here to support the NCA9539 series of I2C Expanders.
993
+ GPIO expanders used for additional digital outputs or inputs.
994
+
849995 config GPIO_PCA953X
850996 tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
997
+ select REGMAP_I2C
851998 help
852999 Say yes here to provide access to several register-oriented
8531000 SMBus I/O expanders, made mostly by NXP or TI. Compatible
8541001 models include:
8551002
856
- 4 bits: pca9536, pca9537
1003
+ 4 bits: pca9536, pca9537
8571004
858
- 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
859
- pca9556, pca9557, pca9574, tca6408, tca9554, xra1202
1005
+ 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
1006
+ pca9556, pca9557, pca9574, tca6408, tca9554, xra1202
8601007
861
- 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
862
- tca6416
1008
+ 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
1009
+ tca6416
8631010
864
- 24 bits: tca6424
1011
+ 24 bits: tca6424
8651012
866
- 40 bits: pca9505, pca9698
1013
+ 40 bits: pca9505, pca9698
8671014
8681015 config GPIO_PCA953X_IRQ
8691016 bool "Interrupt controller support for PCA953x"
870
- depends on GPIO_PCA953X=y
1017
+ depends on GPIO_PCA953X
8711018 select GPIOLIB_IRQCHIP
8721019 help
8731020 Say yes here to enable the pca953x to be used as an interrupt
8741021 controller. It requires the driver to be built in the kernel.
1022
+
1023
+config GPIO_PCA9570
1024
+ tristate "PCA9570 4-Bit I2C GPO expander"
1025
+ help
1026
+ Say yes here to enable the GPO driver for the NXP PCA9570 chip.
1027
+
1028
+ To compile this driver as a module, choose M here: the module will
1029
+ be called gpio-pca9570.
8751030
8761031 config GPIO_PCF857X
8771032 tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
....@@ -885,7 +1040,7 @@
8851040
8861041 8 bits: pcf8574, pcf8574a, pca8574, pca8574a,
8871042 pca9670, pca9672, pca9674, pca9674a,
888
- max7328, max7329
1043
+ max7328, max7329
8891044
8901045 16 bits: pcf8575, pcf8575c, pca8575,
8911046 pca9671, pca9673, pca9675
....@@ -938,6 +1093,29 @@
9381093 depends on MFD_ARIZONA
9391094 help
9401095 Support for GPIOs on Wolfson Arizona class devices.
1096
+
1097
+config GPIO_BD70528
1098
+ tristate "ROHM BD70528 GPIO support"
1099
+ depends on MFD_ROHM_BD70528
1100
+ help
1101
+ Support for GPIOs on ROHM BD70528 PMIC. There are four GPIOs
1102
+ available on the ROHM PMIC in total. The GPIOs can also
1103
+ generate interrupts.
1104
+
1105
+ This driver can also be built as a module. If so, the module
1106
+ will be called gpio-bd70528.
1107
+
1108
+config GPIO_BD71828
1109
+ tristate "ROHM BD71828 GPIO support"
1110
+ depends on MFD_ROHM_BD71828
1111
+ help
1112
+ Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs
1113
+ available on the ROHM PMIC in total. The GPIOs are limited to
1114
+ outputs only and pins must be configured to GPIO outputs by
1115
+ OTP. Enable this only if you want to use these pins as outputs.
1116
+
1117
+ This driver can also be built as a module. If so, the module
1118
+ will be called gpio-bd71828.
9411119
9421120 config GPIO_BD9571MWV
9431121 tristate "ROHM BD9571 GPIO support"
....@@ -1005,11 +1183,11 @@
10051183
10061184 config HTC_EGPIO
10071185 bool "HTC EGPIO support"
1008
- depends on GPIOLIB && ARM
1186
+ depends on ARM
10091187 help
1010
- This driver supports the CPLD egpio chip present on
1011
- several HTC phones. It provides basic support for input
1012
- pins, output pins, and irqs.
1188
+ This driver supports the CPLD egpio chip present on
1189
+ several HTC phones. It provides basic support for input
1190
+ pins, output pins, and irqs.
10131191
10141192 config GPIO_JANZ_TTL
10151193 tristate "Janz VMOD-TTL Digital IO Module"
....@@ -1045,7 +1223,7 @@
10451223 on LP873X PMICs.
10461224
10471225 This driver can also be built as a module. If so, the module will be
1048
- called gpio-lp873x.
1226
+ called gpio-lp873x.
10491227
10501228 config GPIO_LP87565
10511229 tristate "TI LP87565 GPIO"
....@@ -1073,6 +1251,13 @@
10731251 driver also provides interrupt support for each of the gpios.
10741252 Say yes here to enable the max77620 to be used as gpio controller.
10751253
1254
+config GPIO_MAX77650
1255
+ tristate "Maxim MAX77650/77651 GPIO support"
1256
+ depends on MFD_MAX77650
1257
+ help
1258
+ GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor.
1259
+ These chips have a single pin that can be configured as GPIO.
1260
+
10761261 config GPIO_MSIC
10771262 bool "Intel MSIC mixed signal gpio support"
10781263 depends on (X86 || COMPILE_TEST) && MFD_INTEL_MSIC
....@@ -1096,6 +1281,18 @@
10961281 This driver provides the support for driving/reading the gpio pins
10971282 of RC5T583 device through standard gpio library.
10981283
1284
+config GPIO_SL28CPLD
1285
+ tristate "Kontron sl28cpld GPIO support"
1286
+ depends on MFD_SL28CPLD || COMPILE_TEST
1287
+ select GPIO_REGMAP
1288
+ select GPIOLIB_IRQCHIP
1289
+ select REGMAP_IRQ
1290
+ help
1291
+ This enables support for the GPIOs found on the Kontron sl28 CPLD.
1292
+
1293
+ This driver can also be built as a module. If so, the module will be
1294
+ called gpio-sl28cpld.
1295
+
10991296 config GPIO_STMPE
11001297 bool "STMPE GPIOs"
11011298 depends on MFD_STMPE
....@@ -1117,7 +1314,7 @@
11171314 config GPIO_TIMBERDALE
11181315 bool "Support for timberdale GPIO IP"
11191316 depends on MFD_TIMBERDALE
1120
- ---help---
1317
+ help
11211318 Add support for the GPIO IP in the timberdale FPGA.
11221319
11231320 config GPIO_TPS65086
....@@ -1167,6 +1364,14 @@
11671364 This driver config is bool, as the GPIO functionality
11681365 of the TPS68470 must be available before dependent
11691366 drivers are loaded.
1367
+
1368
+config GPIO_TQMX86
1369
+ tristate "TQ-Systems QTMX86 GPIO"
1370
+ depends on MFD_TQMX86 || COMPILE_TEST
1371
+ depends on HAS_IOPORT_MAP
1372
+ select GPIOLIB_IRQCHIP
1373
+ help
1374
+ This driver supports GPIO on the TQMX86 IO controller.
11701375
11711376 config GPIO_TWL4030
11721377 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
....@@ -1231,6 +1436,7 @@
12311436 config GPIO_AMD8111
12321437 tristate "AMD 8111 GPIO driver"
12331438 depends on X86 || COMPILE_TEST
1439
+ depends on HAS_IOPORT_MAP
12341440 help
12351441 The AMD 8111 south bridge contains 32 GPIO pins which can be used.
12361442
....@@ -1252,7 +1458,7 @@
12521458 The card needs to be physically altered for using it as a
12531459 GPIO card. For more information on how to build a GPIO card
12541460 from a BT8xx TV card, see the documentation file at
1255
- Documentation/bt8xxgpio.txt
1461
+ Documentation/driver-api/gpio/bt8xxgpio.rst
12561462
12571463 If unsure, say N.
12581464
....@@ -1269,6 +1475,20 @@
12691475 select GPIOLIB_IRQCHIP
12701476 help
12711477 Say Y here to support Intel Merrifield GPIO.
1478
+
1479
+config GPIO_MLXBF
1480
+ tristate "Mellanox BlueField SoC GPIO"
1481
+ depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
1482
+ select GPIO_GENERIC
1483
+ help
1484
+ Say Y here if you want GPIO support on Mellanox BlueField SoC.
1485
+
1486
+config GPIO_MLXBF2
1487
+ tristate "Mellanox BlueField 2 SoC GPIO"
1488
+ depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
1489
+ select GPIO_GENERIC
1490
+ help
1491
+ Say Y here if you want GPIO support on Mellanox BlueField 2 SoC.
12721492
12731493 config GPIO_ML_IOH
12741494 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
....@@ -1378,6 +1598,15 @@
13781598 help
13791599 GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander.
13801600
1601
+config GPIO_MOXTET
1602
+ tristate "Turris Mox Moxtet bus GPIO expander"
1603
+ depends on MOXTET
1604
+ help
1605
+ Say yes here if you are building for the Turris Mox router.
1606
+ This is the driver needed for configuring the GPIOs via the Moxtet
1607
+ bus. For example the Mox module with SFP cage needs this driver
1608
+ so that phylink can use corresponding GPIOs.
1609
+
13811610 endmenu
13821611
13831612 menu "USB GPIO expanders"
....@@ -1390,10 +1619,33 @@
13901619 Say yes here to access the GPIO signals of Nano River
13911620 Technologies Viperboard. There are two GPIO chips on the
13921621 board: gpioa and gpiob.
1393
- See viperboard API specification and Nano
1394
- River Tech's viperboard.h for detailed meaning
1395
- of the module parameters.
1622
+ See viperboard API specification and Nano
1623
+ River Tech's viperboard.h for detailed meaning
1624
+ of the module parameters.
13961625
13971626 endmenu
13981627
1628
+config GPIO_AGGREGATOR
1629
+ tristate "GPIO Aggregator"
1630
+ help
1631
+ Say yes here to enable the GPIO Aggregator, which provides a way to
1632
+ aggregate existing GPIO lines into a new virtual GPIO chip.
1633
+ This can serve the following purposes:
1634
+ - Assign permissions for a collection of GPIO lines to a user,
1635
+ - Export a collection of GPIO lines to a virtual machine,
1636
+ - Provide a generic driver for a GPIO-operated device in an
1637
+ industrial control context, to be operated from userspace using
1638
+ the GPIO chardev interface.
1639
+
1640
+config GPIO_MOCKUP
1641
+ tristate "GPIO Testing Driver"
1642
+ select IRQ_SIM
1643
+ help
1644
+ This enables GPIO Testing driver, which provides a way to test GPIO
1645
+ subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
1646
+ must be selected for this test.
1647
+ User could use it through the script in
1648
+ tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
1649
+ it.
1650
+
13991651 endif