forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-06 08f87f769b595151be1afeff53e144f543faa614
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
+ depends on 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.
....@@ -848,30 +986,39 @@
848986
849987 config GPIO_PCA953X
850988 tristate "PCA95[357]x, PCA9698, TCA64xx, and MAX7310 I/O ports"
989
+ select REGMAP_I2C
851990 help
852991 Say yes here to provide access to several register-oriented
853992 SMBus I/O expanders, made mostly by NXP or TI. Compatible
854993 models include:
855994
856
- 4 bits: pca9536, pca9537
995
+ 4 bits: pca9536, pca9537
857996
858
- 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
859
- pca9556, pca9557, pca9574, tca6408, tca9554, xra1202
997
+ 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
998
+ pca9556, pca9557, pca9574, tca6408, tca9554, xra1202
860999
861
- 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
862
- tca6416
1000
+ 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
1001
+ tca6416
8631002
864
- 24 bits: tca6424
1003
+ 24 bits: tca6424
8651004
866
- 40 bits: pca9505, pca9698
1005
+ 40 bits: pca9505, pca9698
8671006
8681007 config GPIO_PCA953X_IRQ
8691008 bool "Interrupt controller support for PCA953x"
870
- depends on GPIO_PCA953X=y
1009
+ depends on GPIO_PCA953X
8711010 select GPIOLIB_IRQCHIP
8721011 help
8731012 Say yes here to enable the pca953x to be used as an interrupt
8741013 controller. It requires the driver to be built in the kernel.
1014
+
1015
+config GPIO_PCA9570
1016
+ tristate "PCA9570 4-Bit I2C GPO expander"
1017
+ help
1018
+ Say yes here to enable the GPO driver for the NXP PCA9570 chip.
1019
+
1020
+ To compile this driver as a module, choose M here: the module will
1021
+ be called gpio-pca9570.
8751022
8761023 config GPIO_PCF857X
8771024 tristate "PCF857x, PCA{85,96}7x, and MAX732[89] I2C GPIO expanders"
....@@ -885,7 +1032,7 @@
8851032
8861033 8 bits: pcf8574, pcf8574a, pca8574, pca8574a,
8871034 pca9670, pca9672, pca9674, pca9674a,
888
- max7328, max7329
1035
+ max7328, max7329
8891036
8901037 16 bits: pcf8575, pcf8575c, pca8575,
8911038 pca9671, pca9673, pca9675
....@@ -938,6 +1085,29 @@
9381085 depends on MFD_ARIZONA
9391086 help
9401087 Support for GPIOs on Wolfson Arizona class devices.
1088
+
1089
+config GPIO_BD70528
1090
+ tristate "ROHM BD70528 GPIO support"
1091
+ depends on MFD_ROHM_BD70528
1092
+ help
1093
+ Support for GPIOs on ROHM BD70528 PMIC. There are four GPIOs
1094
+ available on the ROHM PMIC in total. The GPIOs can also
1095
+ generate interrupts.
1096
+
1097
+ This driver can also be built as a module. If so, the module
1098
+ will be called gpio-bd70528.
1099
+
1100
+config GPIO_BD71828
1101
+ tristate "ROHM BD71828 GPIO support"
1102
+ depends on MFD_ROHM_BD71828
1103
+ help
1104
+ Support for GPIOs on ROHM BD71828 PMIC. There are three GPIOs
1105
+ available on the ROHM PMIC in total. The GPIOs are limited to
1106
+ outputs only and pins must be configured to GPIO outputs by
1107
+ OTP. Enable this only if you want to use these pins as outputs.
1108
+
1109
+ This driver can also be built as a module. If so, the module
1110
+ will be called gpio-bd71828.
9411111
9421112 config GPIO_BD9571MWV
9431113 tristate "ROHM BD9571 GPIO support"
....@@ -1005,11 +1175,11 @@
10051175
10061176 config HTC_EGPIO
10071177 bool "HTC EGPIO support"
1008
- depends on GPIOLIB && ARM
1178
+ depends on ARM
10091179 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.
1180
+ This driver supports the CPLD egpio chip present on
1181
+ several HTC phones. It provides basic support for input
1182
+ pins, output pins, and irqs.
10131183
10141184 config GPIO_JANZ_TTL
10151185 tristate "Janz VMOD-TTL Digital IO Module"
....@@ -1045,7 +1215,7 @@
10451215 on LP873X PMICs.
10461216
10471217 This driver can also be built as a module. If so, the module will be
1048
- called gpio-lp873x.
1218
+ called gpio-lp873x.
10491219
10501220 config GPIO_LP87565
10511221 tristate "TI LP87565 GPIO"
....@@ -1073,6 +1243,13 @@
10731243 driver also provides interrupt support for each of the gpios.
10741244 Say yes here to enable the max77620 to be used as gpio controller.
10751245
1246
+config GPIO_MAX77650
1247
+ tristate "Maxim MAX77650/77651 GPIO support"
1248
+ depends on MFD_MAX77650
1249
+ help
1250
+ GPIO driver for MAX77650/77651 PMIC from Maxim Semiconductor.
1251
+ These chips have a single pin that can be configured as GPIO.
1252
+
10761253 config GPIO_MSIC
10771254 bool "Intel MSIC mixed signal gpio support"
10781255 depends on (X86 || COMPILE_TEST) && MFD_INTEL_MSIC
....@@ -1096,6 +1273,18 @@
10961273 This driver provides the support for driving/reading the gpio pins
10971274 of RC5T583 device through standard gpio library.
10981275
1276
+config GPIO_SL28CPLD
1277
+ tristate "Kontron sl28cpld GPIO support"
1278
+ depends on MFD_SL28CPLD || COMPILE_TEST
1279
+ select GPIO_REGMAP
1280
+ select GPIOLIB_IRQCHIP
1281
+ select REGMAP_IRQ
1282
+ help
1283
+ This enables support for the GPIOs found on the Kontron sl28 CPLD.
1284
+
1285
+ This driver can also be built as a module. If so, the module will be
1286
+ called gpio-sl28cpld.
1287
+
10991288 config GPIO_STMPE
11001289 bool "STMPE GPIOs"
11011290 depends on MFD_STMPE
....@@ -1117,7 +1306,7 @@
11171306 config GPIO_TIMBERDALE
11181307 bool "Support for timberdale GPIO IP"
11191308 depends on MFD_TIMBERDALE
1120
- ---help---
1309
+ help
11211310 Add support for the GPIO IP in the timberdale FPGA.
11221311
11231312 config GPIO_TPS65086
....@@ -1167,6 +1356,14 @@
11671356 This driver config is bool, as the GPIO functionality
11681357 of the TPS68470 must be available before dependent
11691358 drivers are loaded.
1359
+
1360
+config GPIO_TQMX86
1361
+ tristate "TQ-Systems QTMX86 GPIO"
1362
+ depends on MFD_TQMX86 || COMPILE_TEST
1363
+ depends on HAS_IOPORT_MAP
1364
+ select GPIOLIB_IRQCHIP
1365
+ help
1366
+ This driver supports GPIO on the TQMX86 IO controller.
11701367
11711368 config GPIO_TWL4030
11721369 tristate "TWL4030, TWL5030, and TPS659x0 GPIOs"
....@@ -1231,6 +1428,7 @@
12311428 config GPIO_AMD8111
12321429 tristate "AMD 8111 GPIO driver"
12331430 depends on X86 || COMPILE_TEST
1431
+ depends on HAS_IOPORT_MAP
12341432 help
12351433 The AMD 8111 south bridge contains 32 GPIO pins which can be used.
12361434
....@@ -1252,7 +1450,7 @@
12521450 The card needs to be physically altered for using it as a
12531451 GPIO card. For more information on how to build a GPIO card
12541452 from a BT8xx TV card, see the documentation file at
1255
- Documentation/bt8xxgpio.txt
1453
+ Documentation/driver-api/gpio/bt8xxgpio.rst
12561454
12571455 If unsure, say N.
12581456
....@@ -1269,6 +1467,20 @@
12691467 select GPIOLIB_IRQCHIP
12701468 help
12711469 Say Y here to support Intel Merrifield GPIO.
1470
+
1471
+config GPIO_MLXBF
1472
+ tristate "Mellanox BlueField SoC GPIO"
1473
+ depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
1474
+ select GPIO_GENERIC
1475
+ help
1476
+ Say Y here if you want GPIO support on Mellanox BlueField SoC.
1477
+
1478
+config GPIO_MLXBF2
1479
+ tristate "Mellanox BlueField 2 SoC GPIO"
1480
+ depends on (MELLANOX_PLATFORM && ARM64 && ACPI) || (64BIT && COMPILE_TEST)
1481
+ select GPIO_GENERIC
1482
+ help
1483
+ Say Y here if you want GPIO support on Mellanox BlueField 2 SoC.
12721484
12731485 config GPIO_ML_IOH
12741486 tristate "OKI SEMICONDUCTOR ML7213 IOH GPIO support"
....@@ -1378,6 +1590,15 @@
13781590 help
13791591 GPIO driver for EXAR XRA1403 16-bit SPI-based GPIO expander.
13801592
1593
+config GPIO_MOXTET
1594
+ tristate "Turris Mox Moxtet bus GPIO expander"
1595
+ depends on MOXTET
1596
+ help
1597
+ Say yes here if you are building for the Turris Mox router.
1598
+ This is the driver needed for configuring the GPIOs via the Moxtet
1599
+ bus. For example the Mox module with SFP cage needs this driver
1600
+ so that phylink can use corresponding GPIOs.
1601
+
13811602 endmenu
13821603
13831604 menu "USB GPIO expanders"
....@@ -1390,10 +1611,33 @@
13901611 Say yes here to access the GPIO signals of Nano River
13911612 Technologies Viperboard. There are two GPIO chips on the
13921613 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.
1614
+ See viperboard API specification and Nano
1615
+ River Tech's viperboard.h for detailed meaning
1616
+ of the module parameters.
13961617
13971618 endmenu
13981619
1620
+config GPIO_AGGREGATOR
1621
+ tristate "GPIO Aggregator"
1622
+ help
1623
+ Say yes here to enable the GPIO Aggregator, which provides a way to
1624
+ aggregate existing GPIO lines into a new virtual GPIO chip.
1625
+ This can serve the following purposes:
1626
+ - Assign permissions for a collection of GPIO lines to a user,
1627
+ - Export a collection of GPIO lines to a virtual machine,
1628
+ - Provide a generic driver for a GPIO-operated device in an
1629
+ industrial control context, to be operated from userspace using
1630
+ the GPIO chardev interface.
1631
+
1632
+config GPIO_MOCKUP
1633
+ tristate "GPIO Testing Driver"
1634
+ select IRQ_SIM
1635
+ help
1636
+ This enables GPIO Testing driver, which provides a way to test GPIO
1637
+ subsystem through sysfs(or char device) and debugfs. GPIO_SYSFS
1638
+ must be selected for this test.
1639
+ User could use it through the script in
1640
+ tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in
1641
+ it.
1642
+
13991643 endif