.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | # |
---|
2 | 3 | # PINCTRL infrastructure and drivers |
---|
3 | 4 | # |
---|
.. | .. |
---|
31 | 32 | Say Y here to add some extra checks and diagnostics to PINCTRL calls. |
---|
32 | 33 | |
---|
33 | 34 | 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 |
---|
43 | 44 | |
---|
44 | 45 | config PINCTRL_AS3722 |
---|
45 | 46 | tristate "Pinctrl and GPIO driver for ams AS3722 PMIC" |
---|
.. | .. |
---|
81 | 82 | config PINCTRL_AT91PIO4 |
---|
82 | 83 | bool "AT91 PIO4 pinctrl driver" |
---|
83 | 84 | depends on OF |
---|
84 | | - depends on ARCH_AT91 |
---|
| 85 | + depends on ARCH_AT91 || COMPILE_TEST |
---|
85 | 86 | select PINMUX |
---|
86 | 87 | select GENERIC_PINCONF |
---|
87 | 88 | select GPIOLIB |
---|
.. | .. |
---|
94 | 95 | config PINCTRL_AMD |
---|
95 | 96 | tristate "AMD GPIO pin control" |
---|
96 | 97 | depends on HAS_IOMEM |
---|
| 98 | + depends on ACPI || COMPILE_TEST |
---|
97 | 99 | select GPIOLIB |
---|
98 | 100 | select GPIOLIB_IRQCHIP |
---|
99 | 101 | select PINMUX |
---|
.. | .. |
---|
108 | 110 | Requires ACPI/FDT device enumeration code to set up a platform |
---|
109 | 111 | device. |
---|
110 | 112 | |
---|
| 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 | + |
---|
111 | 121 | config PINCTRL_DA850_PUPD |
---|
112 | 122 | tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups" |
---|
113 | 123 | depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST) |
---|
.. | .. |
---|
116 | 126 | help |
---|
117 | 127 | Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control |
---|
118 | 128 | 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. |
---|
119 | 141 | |
---|
120 | 142 | config PINCTRL_DIGICOLOR |
---|
121 | 143 | bool |
---|
.. | .. |
---|
151 | 173 | select GENERIC_PINCONF |
---|
152 | 174 | select MFD_SYSCON |
---|
153 | 175 | |
---|
| 176 | +config PINCTRL_MCP23S08_I2C |
---|
| 177 | + tristate |
---|
| 178 | + select REGMAP_I2C |
---|
| 179 | + |
---|
| 180 | +config PINCTRL_MCP23S08_SPI |
---|
| 181 | + tristate |
---|
| 182 | + select REGMAP_SPI |
---|
| 183 | + |
---|
154 | 184 | config PINCTRL_MCP23S08 |
---|
155 | 185 | tristate "Microchip MCP23xxx I/O expander" |
---|
156 | 186 | depends on SPI_MASTER || I2C |
---|
157 | | - depends on I2C || I2C=n |
---|
158 | 187 | select GPIOLIB |
---|
159 | 188 | select GPIOLIB_IRQCHIP |
---|
160 | | - select REGMAP_I2C if I2C |
---|
161 | | - select REGMAP_SPI if SPI_MASTER |
---|
162 | 189 | select GENERIC_PINCONF |
---|
| 190 | + select PINCTRL_MCP23S08_I2C if I2C |
---|
| 191 | + select PINCTRL_MCP23S08_SPI if SPI_MASTER |
---|
163 | 192 | help |
---|
164 | 193 | SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 / |
---|
165 | 194 | MCP23008 / MCP23017 / MCP23018 I/O expanders. |
---|
.. | .. |
---|
179 | 208 | |
---|
180 | 209 | config PINCTRL_ROCKCHIP |
---|
181 | 210 | tristate "Rockchip gpio and pinctrl driver" |
---|
| 211 | + depends on ARCH_ROCKCHIP || COMPILE_TEST |
---|
| 212 | + depends on OF |
---|
182 | 213 | select GPIOLIB |
---|
183 | 214 | select PINMUX |
---|
184 | 215 | select GENERIC_PINCONF |
---|
185 | 216 | select GENERIC_IRQ_CHIP |
---|
186 | 217 | select MFD_SYSCON |
---|
| 218 | + select OF_GPIO |
---|
187 | 219 | default ARCH_ROCKCHIP |
---|
188 | 220 | 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. |
---|
201 | 222 | |
---|
202 | 223 | config PINCTRL_SINGLE |
---|
203 | 224 | tristate "One-register-per-pin type device tree based pinctrl driver" |
---|
.. | .. |
---|
248 | 269 | select PINCONF |
---|
249 | 270 | select GPIOLIB_IRQCHIP |
---|
250 | 271 | |
---|
| 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 | + |
---|
251 | 286 | config PINCTRL_U300 |
---|
252 | 287 | bool "U300 pin controller driver" |
---|
253 | 288 | depends on ARCH_U300 |
---|
.. | .. |
---|
274 | 309 | This PMIC has 8 GPIO pins that work as GPIO as well as special |
---|
275 | 310 | function in alternate mode. This driver also configure push-pull, |
---|
276 | 311 | 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. |
---|
277 | 332 | |
---|
278 | 333 | config PINCTRL_PALMAS |
---|
279 | 334 | tristate "Pinctrl driver for the PALMAS Series MFD devices" |
---|
.. | .. |
---|
313 | 368 | |
---|
314 | 369 | config PINCTRL_INGENIC |
---|
315 | 370 | bool "Pinctrl driver for the Ingenic JZ47xx SoCs" |
---|
316 | | - default y |
---|
| 371 | + default MACH_INGENIC |
---|
317 | 372 | depends on OF |
---|
318 | | - depends on MACH_INGENIC || COMPILE_TEST |
---|
| 373 | + depends on MIPS || COMPILE_TEST |
---|
319 | 374 | select GENERIC_PINCONF |
---|
320 | 375 | select GENERIC_PINCTRL_GROUPS |
---|
321 | 376 | select GENERIC_PINMUX_FUNCTIONS |
---|
| 377 | + select GPIOLIB |
---|
| 378 | + select GPIOLIB_IRQCHIP |
---|
322 | 379 | select REGMAP_MMIO |
---|
323 | 380 | |
---|
324 | 381 | config PINCTRL_RK628 |
---|
.. | .. |
---|
340 | 397 | help |
---|
341 | 398 | This selects the pinctrl driver for RK805. |
---|
342 | 399 | |
---|
| 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 | + |
---|
343 | 409 | 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" |
---|
346 | 411 | depends on OF |
---|
347 | | - depends on MSCC_OCELOT || COMPILE_TEST |
---|
| 412 | + depends on HAS_IOMEM |
---|
348 | 413 | select GPIOLIB |
---|
349 | 414 | select GPIOLIB_IRQCHIP |
---|
350 | 415 | select GENERIC_PINCONF |
---|
351 | 416 | select GENERIC_PINCTRL_GROUPS |
---|
352 | 417 | select GENERIC_PINMUX_FUNCTIONS |
---|
| 418 | + select OF_GPIO |
---|
353 | 419 | select REGMAP_MMIO |
---|
354 | 420 | |
---|
355 | 421 | source "drivers/pinctrl/actions/Kconfig" |
---|
.. | .. |
---|
360 | 426 | source "drivers/pinctrl/intel/Kconfig" |
---|
361 | 427 | source "drivers/pinctrl/mvebu/Kconfig" |
---|
362 | 428 | source "drivers/pinctrl/nomadik/Kconfig" |
---|
| 429 | +source "drivers/pinctrl/nuvoton/Kconfig" |
---|
363 | 430 | source "drivers/pinctrl/pxa/Kconfig" |
---|
364 | 431 | source "drivers/pinctrl/qcom/Kconfig" |
---|
| 432 | +source "drivers/pinctrl/renesas/Kconfig" |
---|
365 | 433 | source "drivers/pinctrl/samsung/Kconfig" |
---|
366 | | -source "drivers/pinctrl/sh-pfc/Kconfig" |
---|
367 | 434 | source "drivers/pinctrl/spear/Kconfig" |
---|
368 | 435 | source "drivers/pinctrl/sprd/Kconfig" |
---|
369 | 436 | source "drivers/pinctrl/stm32/Kconfig" |
---|
.. | .. |
---|
376 | 443 | source "drivers/pinctrl/zte/Kconfig" |
---|
377 | 444 | source "drivers/pinctrl/meson/Kconfig" |
---|
378 | 445 | source "drivers/pinctrl/cirrus/Kconfig" |
---|
| 446 | +source "drivers/pinctrl/visconti/Kconfig" |
---|
379 | 447 | |
---|
380 | 448 | config PINCTRL_XWAY |
---|
381 | 449 | bool |
---|
.. | .. |
---|
387 | 455 | depends on OF && ARC_PLAT_TB10X |
---|
388 | 456 | select GPIOLIB |
---|
389 | 457 | |
---|
| 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 | + |
---|
390 | 478 | endif |
---|