xref: /OK3568_Linux_fs/kernel/drivers/pinctrl/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# PINCTRL infrastructure and drivers
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunmenuconfig PINCTRL
7*4882a593Smuzhiyun	bool "Pin controllers"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunif PINCTRL
10*4882a593Smuzhiyun
11*4882a593Smuzhiyunconfig GENERIC_PINCTRL_GROUPS
12*4882a593Smuzhiyun	bool
13*4882a593Smuzhiyun
14*4882a593Smuzhiyunconfig PINMUX
15*4882a593Smuzhiyun	bool "Support pin multiplexing controllers" if COMPILE_TEST
16*4882a593Smuzhiyun
17*4882a593Smuzhiyunconfig GENERIC_PINMUX_FUNCTIONS
18*4882a593Smuzhiyun	bool
19*4882a593Smuzhiyun	select PINMUX
20*4882a593Smuzhiyun
21*4882a593Smuzhiyunconfig PINCONF
22*4882a593Smuzhiyun	bool "Support pin configuration controllers" if COMPILE_TEST
23*4882a593Smuzhiyun
24*4882a593Smuzhiyunconfig GENERIC_PINCONF
25*4882a593Smuzhiyun	bool
26*4882a593Smuzhiyun	select PINCONF
27*4882a593Smuzhiyun
28*4882a593Smuzhiyunconfig DEBUG_PINCTRL
29*4882a593Smuzhiyun	bool "Debug PINCTRL calls"
30*4882a593Smuzhiyun	depends on DEBUG_KERNEL
31*4882a593Smuzhiyun	help
32*4882a593Smuzhiyun	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
33*4882a593Smuzhiyun
34*4882a593Smuzhiyunconfig PINCTRL_ARTPEC6
35*4882a593Smuzhiyun	bool "Axis ARTPEC-6 pin controller driver"
36*4882a593Smuzhiyun	depends on MACH_ARTPEC6
37*4882a593Smuzhiyun	select PINMUX
38*4882a593Smuzhiyun	select GENERIC_PINCONF
39*4882a593Smuzhiyun	help
40*4882a593Smuzhiyun	  This is the driver for the Axis ARTPEC-6 pin controller. This driver
41*4882a593Smuzhiyun	  supports pin function multiplexing as well as pin bias and drive
42*4882a593Smuzhiyun	  strength configuration. Device tree integration instructions can be
43*4882a593Smuzhiyun	  found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
44*4882a593Smuzhiyun
45*4882a593Smuzhiyunconfig PINCTRL_AS3722
46*4882a593Smuzhiyun	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
47*4882a593Smuzhiyun	depends on MFD_AS3722 && GPIOLIB
48*4882a593Smuzhiyun	select PINMUX
49*4882a593Smuzhiyun	select GENERIC_PINCONF
50*4882a593Smuzhiyun	help
51*4882a593Smuzhiyun	  AS3722 device supports the configuration of GPIO pins for different
52*4882a593Smuzhiyun	  functionality. This driver supports the pinmux, push-pull and
53*4882a593Smuzhiyun	  open drain configuration for the GPIO pins of AS3722 devices. It also
54*4882a593Smuzhiyun	  supports the GPIO functionality through gpiolib.
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunconfig PINCTRL_AXP209
57*4882a593Smuzhiyun	tristate "X-Powers AXP209 PMIC pinctrl and GPIO Support"
58*4882a593Smuzhiyun	depends on MFD_AXP20X
59*4882a593Smuzhiyun	depends on OF
60*4882a593Smuzhiyun	select PINMUX
61*4882a593Smuzhiyun	select GENERIC_PINCONF
62*4882a593Smuzhiyun	select GPIOLIB
63*4882a593Smuzhiyun	help
64*4882a593Smuzhiyun	  AXP PMICs provides multiple GPIOs that can be muxed for different
65*4882a593Smuzhiyun	  functions. This driver bundles a pinctrl driver to select the function
66*4882a593Smuzhiyun	  muxing and a GPIO driver to handle the GPIO when the GPIO function is
67*4882a593Smuzhiyun	  selected.
68*4882a593Smuzhiyun	  Say yes to enable pinctrl and GPIO support for the AXP209 PMIC
69*4882a593Smuzhiyun
70*4882a593Smuzhiyunconfig PINCTRL_AT91
71*4882a593Smuzhiyun	bool "AT91 pinctrl driver"
72*4882a593Smuzhiyun	depends on OF
73*4882a593Smuzhiyun	depends on ARCH_AT91
74*4882a593Smuzhiyun	select PINMUX
75*4882a593Smuzhiyun	select PINCONF
76*4882a593Smuzhiyun	select GPIOLIB
77*4882a593Smuzhiyun	select OF_GPIO
78*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
79*4882a593Smuzhiyun	help
80*4882a593Smuzhiyun	  Say Y here to enable the at91 pinctrl driver
81*4882a593Smuzhiyun
82*4882a593Smuzhiyunconfig PINCTRL_AT91PIO4
83*4882a593Smuzhiyun	bool "AT91 PIO4 pinctrl driver"
84*4882a593Smuzhiyun	depends on OF
85*4882a593Smuzhiyun	depends on ARCH_AT91 || COMPILE_TEST
86*4882a593Smuzhiyun	select PINMUX
87*4882a593Smuzhiyun	select GENERIC_PINCONF
88*4882a593Smuzhiyun	select GPIOLIB
89*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
90*4882a593Smuzhiyun	select OF_GPIO
91*4882a593Smuzhiyun	help
92*4882a593Smuzhiyun	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
93*4882a593Smuzhiyun	  controller available on sama5d2 SoC.
94*4882a593Smuzhiyun
95*4882a593Smuzhiyunconfig PINCTRL_AMD
96*4882a593Smuzhiyun	tristate "AMD GPIO pin control"
97*4882a593Smuzhiyun	depends on HAS_IOMEM
98*4882a593Smuzhiyun	depends on ACPI || COMPILE_TEST
99*4882a593Smuzhiyun	select GPIOLIB
100*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
101*4882a593Smuzhiyun	select PINMUX
102*4882a593Smuzhiyun	select PINCONF
103*4882a593Smuzhiyun	select GENERIC_PINCONF
104*4882a593Smuzhiyun	help
105*4882a593Smuzhiyun	  driver for memory mapped GPIO functionality on AMD platforms
106*4882a593Smuzhiyun	  (x86 or arm).Most pins are usually muxed to some other
107*4882a593Smuzhiyun	  functionality by firmware,so only a small amount is available
108*4882a593Smuzhiyun	  for gpio use.
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun	  Requires ACPI/FDT device enumeration code to set up a platform
111*4882a593Smuzhiyun	  device.
112*4882a593Smuzhiyun
113*4882a593Smuzhiyunconfig PINCTRL_BM1880
114*4882a593Smuzhiyun	bool "Bitmain BM1880 Pinctrl driver"
115*4882a593Smuzhiyun	depends on OF && (ARCH_BITMAIN || COMPILE_TEST)
116*4882a593Smuzhiyun	default ARCH_BITMAIN
117*4882a593Smuzhiyun	select PINMUX
118*4882a593Smuzhiyun	help
119*4882a593Smuzhiyun	  Pinctrl driver for Bitmain BM1880 SoC.
120*4882a593Smuzhiyun
121*4882a593Smuzhiyunconfig PINCTRL_DA850_PUPD
122*4882a593Smuzhiyun	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
123*4882a593Smuzhiyun	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
124*4882a593Smuzhiyun	select PINCONF
125*4882a593Smuzhiyun	select GENERIC_PINCONF
126*4882a593Smuzhiyun	help
127*4882a593Smuzhiyun	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
128*4882a593Smuzhiyun	  pullup/pulldown pin groups.
129*4882a593Smuzhiyun
130*4882a593Smuzhiyunconfig PINCTRL_DA9062
131*4882a593Smuzhiyun	tristate "Dialog Semiconductor DA9062 PMIC pinctrl and GPIO Support"
132*4882a593Smuzhiyun	depends on MFD_DA9062
133*4882a593Smuzhiyun	select GPIOLIB
134*4882a593Smuzhiyun	help
135*4882a593Smuzhiyun	  The Dialog DA9062 PMIC provides multiple GPIOs that can be muxed for
136*4882a593Smuzhiyun	  different functions. This driver bundles a pinctrl driver to select the
137*4882a593Smuzhiyun	  function muxing and a GPIO driver to handle the GPIO when the GPIO
138*4882a593Smuzhiyun	  function is selected.
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun	  Say yes to enable pinctrl and GPIO support for the DA9062 PMIC.
141*4882a593Smuzhiyun
142*4882a593Smuzhiyunconfig PINCTRL_DIGICOLOR
143*4882a593Smuzhiyun	bool
144*4882a593Smuzhiyun	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
145*4882a593Smuzhiyun	select PINMUX
146*4882a593Smuzhiyun	select GENERIC_PINCONF
147*4882a593Smuzhiyun
148*4882a593Smuzhiyunconfig PINCTRL_LANTIQ
149*4882a593Smuzhiyun	bool
150*4882a593Smuzhiyun	depends on LANTIQ
151*4882a593Smuzhiyun	select PINMUX
152*4882a593Smuzhiyun	select PINCONF
153*4882a593Smuzhiyun
154*4882a593Smuzhiyunconfig PINCTRL_LPC18XX
155*4882a593Smuzhiyun	bool "NXP LPC18XX/43XX SCU pinctrl driver"
156*4882a593Smuzhiyun	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
157*4882a593Smuzhiyun	default ARCH_LPC18XX
158*4882a593Smuzhiyun	select PINMUX
159*4882a593Smuzhiyun	select GENERIC_PINCONF
160*4882a593Smuzhiyun	help
161*4882a593Smuzhiyun	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
162*4882a593Smuzhiyun
163*4882a593Smuzhiyunconfig PINCTRL_FALCON
164*4882a593Smuzhiyun	bool
165*4882a593Smuzhiyun	depends on SOC_FALCON
166*4882a593Smuzhiyun	depends on PINCTRL_LANTIQ
167*4882a593Smuzhiyun
168*4882a593Smuzhiyunconfig PINCTRL_GEMINI
169*4882a593Smuzhiyun	bool
170*4882a593Smuzhiyun	depends on ARCH_GEMINI
171*4882a593Smuzhiyun	default ARCH_GEMINI
172*4882a593Smuzhiyun	select PINMUX
173*4882a593Smuzhiyun	select GENERIC_PINCONF
174*4882a593Smuzhiyun	select MFD_SYSCON
175*4882a593Smuzhiyun
176*4882a593Smuzhiyunconfig PINCTRL_MCP23S08_I2C
177*4882a593Smuzhiyun	tristate
178*4882a593Smuzhiyun	select REGMAP_I2C
179*4882a593Smuzhiyun
180*4882a593Smuzhiyunconfig PINCTRL_MCP23S08_SPI
181*4882a593Smuzhiyun	tristate
182*4882a593Smuzhiyun	select REGMAP_SPI
183*4882a593Smuzhiyun
184*4882a593Smuzhiyunconfig PINCTRL_MCP23S08
185*4882a593Smuzhiyun	tristate "Microchip MCP23xxx I/O expander"
186*4882a593Smuzhiyun	depends on SPI_MASTER || I2C
187*4882a593Smuzhiyun	select GPIOLIB
188*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
189*4882a593Smuzhiyun	select GENERIC_PINCONF
190*4882a593Smuzhiyun	select PINCTRL_MCP23S08_I2C if I2C
191*4882a593Smuzhiyun	select PINCTRL_MCP23S08_SPI if SPI_MASTER
192*4882a593Smuzhiyun	help
193*4882a593Smuzhiyun	  SPI/I2C driver for Microchip MCP23S08 / MCP23S17 / MCP23S18 /
194*4882a593Smuzhiyun	  MCP23008 / MCP23017 / MCP23018 I/O expanders.
195*4882a593Smuzhiyun	  This provides a GPIO interface supporting inputs and outputs and a
196*4882a593Smuzhiyun	  corresponding interrupt-controller.
197*4882a593Smuzhiyun
198*4882a593Smuzhiyunconfig PINCTRL_OXNAS
199*4882a593Smuzhiyun	bool
200*4882a593Smuzhiyun	depends on OF
201*4882a593Smuzhiyun	select PINMUX
202*4882a593Smuzhiyun	select PINCONF
203*4882a593Smuzhiyun	select GENERIC_PINCONF
204*4882a593Smuzhiyun	select GPIOLIB
205*4882a593Smuzhiyun	select OF_GPIO
206*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
207*4882a593Smuzhiyun	select MFD_SYSCON
208*4882a593Smuzhiyun
209*4882a593Smuzhiyunconfig PINCTRL_ROCKCHIP
210*4882a593Smuzhiyun	tristate "Rockchip gpio and pinctrl driver"
211*4882a593Smuzhiyun	depends on ARCH_ROCKCHIP || COMPILE_TEST
212*4882a593Smuzhiyun	depends on OF
213*4882a593Smuzhiyun	select GPIOLIB
214*4882a593Smuzhiyun	select PINMUX
215*4882a593Smuzhiyun	select GENERIC_PINCONF
216*4882a593Smuzhiyun	select GENERIC_IRQ_CHIP
217*4882a593Smuzhiyun	select MFD_SYSCON
218*4882a593Smuzhiyun	select OF_GPIO
219*4882a593Smuzhiyun	default ARCH_ROCKCHIP
220*4882a593Smuzhiyun	help
221*4882a593Smuzhiyun          This support pinctrl and gpio driver for Rockchip SoCs.
222*4882a593Smuzhiyun
223*4882a593Smuzhiyunconfig PINCTRL_SINGLE
224*4882a593Smuzhiyun	tristate "One-register-per-pin type device tree based pinctrl driver"
225*4882a593Smuzhiyun	depends on OF
226*4882a593Smuzhiyun	depends on HAS_IOMEM
227*4882a593Smuzhiyun	select GENERIC_PINCTRL_GROUPS
228*4882a593Smuzhiyun	select GENERIC_PINMUX_FUNCTIONS
229*4882a593Smuzhiyun	select GENERIC_PINCONF
230*4882a593Smuzhiyun	help
231*4882a593Smuzhiyun	  This selects the device tree based generic pinctrl driver.
232*4882a593Smuzhiyun
233*4882a593Smuzhiyunconfig PINCTRL_SIRF
234*4882a593Smuzhiyun	bool "CSR SiRFprimaII pin controller driver"
235*4882a593Smuzhiyun	depends on ARCH_SIRF
236*4882a593Smuzhiyun	select PINMUX
237*4882a593Smuzhiyun	select PINCONF
238*4882a593Smuzhiyun	select GENERIC_PINCONF
239*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
240*4882a593Smuzhiyun
241*4882a593Smuzhiyunconfig PINCTRL_SX150X
242*4882a593Smuzhiyun	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
243*4882a593Smuzhiyun	depends on I2C=y
244*4882a593Smuzhiyun	select PINMUX
245*4882a593Smuzhiyun	select PINCONF
246*4882a593Smuzhiyun	select GENERIC_PINCONF
247*4882a593Smuzhiyun	select GPIOLIB
248*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
249*4882a593Smuzhiyun	select REGMAP
250*4882a593Smuzhiyun	help
251*4882a593Smuzhiyun	  Say yes here to provide support for Semtech SX150x-series I2C
252*4882a593Smuzhiyun	  GPIO expanders as pinctrl module.
253*4882a593Smuzhiyun	  Compatible models include:
254*4882a593Smuzhiyun	  - 8 bits:  sx1508q, sx1502q
255*4882a593Smuzhiyun	  - 16 bits: sx1509q, sx1506q
256*4882a593Smuzhiyun
257*4882a593Smuzhiyunconfig PINCTRL_PISTACHIO
258*4882a593Smuzhiyun	def_bool y if MACH_PISTACHIO
259*4882a593Smuzhiyun	depends on GPIOLIB
260*4882a593Smuzhiyun	select PINMUX
261*4882a593Smuzhiyun	select GENERIC_PINCONF
262*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
263*4882a593Smuzhiyun	select OF_GPIO
264*4882a593Smuzhiyun
265*4882a593Smuzhiyunconfig PINCTRL_ST
266*4882a593Smuzhiyun	bool
267*4882a593Smuzhiyun	depends on OF
268*4882a593Smuzhiyun	select PINMUX
269*4882a593Smuzhiyun	select PINCONF
270*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
271*4882a593Smuzhiyun
272*4882a593Smuzhiyunconfig PINCTRL_STMFX
273*4882a593Smuzhiyun	tristate "STMicroelectronics STMFX GPIO expander pinctrl driver"
274*4882a593Smuzhiyun	depends on I2C
275*4882a593Smuzhiyun	depends on OF_GPIO
276*4882a593Smuzhiyun	select GENERIC_PINCONF
277*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
278*4882a593Smuzhiyun	select MFD_STMFX
279*4882a593Smuzhiyun	help
280*4882a593Smuzhiyun	  Driver for STMicroelectronics Multi-Function eXpander (STMFX)
281*4882a593Smuzhiyun	  GPIO expander.
282*4882a593Smuzhiyun	  This provides a GPIO interface supporting inputs and outputs,
283*4882a593Smuzhiyun	  and configuring push-pull, open-drain, and can also be used as
284*4882a593Smuzhiyun	  interrupt-controller.
285*4882a593Smuzhiyun
286*4882a593Smuzhiyunconfig PINCTRL_U300
287*4882a593Smuzhiyun	bool "U300 pin controller driver"
288*4882a593Smuzhiyun	depends on ARCH_U300
289*4882a593Smuzhiyun	select PINMUX
290*4882a593Smuzhiyun	select GENERIC_PINCONF
291*4882a593Smuzhiyun
292*4882a593Smuzhiyunconfig PINCTRL_COH901
293*4882a593Smuzhiyun	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
294*4882a593Smuzhiyun	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
295*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
296*4882a593Smuzhiyun	help
297*4882a593Smuzhiyun	  Say yes here to support GPIO interface on ST-Ericsson U300.
298*4882a593Smuzhiyun	  The names of the two IP block variants supported are
299*4882a593Smuzhiyun	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
300*4882a593Smuzhiyun	  ports of 8 GPIO pins each.
301*4882a593Smuzhiyun
302*4882a593Smuzhiyunconfig PINCTRL_MAX77620
303*4882a593Smuzhiyun	tristate "MAX77620/MAX20024 Pincontrol support"
304*4882a593Smuzhiyun	depends on MFD_MAX77620 && OF
305*4882a593Smuzhiyun	select PINMUX
306*4882a593Smuzhiyun	select GENERIC_PINCONF
307*4882a593Smuzhiyun	help
308*4882a593Smuzhiyun	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
309*4882a593Smuzhiyun	  This PMIC has 8 GPIO pins that work as GPIO as well as special
310*4882a593Smuzhiyun	  function in alternate mode. This driver also configure push-pull,
311*4882a593Smuzhiyun	  open drain, FPS slots etc.
312*4882a593Smuzhiyun
313*4882a593Smuzhiyunconfig PINCTRL_MAX96745
314*4882a593Smuzhiyun	tristate "MAX96745 Pincontrol support"
315*4882a593Smuzhiyun	depends on MFD_MAX96745 && OF
316*4882a593Smuzhiyun	select PINMUX
317*4882a593Smuzhiyun	select GENERIC_PINMUX_FUNCTIONS
318*4882a593Smuzhiyun	select GENERIC_PINCTRL_GROUPS
319*4882a593Smuzhiyun	select GENERIC_PINCONF
320*4882a593Smuzhiyun	help
321*4882a593Smuzhiyun	  Say Yes here to enable Pin control support for Maxim MAX96745.
322*4882a593Smuzhiyun
323*4882a593Smuzhiyunconfig PINCTRL_MAX96755F
324*4882a593Smuzhiyun	tristate "MAX96755F Pincontrol support"
325*4882a593Smuzhiyun	depends on MFD_MAX96755F && OF
326*4882a593Smuzhiyun	select PINMUX
327*4882a593Smuzhiyun	select GENERIC_PINMUX_FUNCTIONS
328*4882a593Smuzhiyun	select GENERIC_PINCTRL_GROUPS
329*4882a593Smuzhiyun	select GENERIC_PINCONF
330*4882a593Smuzhiyun	help
331*4882a593Smuzhiyun	  Say Yes here to enable Pin control support for Maxim MAX96755F.
332*4882a593Smuzhiyun
333*4882a593Smuzhiyunconfig PINCTRL_PALMAS
334*4882a593Smuzhiyun	tristate "Pinctrl driver for the PALMAS Series MFD devices"
335*4882a593Smuzhiyun	depends on OF && MFD_PALMAS
336*4882a593Smuzhiyun	select PINMUX
337*4882a593Smuzhiyun	select GENERIC_PINCONF
338*4882a593Smuzhiyun	help
339*4882a593Smuzhiyun	  Palmas device supports the configuration of pins for different
340*4882a593Smuzhiyun	  functionality. This driver supports the pinmux, push-pull and
341*4882a593Smuzhiyun	  open drain configuration for the Palmas series devices like
342*4882a593Smuzhiyun	  TPS65913, TPS80036 etc.
343*4882a593Smuzhiyun
344*4882a593Smuzhiyunconfig PINCTRL_PIC32
345*4882a593Smuzhiyun	bool "Microchip PIC32 pin controller driver"
346*4882a593Smuzhiyun	depends on OF
347*4882a593Smuzhiyun	depends on MACH_PIC32
348*4882a593Smuzhiyun	select PINMUX
349*4882a593Smuzhiyun	select GENERIC_PINCONF
350*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
351*4882a593Smuzhiyun	select OF_GPIO
352*4882a593Smuzhiyun	help
353*4882a593Smuzhiyun	  This is the pin controller and gpio driver for Microchip PIC32
354*4882a593Smuzhiyun	  microcontrollers. This option is selected automatically when specific
355*4882a593Smuzhiyun	  machine and arch are selected to build.
356*4882a593Smuzhiyun
357*4882a593Smuzhiyunconfig PINCTRL_PIC32MZDA
358*4882a593Smuzhiyun	def_bool y if PIC32MZDA
359*4882a593Smuzhiyun	select PINCTRL_PIC32
360*4882a593Smuzhiyun
361*4882a593Smuzhiyunconfig PINCTRL_ZYNQ
362*4882a593Smuzhiyun	bool "Pinctrl driver for Xilinx Zynq"
363*4882a593Smuzhiyun	depends on ARCH_ZYNQ
364*4882a593Smuzhiyun	select PINMUX
365*4882a593Smuzhiyun	select GENERIC_PINCONF
366*4882a593Smuzhiyun	help
367*4882a593Smuzhiyun	  This selects the pinctrl driver for Xilinx Zynq.
368*4882a593Smuzhiyun
369*4882a593Smuzhiyunconfig PINCTRL_INGENIC
370*4882a593Smuzhiyun	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
371*4882a593Smuzhiyun	default MACH_INGENIC
372*4882a593Smuzhiyun	depends on OF
373*4882a593Smuzhiyun	depends on MIPS || COMPILE_TEST
374*4882a593Smuzhiyun	select GENERIC_PINCONF
375*4882a593Smuzhiyun	select GENERIC_PINCTRL_GROUPS
376*4882a593Smuzhiyun	select GENERIC_PINMUX_FUNCTIONS
377*4882a593Smuzhiyun	select GPIOLIB
378*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
379*4882a593Smuzhiyun	select REGMAP_MMIO
380*4882a593Smuzhiyun
381*4882a593Smuzhiyunconfig PINCTRL_RK628
382*4882a593Smuzhiyun	tristate "Pinctrl and GPIO driver for RK628 PMIC"
383*4882a593Smuzhiyun	depends on MFD_RK628
384*4882a593Smuzhiyun	select GPIOLIB
385*4882a593Smuzhiyun	select PINMUX
386*4882a593Smuzhiyun	select GENERIC_PINCONF
387*4882a593Smuzhiyun	select REGMAP_IRQ
388*4882a593Smuzhiyun	help
389*4882a593Smuzhiyun	  This selects the pinctrl driver for RK628.
390*4882a593Smuzhiyun
391*4882a593Smuzhiyunconfig PINCTRL_RK805
392*4882a593Smuzhiyun	tristate "Pinctrl and GPIO driver for RK805 PMIC"
393*4882a593Smuzhiyun	depends on MFD_RK808
394*4882a593Smuzhiyun	select GPIOLIB
395*4882a593Smuzhiyun	select PINMUX
396*4882a593Smuzhiyun	select GENERIC_PINCONF
397*4882a593Smuzhiyun	help
398*4882a593Smuzhiyun	  This selects the pinctrl driver for RK805.
399*4882a593Smuzhiyun
400*4882a593Smuzhiyunconfig PINCTRL_RK806
401*4882a593Smuzhiyun	tristate "Pinctrl and GPIO driver for RK806 PMIC"
402*4882a593Smuzhiyun	depends on MFD_RK806
403*4882a593Smuzhiyun	select GPIOLIB
404*4882a593Smuzhiyun	select PINMUX
405*4882a593Smuzhiyun	select GENERIC_PINCONF
406*4882a593Smuzhiyun	help
407*4882a593Smuzhiyun	  This selects the pinctrl driver for RK806
408*4882a593Smuzhiyun
409*4882a593Smuzhiyunconfig PINCTRL_OCELOT
410*4882a593Smuzhiyun	bool "Pinctrl driver for the Microsemi Ocelot and Jaguar2 SoCs"
411*4882a593Smuzhiyun	depends on OF
412*4882a593Smuzhiyun	depends on HAS_IOMEM
413*4882a593Smuzhiyun	select GPIOLIB
414*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
415*4882a593Smuzhiyun	select GENERIC_PINCONF
416*4882a593Smuzhiyun	select GENERIC_PINCTRL_GROUPS
417*4882a593Smuzhiyun	select GENERIC_PINMUX_FUNCTIONS
418*4882a593Smuzhiyun	select OF_GPIO
419*4882a593Smuzhiyun	select REGMAP_MMIO
420*4882a593Smuzhiyun
421*4882a593Smuzhiyunsource "drivers/pinctrl/actions/Kconfig"
422*4882a593Smuzhiyunsource "drivers/pinctrl/aspeed/Kconfig"
423*4882a593Smuzhiyunsource "drivers/pinctrl/bcm/Kconfig"
424*4882a593Smuzhiyunsource "drivers/pinctrl/berlin/Kconfig"
425*4882a593Smuzhiyunsource "drivers/pinctrl/freescale/Kconfig"
426*4882a593Smuzhiyunsource "drivers/pinctrl/intel/Kconfig"
427*4882a593Smuzhiyunsource "drivers/pinctrl/mvebu/Kconfig"
428*4882a593Smuzhiyunsource "drivers/pinctrl/nomadik/Kconfig"
429*4882a593Smuzhiyunsource "drivers/pinctrl/nuvoton/Kconfig"
430*4882a593Smuzhiyunsource "drivers/pinctrl/pxa/Kconfig"
431*4882a593Smuzhiyunsource "drivers/pinctrl/qcom/Kconfig"
432*4882a593Smuzhiyunsource "drivers/pinctrl/renesas/Kconfig"
433*4882a593Smuzhiyunsource "drivers/pinctrl/samsung/Kconfig"
434*4882a593Smuzhiyunsource "drivers/pinctrl/spear/Kconfig"
435*4882a593Smuzhiyunsource "drivers/pinctrl/sprd/Kconfig"
436*4882a593Smuzhiyunsource "drivers/pinctrl/stm32/Kconfig"
437*4882a593Smuzhiyunsource "drivers/pinctrl/sunxi/Kconfig"
438*4882a593Smuzhiyunsource "drivers/pinctrl/tegra/Kconfig"
439*4882a593Smuzhiyunsource "drivers/pinctrl/ti/Kconfig"
440*4882a593Smuzhiyunsource "drivers/pinctrl/uniphier/Kconfig"
441*4882a593Smuzhiyunsource "drivers/pinctrl/vt8500/Kconfig"
442*4882a593Smuzhiyunsource "drivers/pinctrl/mediatek/Kconfig"
443*4882a593Smuzhiyunsource "drivers/pinctrl/zte/Kconfig"
444*4882a593Smuzhiyunsource "drivers/pinctrl/meson/Kconfig"
445*4882a593Smuzhiyunsource "drivers/pinctrl/cirrus/Kconfig"
446*4882a593Smuzhiyunsource "drivers/pinctrl/visconti/Kconfig"
447*4882a593Smuzhiyun
448*4882a593Smuzhiyunconfig PINCTRL_XWAY
449*4882a593Smuzhiyun	bool
450*4882a593Smuzhiyun	depends on SOC_TYPE_XWAY
451*4882a593Smuzhiyun	depends on PINCTRL_LANTIQ
452*4882a593Smuzhiyun
453*4882a593Smuzhiyunconfig PINCTRL_TB10X
454*4882a593Smuzhiyun	bool
455*4882a593Smuzhiyun	depends on OF && ARC_PLAT_TB10X
456*4882a593Smuzhiyun	select GPIOLIB
457*4882a593Smuzhiyun
458*4882a593Smuzhiyunconfig PINCTRL_EQUILIBRIUM
459*4882a593Smuzhiyun	tristate "Generic pinctrl and GPIO driver for Intel Lightning Mountain SoC"
460*4882a593Smuzhiyun	depends on OF && HAS_IOMEM
461*4882a593Smuzhiyun	depends on X86 || COMPILE_TEST
462*4882a593Smuzhiyun	select PINMUX
463*4882a593Smuzhiyun	select PINCONF
464*4882a593Smuzhiyun	select GPIOLIB
465*4882a593Smuzhiyun	select GPIO_GENERIC
466*4882a593Smuzhiyun	select GPIOLIB_IRQCHIP
467*4882a593Smuzhiyun	select GENERIC_PINCONF
468*4882a593Smuzhiyun	select GENERIC_PINCTRL_GROUPS
469*4882a593Smuzhiyun	select GENERIC_PINMUX_FUNCTIONS
470*4882a593Smuzhiyun
471*4882a593Smuzhiyun	help
472*4882a593Smuzhiyun	  Equilibrium pinctrl driver is a pinctrl & GPIO driver for Intel Lightning
473*4882a593Smuzhiyun	  Mountain network processor SoC that supports both the linux GPIO and pin
474*4882a593Smuzhiyun	  control frameworks. It provides interfaces to setup pinmux, assign desired
475*4882a593Smuzhiyun	  pin functions, configure GPIO attributes for LGM SoC pins. Pinmux and
476*4882a593Smuzhiyun	  pinconf settings are retrieved from device tree.
477*4882a593Smuzhiyun
478*4882a593Smuzhiyunendif
479