xref: /openbmc/linux/drivers/pinctrl/Kconfig (revision 1c2dd16a)
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_MESON
150	bool
151	depends on OF
152	select PINMUX
153	select PINCONF
154	select GENERIC_PINCONF
155	select GPIOLIB
156	select OF_GPIO
157	select REGMAP_MMIO
158
159config PINCTRL_OXNAS
160	bool
161	depends on OF
162	select PINMUX
163	select PINCONF
164	select GENERIC_PINCONF
165	select GPIOLIB
166	select OF_GPIO
167	select GPIOLIB_IRQCHIP
168	select MFD_SYSCON
169
170config PINCTRL_ROCKCHIP
171	bool
172	select PINMUX
173	select GENERIC_PINCONF
174	select GENERIC_IRQ_CHIP
175	select MFD_SYSCON
176
177config PINCTRL_SINGLE
178	tristate "One-register-per-pin type device tree based pinctrl driver"
179	depends on OF
180	select GENERIC_PINCTRL_GROUPS
181	select GENERIC_PINMUX_FUNCTIONS
182	select GENERIC_PINCONF
183	help
184	  This selects the device tree based generic pinctrl driver.
185
186config PINCTRL_SIRF
187	bool "CSR SiRFprimaII pin controller driver"
188	depends on ARCH_SIRF
189	select PINMUX
190	select PINCONF
191	select GENERIC_PINCONF
192	select GPIOLIB_IRQCHIP
193
194config PINCTRL_SX150X
195	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
196	depends on GPIOLIB && I2C=y
197	select PINMUX
198	select PINCONF
199	select GENERIC_PINCONF
200	select GPIOLIB_IRQCHIP
201	select REGMAP
202	help
203	  Say yes here to provide support for Semtech SX150x-series I2C
204	  GPIO expanders as pinctrl module.
205	  Compatible models include:
206	  - 8 bits:  sx1508q, sx1502q
207	  - 16 bits: sx1509q, sx1506q
208
209config PINCTRL_PISTACHIO
210	def_bool y if MACH_PISTACHIO
211	depends on GPIOLIB
212	select PINMUX
213	select GENERIC_PINCONF
214	select GPIOLIB_IRQCHIP
215	select OF_GPIO
216
217config PINCTRL_ST
218	bool
219	depends on OF
220	select PINMUX
221	select PINCONF
222	select GPIOLIB_IRQCHIP
223
224config PINCTRL_TZ1090
225	bool "Toumaz Xenif TZ1090 pin control driver"
226	depends on SOC_TZ1090
227	select PINMUX
228	select GENERIC_PINCONF
229
230config PINCTRL_TZ1090_PDC
231	bool "Toumaz Xenif TZ1090 PDC pin control driver"
232	depends on SOC_TZ1090
233	select PINMUX
234	select PINCONF
235
236config PINCTRL_U300
237	bool "U300 pin controller driver"
238	depends on ARCH_U300
239	select PINMUX
240	select GENERIC_PINCONF
241
242config PINCTRL_COH901
243	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
244	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
245	select GPIOLIB_IRQCHIP
246	help
247	  Say yes here to support GPIO interface on ST-Ericsson U300.
248	  The names of the two IP block variants supported are
249	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
250	  ports of 8 GPIO pins each.
251
252config PINCTRL_MAX77620
253	tristate "MAX77620/MAX20024 Pincontrol support"
254	depends on MFD_MAX77620 && OF
255	select PINMUX
256	select GENERIC_PINCONF
257	help
258	  Say Yes here to enable Pin control support for Maxim PMIC MAX77620.
259	  This PMIC has 8 GPIO pins that work as GPIO as well as special
260	  function in alternate mode. This driver also configure push-pull,
261	  open drain, FPS slots etc.
262
263config PINCTRL_PALMAS
264	tristate "Pinctrl driver for the PALMAS Series MFD devices"
265	depends on OF && MFD_PALMAS
266	select PINMUX
267	select GENERIC_PINCONF
268	help
269	  Palmas device supports the configuration of pins for different
270	  functionality. This driver supports the pinmux, push-pull and
271	  open drain configuration for the Palmas series devices like
272	  TPS65913, TPS80036 etc.
273
274config PINCTRL_PIC32
275	bool "Microchip PIC32 pin controller driver"
276	depends on OF
277	depends on MACH_PIC32
278	select PINMUX
279	select GENERIC_PINCONF
280	select GPIOLIB_IRQCHIP
281	select OF_GPIO
282	help
283	  This is the pin controller and gpio driver for Microchip PIC32
284	  microcontrollers. This option is selected automatically when specific
285	  machine and arch are selected to build.
286
287config PINCTRL_PIC32MZDA
288	def_bool y if PIC32MZDA
289	select PINCTRL_PIC32
290
291config PINCTRL_ZYNQ
292	bool "Pinctrl driver for Xilinx Zynq"
293	depends on ARCH_ZYNQ
294	select PINMUX
295	select GENERIC_PINCONF
296	help
297	  This selects the pinctrl driver for Xilinx Zynq.
298
299source "drivers/pinctrl/aspeed/Kconfig"
300source "drivers/pinctrl/bcm/Kconfig"
301source "drivers/pinctrl/berlin/Kconfig"
302source "drivers/pinctrl/freescale/Kconfig"
303source "drivers/pinctrl/intel/Kconfig"
304source "drivers/pinctrl/mvebu/Kconfig"
305source "drivers/pinctrl/nomadik/Kconfig"
306source "drivers/pinctrl/pxa/Kconfig"
307source "drivers/pinctrl/qcom/Kconfig"
308source "drivers/pinctrl/samsung/Kconfig"
309source "drivers/pinctrl/sh-pfc/Kconfig"
310source "drivers/pinctrl/spear/Kconfig"
311source "drivers/pinctrl/stm32/Kconfig"
312source "drivers/pinctrl/sunxi/Kconfig"
313source "drivers/pinctrl/tegra/Kconfig"
314source "drivers/pinctrl/ti/Kconfig"
315source "drivers/pinctrl/uniphier/Kconfig"
316source "drivers/pinctrl/vt8500/Kconfig"
317source "drivers/pinctrl/mediatek/Kconfig"
318
319config PINCTRL_XWAY
320	bool
321	depends on SOC_TYPE_XWAY
322	depends on PINCTRL_LANTIQ
323
324config PINCTRL_TB10X
325	bool
326	depends on OF && ARC_PLAT_TB10X
327	select GPIOLIB
328
329endmenu
330