MAINTAINERS: Add entry for BM1880 pinctrl
[linux-block.git] / drivers / pinctrl / Kconfig
CommitLineData
2744e8af
LW
1#
2# PINCTRL infrastructure and drivers
3#
4
d219b924
PR
5menuconfig PINCTRL
6 bool "Pin controllers"
2744e8af 7
d219b924 8if PINCTRL
45f034ef 9
c033a718 10config GENERIC_PINCTRL_GROUPS
c7059c5a
TL
11 bool
12
2744e8af 13config PINMUX
244e95a7 14 bool "Support pin multiplexing controllers" if COMPILE_TEST
ae6b4d85 15
a76edc89
TL
16config GENERIC_PINMUX_FUNCTIONS
17 bool
18 select PINMUX
19
ae6b4d85 20config PINCONF
244e95a7 21 bool "Support pin configuration controllers" if COMPILE_TEST
2744e8af 22
394349f7
LW
23config GENERIC_PINCONF
24 bool
25 select PINCONF
26
2744e8af
LW
27config DEBUG_PINCTRL
28 bool "Debug PINCTRL calls"
29 depends on DEBUG_KERNEL
30 help
31 Say Y here to add some extra checks and diagnostics to PINCTRL calls.
32
00df0582
JN
33config 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
43
c8ce8782 44config PINCTRL_AS3722
9385f35d 45 tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
c8ce8782
LD
46 depends on MFD_AS3722 && GPIOLIB
47 select PINMUX
48 select GENERIC_PINCONF
49 help
50 AS3722 device supports the configuration of GPIO pins for different
51 functionality. This driver supports the pinmux, push-pull and
52 open drain configuration for the GPIO pins of AS3722 devices. It also
53 supports the GPIO functionality through gpiolib.
54
449317a8
QS
55config PINCTRL_AXP209
56 tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
57 depends on MFD_AXP20X
971f1b38
QS
58 depends on OF
59 select PINMUX
60 select GENERIC_PINCONF
61 select GPIOLIB
449317a8
QS
62 help
63 AXP PMICs provides multiple GPIOs that can be muxed for different
64 functions. This driver bundles a pinctrl driver to select the function
65 muxing and a GPIO driver to handle the GPIO when the GPIO function is
66 selected.
67 Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
68
6732ae5c
JCPV
69config PINCTRL_AT91
70 bool "AT91 pinctrl driver"
71 depends on OF
72 depends on ARCH_AT91
73 select PINMUX
74 select PINCONF
80cc3732
AS
75 select GPIOLIB
76 select OF_GPIO
77 select GPIOLIB_IRQCHIP
6732ae5c
JCPV
78 help
79 Say Y here to enable the at91 pinctrl driver
80
77618084
LD
81config PINCTRL_AT91PIO4
82 bool "AT91 PIO4 pinctrl driver"
83 depends on OF
84 depends on ARCH_AT91
85 select PINMUX
86 select GENERIC_PINCONF
87 select GPIOLIB
88 select GPIOLIB_IRQCHIP
89 select OF_GPIO
90 help
91 Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
92 controller available on sama5d2 SoC.
93
dbad75dd 94config PINCTRL_AMD
337ea0fb 95 tristate "AMD GPIO pin control"
fd35b202 96 depends on HAS_IOMEM
e2a021d4 97 select GPIOLIB
dbad75dd 98 select GPIOLIB_IRQCHIP
83b31c2a 99 select PINMUX
dbad75dd
KX
100 select PINCONF
101 select GENERIC_PINCONF
102 help
103 driver for memory mapped GPIO functionality on AMD platforms
104 (x86 or arm).Most pins are usually muxed to some other
105 functionality by firmware,so only a small amount is available
106 for gpio use.
107
108 Requires ACPI/FDT device enumeration code to set up a platform
109 device.
110
8f3f0246
MS
111config PINCTRL_BM1880
112 bool "Bitmain BM1880 Pinctrl driver"
113 depends on ARCH_BITMAIN
114 select PINMUX
115 help
116 Pinctrl driver for Bitmain BM1880 SoC.
117
1ff91f0a
DL
118config PINCTRL_DA850_PUPD
119 tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
120 depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
121 select PINCONF
122 select GENERIC_PINCONF
123 help
124 Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
125 pullup/pulldown pin groups.
126
38b0e507
BS
127config PINCTRL_DIGICOLOR
128 bool
129 depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
130 select PINMUX
131 select GENERIC_PINCONF
132
3f8c50c9
JC
133config PINCTRL_LANTIQ
134 bool
135 depends on LANTIQ
136 select PINMUX
137 select PINCONF
138
2f77ac93
JE
139config PINCTRL_LPC18XX
140 bool "NXP LPC18XX/43XX SCU pinctrl driver"
141 depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
142 default ARCH_LPC18XX
143 select PINMUX
144 select GENERIC_PINCONF
145 help
146 Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
147
e316cb2b
JC
148config PINCTRL_FALCON
149 bool
150 depends on SOC_FALCON
151 depends on PINCTRL_LANTIQ
152
06351d13
LW
153config PINCTRL_GEMINI
154 bool
155 depends on ARCH_GEMINI
156 default ARCH_GEMINI
157 select PINMUX
1c5b7f3c 158 select GENERIC_PINCONF
06351d13
LW
159 select MFD_SYSCON
160
64ac43e6
SR
161config PINCTRL_MCP23S08
162 tristate "Microchip MCP23xxx I/O expander"
64ac43e6 163 depends on SPI_MASTER || I2C
adeac775 164 depends on I2C || I2C=n
e2a021d4 165 select GPIOLIB
64ac43e6
SR
166 select GPIOLIB_IRQCHIP
167 select REGMAP_I2C if I2C
168 select REGMAP_SPI if SPI_MASTER
82039d24 169 select GENERIC_PINCONF
64ac43e6 170 help
6ff45566
JK
171 SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
172 MCP23008 / MCP23017 / MCP23018 I/O expanders.
173 This provides a GPIO interface supporting inputs and outputs and a
174 corresponding interrupt-controller.
64ac43e6 175
611dac1e
NA
176config PINCTRL_OXNAS
177 bool
178 depends on OF
179 select PINMUX
180 select PINCONF
181 select GENERIC_PINCONF
182 select GPIOLIB
183 select OF_GPIO
184 select GPIOLIB_IRQCHIP
185 select MFD_SYSCON
186
d3e51161
HS
187config PINCTRL_ROCKCHIP
188 bool
189 select PINMUX
190 select GENERIC_PINCONF
191 select GENERIC_IRQ_CHIP
751a99ab 192 select MFD_SYSCON
d3e51161 193
5a49b644
JM
194config PINCTRL_RZA1
195 bool "Renesas RZ/A1 gpio and pinctrl driver"
196 depends on OF
197 depends on ARCH_R7S72100 || COMPILE_TEST
198 select GPIOLIB
199 select GENERIC_PINCTRL_GROUPS
200 select GENERIC_PINMUX_FUNCTIONS
201 select GENERIC_PINCONF
202 help
203 This selects pinctrl driver for Renesas RZ/A1 platforms.
204
b59d0e78
CB
205config PINCTRL_RZA2
206 bool "Renesas RZ/A2 gpio and pinctrl driver"
207 depends on OF
208 depends on ARCH_R7S9210 || COMPILE_TEST
209 select GPIOLIB
210 select GENERIC_PINCTRL_GROUPS
211 select GENERIC_PINMUX_FUNCTIONS
212 select GENERIC_PINCONF
213 help
214 This selects GPIO and pinctrl driver for Renesas RZ/A2 platforms.
215
4e53b500
PE
216config PINCTRL_RZN1
217 bool "Renesas RZ/N1 pinctrl driver"
218 depends on OF
219 depends on ARCH_RZN1 || COMPILE_TEST
220 select GENERIC_PINCTRL_GROUPS
221 select GENERIC_PINMUX_FUNCTIONS
222 select GENERIC_PINCONF
223 help
224 This selects pinctrl driver for Renesas RZ/N1 devices.
225
8b8b091b
TL
226config PINCTRL_SINGLE
227 tristate "One-register-per-pin type device tree based pinctrl driver"
228 depends on OF
fd35b202 229 depends on HAS_IOMEM
caeb774e 230 select GENERIC_PINCTRL_GROUPS
571aec4d 231 select GENERIC_PINMUX_FUNCTIONS
9dddb4df 232 select GENERIC_PINCONF
8b8b091b
TL
233 help
234 This selects the device tree based generic pinctrl driver.
235
3bece55a 236config PINCTRL_SIRF
a17272a4 237 bool "CSR SiRFprimaII pin controller driver"
d3e26f2f 238 depends on ARCH_SIRF
393daa81 239 select PINMUX
f9367793
WC
240 select PINCONF
241 select GENERIC_PINCONF
7420d2d0 242 select GPIOLIB_IRQCHIP
393daa81 243
9e80f906
NA
244config PINCTRL_SX150X
245 bool "Semtech SX150x I2C GPIO expander pinctrl driver"
e2a021d4 246 depends on I2C=y
9e80f906
NA
247 select PINMUX
248 select PINCONF
249 select GENERIC_PINCONF
e2a021d4 250 select GPIOLIB
9e80f906 251 select GPIOLIB_IRQCHIP
0db0f26c 252 select REGMAP
9e80f906
NA
253 help
254 Say yes here to provide support for Semtech SX150x-series I2C
255 GPIO expanders as pinctrl module.
256 Compatible models include:
257 - 8 bits: sx1508q, sx1502q
258 - 16 bits: sx1509q, sx1506q
259
cefc03e5
AB
260config PINCTRL_PISTACHIO
261 def_bool y if MACH_PISTACHIO
262 depends on GPIOLIB
263 select PINMUX
264 select GENERIC_PINCONF
265 select GPIOLIB_IRQCHIP
266 select OF_GPIO
267
701016c0
SK
268config PINCTRL_ST
269 bool
270 depends on OF
271 select PINMUX
272 select PINCONF
130cbe30 273 select GPIOLIB_IRQCHIP
701016c0 274
3bece55a
LW
275config PINCTRL_U300
276 bool "U300 pin controller driver"
98da3529
LW
277 depends on ARCH_U300
278 select PINMUX
dc0b1aa3 279 select GENERIC_PINCONF
45f034ef 280
ca402d37
LW
281config PINCTRL_COH901
282 bool "ST-Ericsson U300 COH 901 335/571 GPIO"
3c94d1bb 283 depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
523dcce7 284 select GPIOLIB_IRQCHIP
ca402d37
LW
285 help
286 Say yes here to support GPIO interface on ST-Ericsson U300.
287 The names of the two IP block variants supported are
288 COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
289 ports of 8 GPIO pins each.
290
2df723d4
LD
291config PINCTRL_MAX77620
292 tristate "MAX77620/MAX20024 Pincontrol support"
24d6a91c 293 depends on MFD_MAX77620 && OF
79f28b9f 294 select PINMUX
2df723d4
LD
295 select GENERIC_PINCONF
296 help
297 Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
298 This PMIC has 8 GPIO pins that work as GPIO as well as special
299 function in alternate mode. This driver also configure push-pull,
300 open drain, FPS slots etc.
301
0a8d3e24 302config PINCTRL_PALMAS
767b8ce3 303 tristate "Pinctrl driver for the PALMAS Series MFD devices"
0a8d3e24 304 depends on OF && MFD_PALMAS
63ca8db7 305 select PINMUX
0a8d3e24
LD
306 select GENERIC_PINCONF
307 help
308 Palmas device supports the configuration of pins for different
309 functionality. This driver supports the pinmux, push-pull and
310 open drain configuration for the Palmas series devices like
311 TPS65913, TPS80036 etc.
312
2ba384e6
JH
313config PINCTRL_PIC32
314 bool "Microchip PIC32 pin controller driver"
315 depends on OF
316 depends on MACH_PIC32
317 select PINMUX
318 select GENERIC_PINCONF
319 select GPIOLIB_IRQCHIP
320 select OF_GPIO
321 help
322 This is the pin controller and gpio driver for Microchip PIC32
323 microcontrollers. This option is selected automatically when specific
324 machine and arch are selected to build.
325
326config PINCTRL_PIC32MZDA
327 def_bool y if PIC32MZDA
328 select PINCTRL_PIC32
329
add958ce
SB
330config PINCTRL_ZYNQ
331 bool "Pinctrl driver for Xilinx Zynq"
332 depends on ARCH_ZYNQ
333 select PINMUX
334 select GENERIC_PINCONF
335 help
485dba27 336 This selects the pinctrl driver for Xilinx Zynq.
add958ce 337
b5c23aa4
PC
338config PINCTRL_INGENIC
339 bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
635c20a1 340 default MACH_INGENIC
c504985e 341 depends on OF
635c20a1 342 depends on MIPS || COMPILE_TEST
b5c23aa4
PC
343 select GENERIC_PINCONF
344 select GENERIC_PINCTRL_GROUPS
345 select GENERIC_PINMUX_FUNCTIONS
e72394e2
PC
346 select GPIOLIB
347 select GPIOLIB_IRQCHIP
b5c23aa4
PC
348 select REGMAP_MMIO
349
ea479996
JC
350config PINCTRL_RK805
351 tristate "Pinctrl and GPIO driver for RK805 PMIC"
352 depends on MFD_RK808
353 select GPIOLIB
354 select PINMUX
355 select GENERIC_PINCONF
356 help
357 This selects the pinctrl driver for RK805.
358
ce8dc094 359config PINCTRL_OCELOT
da801ab5 360 bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
ce8dc094 361 depends on OF
2dab3dd1 362 depends on HAS_IOMEM
ce8dc094 363 select GPIOLIB
be36abb7 364 select GPIOLIB_IRQCHIP
ce8dc094
AB
365 select GENERIC_PINCONF
366 select GENERIC_PINCTRL_GROUPS
367 select GENERIC_PINMUX_FUNCTIONS
da801ab5 368 select OF_GPIO
ce8dc094
AB
369 select REGMAP_MMIO
370
2242ddfb 371source "drivers/pinctrl/actions/Kconfig"
4d3d0e42 372source "drivers/pinctrl/aspeed/Kconfig"
b17f2f9b 373source "drivers/pinctrl/bcm/Kconfig"
3de68d33 374source "drivers/pinctrl/berlin/Kconfig"
edad3b2a 375source "drivers/pinctrl/freescale/Kconfig"
5fae8b86 376source "drivers/pinctrl/intel/Kconfig"
06763c74 377source "drivers/pinctrl/mvebu/Kconfig"
3a198059 378source "drivers/pinctrl/nomadik/Kconfig"
3b588e43 379source "drivers/pinctrl/nuvoton/Kconfig"
4b15ec9d 380source "drivers/pinctrl/pxa/Kconfig"
69b78b8d 381source "drivers/pinctrl/qcom/Kconfig"
ebe629a3 382source "drivers/pinctrl/samsung/Kconfig"
6e54d8d2 383source "drivers/pinctrl/sh-pfc/Kconfig"
deda8287 384source "drivers/pinctrl/spear/Kconfig"
41d32cfc 385source "drivers/pinctrl/sprd/Kconfig"
aceb16dc 386source "drivers/pinctrl/stm32/Kconfig"
5f910777 387source "drivers/pinctrl/sunxi/Kconfig"
25cbac77 388source "drivers/pinctrl/tegra/Kconfig"
003910eb 389source "drivers/pinctrl/ti/Kconfig"
6e908892 390source "drivers/pinctrl/uniphier/Kconfig"
170c6152 391source "drivers/pinctrl/vt8500/Kconfig"
a6df410d 392source "drivers/pinctrl/mediatek/Kconfig"
cbff0c4d 393source "drivers/pinctrl/zte/Kconfig"
277d14eb 394source "drivers/pinctrl/meson/Kconfig"
218d72a7 395source "drivers/pinctrl/cirrus/Kconfig"
deda8287 396
3f8c50c9
JC
397config PINCTRL_XWAY
398 bool
399 depends on SOC_TYPE_XWAY
400 depends on PINCTRL_LANTIQ
401
5aad0db1
CR
402config PINCTRL_TB10X
403 bool
b99e6fb8
LW
404 depends on OF && ARC_PLAT_TB10X
405 select GPIOLIB
5aad0db1 406
d219b924 407endif