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