hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/pinctrl/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # PINCTRL infrastructure and drivers
34 #
....@@ -31,15 +32,15 @@
3132 Say Y here to add some extra checks and diagnostics to PINCTRL calls.
3233
3334 config PINCTRL_ARTPEC6
34
- bool "Axis ARTPEC-6 pin controller driver"
35
- depends on MACH_ARTPEC6
36
- select PINMUX
37
- select GENERIC_PINCONF
38
- help
39
- This is the driver for the Axis ARTPEC-6 pin controller. This driver
40
- supports pin function multiplexing as well as pin bias and drive
41
- strength configuration. Device tree integration instructions can be
42
- found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
35
+ bool "Axis ARTPEC-6 pin controller driver"
36
+ depends on MACH_ARTPEC6
37
+ select PINMUX
38
+ select GENERIC_PINCONF
39
+ help
40
+ This is the driver for the Axis ARTPEC-6 pin controller. This driver
41
+ supports pin function multiplexing as well as pin bias and drive
42
+ strength configuration. Device tree integration instructions can be
43
+ found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
4344
4445 config PINCTRL_AS3722
4546 tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
....@@ -81,7 +82,7 @@
8182 config PINCTRL_AT91PIO4
8283 bool "AT91 PIO4 pinctrl driver"
8384 depends on OF
84
- depends on ARCH_AT91
85
+ depends on ARCH_AT91 || COMPILE_TEST
8586 select PINMUX
8687 select GENERIC_PINCONF
8788 select GPIOLIB
....@@ -94,6 +95,7 @@
9495 config PINCTRL_AMD
9596 tristate "AMD GPIO pin control"
9697 depends on HAS_IOMEM
98
+ depends on ACPI || COMPILE_TEST
9799 select GPIOLIB
98100 select GPIOLIB_IRQCHIP
99101 select PINMUX
....@@ -108,6 +110,14 @@
108110 Requires ACPI/FDT device enumeration code to set up a platform
109111 device.
110112
113
+config PINCTRL_BM1880
114
+ bool "Bitmain BM1880 Pinctrl driver"
115
+ depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
116
+ default ARCH_BITMAIN
117
+ select PINMUX
118
+ help
119
+ Pinctrl driver for Bitmain BM1880 SoC.
120
+
111121 config PINCTRL_DA850_PUPD
112122 tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
113123 depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
....@@ -116,6 +126,18 @@
116126 help
117127 Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
118128 pullup/pulldown pin groups.
129
+
130
+config PINCTRL_DA9062
131
+ tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
132
+ depends on MFD_DA9062
133
+ select GPIOLIB
134
+ help
135
+ The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for
136
+ different functions. This driver bundles a pinctrl driver to select the
137
+ function muxing and a GPIO driver to handle the GPIO when the GPIO
138
+ function is selected.
139
+
140
+ Say yes to enable pinctrl and GPIO support for the DA9062 PMIC.
119141
120142 config PINCTRL_DIGICOLOR
121143 bool
....@@ -151,15 +173,22 @@
151173 select GENERIC_PINCONF
152174 select MFD_SYSCON
153175
176
+config PINCTRL_MCP23S08_I2C
177
+ tristate
178
+ select REGMAP_I2C
179
+
180
+config PINCTRL_MCP23S08_SPI
181
+ tristate
182
+ select REGMAP_SPI
183
+
154184 config PINCTRL_MCP23S08
155185 tristate "Microchip MCP23xxx I/O expander"
156186 depends on SPI_MASTER || I2C
157
- depends on I2C || I2C=n
158187 select GPIOLIB
159188 select GPIOLIB_IRQCHIP
160
- select REGMAP_I2C if I2C
161
- select REGMAP_SPI if SPI_MASTER
162189 select GENERIC_PINCONF
190
+ select PINCTRL_MCP23S08_I2C if I2C
191
+ select PINCTRL_MCP23S08_SPI if SPI_MASTER
163192 help
164193 SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
165194 MCP23008 / MCP23017 / MCP23018 I/O expanders.
....@@ -179,25 +208,17 @@
179208
180209 config PINCTRL_ROCKCHIP
181210 tristate "Rockchip gpio and pinctrl driver"
211
+ depends on ARCH_ROCKCHIP || COMPILE_TEST
212
+ depends on OF
182213 select GPIOLIB
183214 select PINMUX
184215 select GENERIC_PINCONF
185216 select GENERIC_IRQ_CHIP
186217 select MFD_SYSCON
218
+ select OF_GPIO
187219 default ARCH_ROCKCHIP
188220 help
189
- This support pinctrl and gpio driver for Rockchip SoCs.
190
-
191
-config PINCTRL_RZA1
192
- bool "Renesas RZ/A1 gpio and pinctrl driver"
193
- depends on OF
194
- depends on ARCH_R7S72100 || COMPILE_TEST
195
- select GPIOLIB
196
- select GENERIC_PINCTRL_GROUPS
197
- select GENERIC_PINMUX_FUNCTIONS
198
- select GENERIC_PINCONF
199
- help
200
- This selects pinctrl driver for Renesas RZ/A1 platforms.
221
+ This support pinctrl and gpio driver for Rockchip SoCs.
201222
202223 config PINCTRL_SINGLE
203224 tristate "One-register-per-pin type device tree based pinctrl driver"
....@@ -248,6 +269,20 @@
248269 select PINCONF
249270 select GPIOLIB_IRQCHIP
250271
272
+config PINCTRL_STMFX
273
+ tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
274
+ depends on I2C
275
+ depends on OF_GPIO
276
+ select GENERIC_PINCONF
277
+ select GPIOLIB_IRQCHIP
278
+ select MFD_STMFX
279
+ help
280
+ Driver for STMicroelectronics Multi-Function eXpander (STMFX)
281
+ GPIO expander.
282
+ This provides a GPIO interface supporting inputs and outputs,
283
+ and configuring push-pull, open-drain, and can also be used as
284
+ interrupt-controller.
285
+
251286 config PINCTRL_U300
252287 bool "U300 pin controller driver"
253288 depends on ARCH_U300
....@@ -274,6 +309,26 @@
274309 This PMIC has 8 GPIO pins that work as GPIO as well as special
275310 function in alternate mode. This driver also configure push-pull,
276311 open drain, FPS slots etc.
312
+
313
+config PINCTRL_MAX96745
314
+ tristate "MAX96745 Pincontrol support"
315
+ depends on MFD_MAX96745 && OF
316
+ select PINMUX
317
+ select GENERIC_PINMUX_FUNCTIONS
318
+ select GENERIC_PINCTRL_GROUPS
319
+ select GENERIC_PINCONF
320
+ help
321
+ Say Yes here to enable Pin control support for Maxim MAX96745.
322
+
323
+config PINCTRL_MAX96755F
324
+ tristate "MAX96755F Pincontrol support"
325
+ depends on MFD_MAX96755F && OF
326
+ select PINMUX
327
+ select GENERIC_PINMUX_FUNCTIONS
328
+ select GENERIC_PINCTRL_GROUPS
329
+ select GENERIC_PINCONF
330
+ help
331
+ Say Yes here to enable Pin control support for Maxim MAX96755F.
277332
278333 config PINCTRL_PALMAS
279334 tristate "Pinctrl driver for the PALMAS Series MFD devices"
....@@ -313,12 +368,14 @@
313368
314369 config PINCTRL_INGENIC
315370 bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
316
- default y
371
+ default MACH_INGENIC
317372 depends on OF
318
- depends on MACH_INGENIC || COMPILE_TEST
373
+ depends on MIPS || COMPILE_TEST
319374 select GENERIC_PINCONF
320375 select GENERIC_PINCTRL_GROUPS
321376 select GENERIC_PINMUX_FUNCTIONS
377
+ select GPIOLIB
378
+ select GPIOLIB_IRQCHIP
322379 select REGMAP_MMIO
323380
324381 config PINCTRL_RK628
....@@ -340,16 +397,25 @@
340397 help
341398 This selects the pinctrl driver for RK805.
342399
400
+config PINCTRL_RK806
401
+ tristate "Pinctrl and GPIO driver for RK806 PMIC"
402
+ depends on MFD_RK806
403
+ select GPIOLIB
404
+ select PINMUX
405
+ select GENERIC_PINCONF
406
+ help
407
+ This selects the pinctrl driver for RK806
408
+
343409 config PINCTRL_OCELOT
344
- bool "Pinctrl driver for the Microsemi Ocelot SoCs"
345
- default y
410
+ bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
346411 depends on OF
347
- depends on MSCC_OCELOT || COMPILE_TEST
412
+ depends on HAS_IOMEM
348413 select GPIOLIB
349414 select GPIOLIB_IRQCHIP
350415 select GENERIC_PINCONF
351416 select GENERIC_PINCTRL_GROUPS
352417 select GENERIC_PINMUX_FUNCTIONS
418
+ select OF_GPIO
353419 select REGMAP_MMIO
354420
355421 source "drivers/pinctrl/actions/Kconfig"
....@@ -360,10 +426,11 @@
360426 source "drivers/pinctrl/intel/Kconfig"
361427 source "drivers/pinctrl/mvebu/Kconfig"
362428 source "drivers/pinctrl/nomadik/Kconfig"
429
+source "drivers/pinctrl/nuvoton/Kconfig"
363430 source "drivers/pinctrl/pxa/Kconfig"
364431 source "drivers/pinctrl/qcom/Kconfig"
432
+source "drivers/pinctrl/renesas/Kconfig"
365433 source "drivers/pinctrl/samsung/Kconfig"
366
-source "drivers/pinctrl/sh-pfc/Kconfig"
367434 source "drivers/pinctrl/spear/Kconfig"
368435 source "drivers/pinctrl/sprd/Kconfig"
369436 source "drivers/pinctrl/stm32/Kconfig"
....@@ -376,6 +443,7 @@
376443 source "drivers/pinctrl/zte/Kconfig"
377444 source "drivers/pinctrl/meson/Kconfig"
378445 source "drivers/pinctrl/cirrus/Kconfig"
446
+source "drivers/pinctrl/visconti/Kconfig"
379447
380448 config PINCTRL_XWAY
381449 bool
....@@ -387,4 +455,24 @@
387455 depends on OF && ARC_PLAT_TB10X
388456 select GPIOLIB
389457
458
+config PINCTRL_EQUILIBRIUM
459
+ tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
460
+ depends on OF && HAS_IOMEM
461
+ depends on X86 || COMPILE_TEST
462
+ select PINMUX
463
+ select PINCONF
464
+ select GPIOLIB
465
+ select GPIO_GENERIC
466
+ select GPIOLIB_IRQCHIP
467
+ select GENERIC_PINCONF
468
+ select GENERIC_PINCTRL_GROUPS
469
+ select GENERIC_PINMUX_FUNCTIONS
470
+
471
+ help
472
+ Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning
473
+ Mountain network processor SoC that supports both the linux GPIO and pin
474
+ control frameworks. It provides interfaces to setup pinmux, assign desired
475
+ pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and
476
+ pinconf settings are retrieved from device tree.
477
+
390478 endif