• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# PINCTRL infrastructure and drivers
3#
4
5config PINCTRL
6	bool
7
8menu "Pin controllers"
9	depends on PINCTRL
10
11config GENERIC_PINCTRL_GROUPS
12	bool
13
14config PINMUX
15	bool "Support pin multiplexing controllers" if COMPILE_TEST
16
17config GENERIC_PINMUX_FUNCTIONS
18	bool
19	select PINMUX
20
21config PINCONF
22	bool "Support pin configuration controllers" if COMPILE_TEST
23
24config GENERIC_PINCONF
25	bool
26	select PINCONF
27
28config DEBUG_PINCTRL
29	bool "Debug PINCTRL calls"
30	depends on DEBUG_KERNEL
31	help
32	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
33
34config PINCTRL_ADI2
35	bool "ADI pin controller driver"
36	depends on (BF54x || BF60x)
37	depends on !GPIO_ADI
38	select PINMUX
39	select IRQ_DOMAIN
40	help
41	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
42	  future processors. This option is selected automatically when specific
43	  machine and arch are selected to build.
44
45config PINCTRL_ARTPEC6
46        bool "Axis ARTPEC-6 pin controller driver"
47        depends on MACH_ARTPEC6
48        select PINMUX
49        select GENERIC_PINCONF
50        help
51          This is the driver for the Axis ARTPEC-6 pin controller. This driver
52          supports pin function multiplexing as well as pin bias and drive
53          strength configuration. Device tree integration instructions can be
54          found in Documentation/devicetree/bindings/pinctrl/axis,artpec6-pinctrl.txt
55
56config PINCTRL_AS3722
57	tristate "Pinctrl and GPIO driver for ams AS3722 PMIC"
58	depends on MFD_AS3722 && GPIOLIB
59	select PINMUX
60	select GENERIC_PINCONF
61	help
62	  AS3722 device supports the configuration of GPIO pins for different
63	  functionality. This driver supports the pinmux, push-pull and
64	  open drain configuration for the GPIO pins of AS3722 devices. It also
65	  supports the GPIO functionality through gpiolib.
66
67config PINCTRL_BF54x
68	def_bool y if BF54x
69	select PINCTRL_ADI2
70
71config PINCTRL_BF60x
72	def_bool y if BF60x
73	select PINCTRL_ADI2
74
75config PINCTRL_AT91
76	bool "AT91 pinctrl driver"
77	depends on OF
78	depends on ARCH_AT91
79	select PINMUX
80	select PINCONF
81	select GPIOLIB
82	select OF_GPIO
83	select GPIOLIB_IRQCHIP
84	help
85	  Say Y here to enable the at91 pinctrl driver
86
87config PINCTRL_AT91PIO4
88	bool "AT91 PIO4 pinctrl driver"
89	depends on OF
90	depends on ARCH_AT91
91	select PINMUX
92	select GENERIC_PINCONF
93	select GPIOLIB
94	select GPIOLIB_IRQCHIP
95	select OF_GPIO
96	help
97	  Say Y here to enable the at91 pinctrl/gpio driver for Atmel PIO4
98	  controller available on sama5d2 SoC.
99
100config PINCTRL_AMD
101	tristate "AMD GPIO pin control"
102	depends on GPIOLIB
103	select GPIOLIB_IRQCHIP
104	select PINMUX
105	select PINCONF
106	select GENERIC_PINCONF
107	help
108	  driver for memory mapped GPIO functionality on AMD platforms
109	  (x86 or arm).Most pins are usually muxed to some other
110	  functionality by firmware,so only a small amount is available
111	  for gpio use.
112
113	  Requires ACPI/FDT device enumeration code to set up a platform
114	  device.
115
116config PINCTRL_DA850_PUPD
117	tristate "TI DA850/OMAP-L138/AM18XX pullup/pulldown groups"
118	depends on OF && (ARCH_DAVINCI_DA850 || COMPILE_TEST)
119	select PINCONF
120	select GENERIC_PINCONF
121	help
122	  Driver for TI DA850/OMAP-L138/AM18XX pinconf. Used to control
123	  pullup/pulldown pin groups.
124
125config PINCTRL_DIGICOLOR
126	bool
127	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
128	select PINMUX
129	select GENERIC_PINCONF
130
131config PINCTRL_LANTIQ
132	bool
133	depends on LANTIQ
134	select PINMUX
135	select PINCONF
136
137config PINCTRL_LPC18XX
138	bool "NXP LPC18XX/43XX SCU pinctrl driver"
139	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
140	default ARCH_LPC18XX
141	select PINMUX
142	select GENERIC_PINCONF
143	help
144	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
145
146config PINCTRL_FALCON
147	bool
148	depends on SOC_FALCON
149	depends on PINCTRL_LANTIQ
150
151config PINCTRL_GEMINI
152	bool
153	depends on ARCH_GEMINI
154	default ARCH_GEMINI
155	select PINMUX
156	select MFD_SYSCON
157
158config PINCTRL_MCP23S08
159	tristate "Microchip MCP23xxx I/O expander"
160	depends on SPI_MASTER || I2C
161	depends on I2C || I2C=n
162	select GPIOLIB_IRQCHIP
163	select REGMAP_I2C if I2C
164	select REGMAP_SPI if SPI_MASTER
165	select GENERIC_PINCONF
166	help
167	  SPI/I2C driver for Microchip MCP23S08/MCP23S17/MCP23008/MCP23017
168	  I/O expanders.
169	  This provides a GPIO interface supporting inputs and outputs.
170	  The I2C versions of the chips can be used as interrupt-controller.
171
172config PINCTRL_MESON
173	bool
174	depends on OF
175	select PINMUX
176	select PINCONF
177	select GENERIC_PINCONF
178	select GPIOLIB
179	select OF_GPIO
180	select REGMAP_MMIO
181
182config PINCTRL_OXNAS
183	bool
184	depends on OF
185	select PINMUX
186	select PINCONF
187	select GENERIC_PINCONF
188	select GPIOLIB
189	select OF_GPIO
190	select GPIOLIB_IRQCHIP
191	select MFD_SYSCON
192
193config PINCTRL_ROCKCHIP
194	bool
195	select PINMUX
196	select GENERIC_PINCONF
197	select GENERIC_IRQ_CHIP
198	select MFD_SYSCON
199
200config PINCTRL_RZA1
201	bool "Renesas RZ/A1 gpio and pinctrl driver"
202	depends on OF
203	depends on ARCH_R7S72100 || COMPILE_TEST
204	select GPIOLIB
205	select GENERIC_PINCTRL_GROUPS
206	select GENERIC_PINMUX_FUNCTIONS
207	select GENERIC_PINCONF
208	help
209	  This selects pinctrl driver for Renesas RZ/A1 platforms.
210
211config PINCTRL_SINGLE
212	tristate "One-register-per-pin type device tree based pinctrl driver"
213	depends on OF
214	select GENERIC_PINCTRL_GROUPS
215	select GENERIC_PINMUX_FUNCTIONS
216	select GENERIC_PINCONF
217	help
218	  This selects the device tree based generic pinctrl driver.
219
220config PINCTRL_SIRF
221	bool "CSR SiRFprimaII pin controller driver"
222	depends on ARCH_SIRF
223	select PINMUX
224	select PINCONF
225	select GENERIC_PINCONF
226	select GPIOLIB_IRQCHIP
227
228config PINCTRL_SX150X
229	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
230	depends on GPIOLIB && I2C=y
231	select PINMUX
232	select PINCONF
233	select GENERIC_PINCONF
234	select GPIOLIB_IRQCHIP
235	select REGMAP
236	help
237	  Say yes here to provide support for Semtech SX150x-series I2C
238	  GPIO expanders as pinctrl module.
239	  Compatible models include:
240	  - 8 bits:  sx1508q, sx1502q
241	  - 16 bits: sx1509q, sx1506q
242
243config PINCTRL_PISTACHIO
244	def_bool y if MACH_PISTACHIO
245	depends on GPIOLIB
246	select PINMUX
247	select GENERIC_PINCONF
248	select GPIOLIB_IRQCHIP
249	select OF_GPIO
250
251config PINCTRL_ST
252	bool
253	depends on OF
254	select PINMUX
255	select PINCONF
256	select GPIOLIB_IRQCHIP
257
258config PINCTRL_TZ1090
259	bool "Toumaz Xenif TZ1090 pin control driver"
260	depends on SOC_TZ1090
261	select PINMUX
262	select GENERIC_PINCONF
263
264config PINCTRL_TZ1090_PDC
265	bool "Toumaz Xenif TZ1090 PDC pin control driver"
266	depends on SOC_TZ1090
267	select PINMUX
268	select PINCONF
269
270config PINCTRL_U300
271	bool "U300 pin controller driver"
272	depends on ARCH_U300
273	select PINMUX
274	select GENERIC_PINCONF
275
276config PINCTRL_COH901
277	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
278	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
279	select GPIOLIB_IRQCHIP
280	help
281	  Say yes here to support GPIO interface on ST-Ericsson U300.
282	  The names of the two IP block variants supported are
283	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
284	  ports of 8 GPIO pins each.
285
286config PINCTRL_MAX77620
287	tristate "MAX77620/MAX20024 Pincontrol support"
288	depends on MFD_MAX77620 && OF
289	select PINMUX
290	select GENERIC_PINCONF
291	help
292	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
293	  This PMIC has 8 GPIO pins that work as GPIO as well as special
294	  function in alternate mode. This driver also configure push-pull,
295	  open drain, FPS slots etc.
296
297config PINCTRL_PALMAS
298	tristate "Pinctrl driver for the PALMAS Series MFD devices"
299	depends on OF && MFD_PALMAS
300	select PINMUX
301	select GENERIC_PINCONF
302	help
303	  Palmas device supports the configuration of pins for different
304	  functionality. This driver supports the pinmux, push-pull and
305	  open drain configuration for the Palmas series devices like
306	  TPS65913, TPS80036 etc.
307
308config PINCTRL_PIC32
309	bool "Microchip PIC32 pin controller driver"
310	depends on OF
311	depends on MACH_PIC32
312	select PINMUX
313	select GENERIC_PINCONF
314	select GPIOLIB_IRQCHIP
315	select OF_GPIO
316	help
317	  This is the pin controller and gpio driver for Microchip PIC32
318	  microcontrollers. This option is selected automatically when specific
319	  machine and arch are selected to build.
320
321config PINCTRL_PIC32MZDA
322	def_bool y if PIC32MZDA
323	select PINCTRL_PIC32
324
325config PINCTRL_ZYNQ
326	bool "Pinctrl driver for Xilinx Zynq"
327	depends on ARCH_ZYNQ
328	select PINMUX
329	select GENERIC_PINCONF
330	help
331	  This selects the pinctrl driver for Xilinx Zynq.
332
333config PINCTRL_INGENIC
334	bool "Pinctrl driver for the Ingenic JZ47xx SoCs"
335	default y
336	depends on OF
337	depends on MACH_INGENIC || COMPILE_TEST
338	select GENERIC_PINCONF
339	select GENERIC_PINCTRL_GROUPS
340	select GENERIC_PINMUX_FUNCTIONS
341	select REGMAP_MMIO
342
343config PINCTRL_RK805
344	tristate "Pinctrl and GPIO driver for RK805 PMIC"
345	depends on MFD_RK808
346	select GPIOLIB
347	select PINMUX
348	select GENERIC_PINCONF
349	help
350	  This selects the pinctrl driver for RK805.
351
352source "drivers/pinctrl/aspeed/Kconfig"
353source "drivers/pinctrl/bcm/Kconfig"
354source "drivers/pinctrl/berlin/Kconfig"
355source "drivers/pinctrl/freescale/Kconfig"
356source "drivers/pinctrl/intel/Kconfig"
357source "drivers/pinctrl/mvebu/Kconfig"
358source "drivers/pinctrl/nomadik/Kconfig"
359source "drivers/pinctrl/pxa/Kconfig"
360source "drivers/pinctrl/qcom/Kconfig"
361source "drivers/pinctrl/samsung/Kconfig"
362source "drivers/pinctrl/sh-pfc/Kconfig"
363source "drivers/pinctrl/spear/Kconfig"
364source "drivers/pinctrl/sprd/Kconfig"
365source "drivers/pinctrl/stm32/Kconfig"
366source "drivers/pinctrl/sunxi/Kconfig"
367source "drivers/pinctrl/tegra/Kconfig"
368source "drivers/pinctrl/ti/Kconfig"
369source "drivers/pinctrl/uniphier/Kconfig"
370source "drivers/pinctrl/vt8500/Kconfig"
371source "drivers/pinctrl/mediatek/Kconfig"
372source "drivers/pinctrl/zte/Kconfig"
373
374config PINCTRL_XWAY
375	bool
376	depends on SOC_TYPE_XWAY
377	depends on PINCTRL_LANTIQ
378
379config PINCTRL_TB10X
380	bool
381	depends on OF && ARC_PLAT_TB10X
382	select GPIOLIB
383
384endmenu
385