xref: /linux/drivers/pinctrl/Kconfig (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1#
2# PINCTRL infrastructure and drivers
3#
4
5config PINCTRL
6	bool
7
8if PINCTRL
9
10menu "Pin controllers"
11	depends on PINCTRL
12
13config PINMUX
14	bool "Support pin multiplexing controllers" if COMPILE_TEST
15
16config PINCONF
17	bool "Support pin configuration controllers" if COMPILE_TEST
18
19config GENERIC_PINCONF
20	bool
21	select PINCONF
22
23config DEBUG_PINCTRL
24	bool "Debug PINCTRL calls"
25	depends on DEBUG_KERNEL
26	help
27	  Say Y here to add some extra checks and diagnostics to PINCTRL calls.
28
29config PINCTRL_ADI2
30	bool "ADI pin controller driver"
31	depends on BLACKFIN
32	select PINMUX
33	select IRQ_DOMAIN
34	help
35	  This is the pin controller and gpio driver for ADI BF54x, BF60x and
36	  future processors. This option is selected automatically when specific
37	  machine and arch are selected to build.
38
39config PINCTRL_AS3722
40	bool "Pinctrl and GPIO driver for ams AS3722 PMIC"
41	depends on MFD_AS3722 && GPIOLIB
42	select PINMUX
43	select GENERIC_PINCONF
44	help
45	  AS3722 device supports the configuration of GPIO pins for different
46	  functionality. This driver supports the pinmux, push-pull and
47	  open drain configuration for the GPIO pins of AS3722 devices. It also
48	  supports the GPIO functionality through gpiolib.
49
50config PINCTRL_BF54x
51	def_bool y if BF54x
52	select PINCTRL_ADI2
53
54config PINCTRL_BF60x
55	def_bool y if BF60x
56	select PINCTRL_ADI2
57
58config PINCTRL_AT91
59	bool "AT91 pinctrl driver"
60	depends on OF
61	depends on ARCH_AT91
62	select PINMUX
63	select PINCONF
64	select GPIOLIB
65	select OF_GPIO
66	select GPIOLIB_IRQCHIP
67	help
68	  Say Y here to enable the at91 pinctrl driver
69
70config PINCTRL_AMD
71	bool "AMD GPIO pin control"
72	depends on GPIOLIB
73	select GPIOLIB_IRQCHIP
74	select PINCONF
75	select GENERIC_PINCONF
76	help
77	  driver for memory mapped GPIO functionality on AMD platforms
78	  (x86 or arm).Most pins are usually muxed to some other
79	  functionality by firmware,so only a small amount is available
80	  for gpio use.
81
82	  Requires ACPI/FDT device enumeration code to set up a platform
83	  device.
84
85config PINCTRL_DIGICOLOR
86	bool
87	depends on OF && (ARCH_DIGICOLOR || COMPILE_TEST)
88	select PINMUX
89	select GENERIC_PINCONF
90
91config PINCTRL_LANTIQ
92	bool
93	depends on LANTIQ
94	select PINMUX
95	select PINCONF
96
97config PINCTRL_LPC18XX
98	bool "NXP LPC18XX/43XX SCU pinctrl driver"
99	depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
100	default ARCH_LPC18XX
101	select PINMUX
102	select GENERIC_PINCONF
103	help
104	  Pinctrl driver for NXP LPC18xx/43xx System Control Unit (SCU).
105
106config PINCTRL_FALCON
107	bool
108	depends on SOC_FALCON
109	depends on PINCTRL_LANTIQ
110
111config PINCTRL_MESON
112	bool
113	depends on OF
114	select PINMUX
115	select PINCONF
116	select GENERIC_PINCONF
117	select GPIOLIB
118	select OF_GPIO
119	select REGMAP_MMIO
120
121config PINCTRL_ROCKCHIP
122	bool
123	select PINMUX
124	select GENERIC_PINCONF
125	select GENERIC_IRQ_CHIP
126	select MFD_SYSCON
127
128config PINCTRL_SINGLE
129	tristate "One-register-per-pin type device tree based pinctrl driver"
130	depends on OF
131	select PINMUX
132	select PINCONF
133	select GENERIC_PINCONF
134	help
135	  This selects the device tree based generic pinctrl driver.
136
137config PINCTRL_SIRF
138	bool "CSR SiRFprimaII pin controller driver"
139	depends on ARCH_SIRF
140	select PINMUX
141	select PINCONF
142	select GENERIC_PINCONF
143	select GPIOLIB_IRQCHIP
144
145config PINCTRL_PISTACHIO
146	def_bool y if MACH_PISTACHIO
147	depends on GPIOLIB
148	select PINMUX
149	select GENERIC_PINCONF
150	select GPIOLIB_IRQCHIP
151	select OF_GPIO
152
153config PINCTRL_ST
154	bool
155	depends on OF
156	select PINMUX
157	select PINCONF
158	select GPIOLIB_IRQCHIP
159
160config PINCTRL_TEGRA
161	bool
162	select PINMUX
163	select PINCONF
164
165config PINCTRL_TEGRA20
166	bool
167	select PINCTRL_TEGRA
168
169config PINCTRL_TEGRA30
170	bool
171	select PINCTRL_TEGRA
172
173config PINCTRL_TEGRA114
174	bool
175	select PINCTRL_TEGRA
176
177config PINCTRL_TEGRA124
178	bool
179	select PINCTRL_TEGRA
180
181config PINCTRL_TEGRA210
182	bool
183	select PINCTRL_TEGRA
184
185config PINCTRL_TEGRA_XUSB
186	def_bool y if ARCH_TEGRA
187	select GENERIC_PHY
188	select PINCONF
189	select PINMUX
190
191config PINCTRL_TZ1090
192	bool "Toumaz Xenif TZ1090 pin control driver"
193	depends on SOC_TZ1090
194	select PINMUX
195	select GENERIC_PINCONF
196
197config PINCTRL_TZ1090_PDC
198	bool "Toumaz Xenif TZ1090 PDC pin control driver"
199	depends on SOC_TZ1090
200	select PINMUX
201	select PINCONF
202
203config PINCTRL_U300
204	bool "U300 pin controller driver"
205	depends on ARCH_U300
206	select PINMUX
207	select GENERIC_PINCONF
208
209config PINCTRL_COH901
210	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
211	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
212	select GPIOLIB_IRQCHIP
213	help
214	  Say yes here to support GPIO interface on ST-Ericsson U300.
215	  The names of the two IP block variants supported are
216	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
217	  ports of 8 GPIO pins each.
218
219config PINCTRL_PALMAS
220	bool "Pinctrl driver for the PALMAS Series MFD devices"
221	depends on OF && MFD_PALMAS
222	select PINMUX
223	select GENERIC_PINCONF
224	help
225	  Palmas device supports the configuration of pins for different
226	  functionality. This driver supports the pinmux, push-pull and
227	  open drain configuration for the Palmas series devices like
228	  TPS65913, TPS80036 etc.
229
230config PINCTRL_ZYNQ
231	bool "Pinctrl driver for Xilinx Zynq"
232	depends on ARCH_ZYNQ
233	select PINMUX
234	select GENERIC_PINCONF
235	help
236	  This selectes the pinctrl driver for Xilinx Zynq.
237
238source "drivers/pinctrl/bcm/Kconfig"
239source "drivers/pinctrl/berlin/Kconfig"
240source "drivers/pinctrl/freescale/Kconfig"
241source "drivers/pinctrl/intel/Kconfig"
242source "drivers/pinctrl/mvebu/Kconfig"
243source "drivers/pinctrl/nomadik/Kconfig"
244source "drivers/pinctrl/qcom/Kconfig"
245source "drivers/pinctrl/samsung/Kconfig"
246source "drivers/pinctrl/sh-pfc/Kconfig"
247source "drivers/pinctrl/spear/Kconfig"
248source "drivers/pinctrl/sunxi/Kconfig"
249source "drivers/pinctrl/uniphier/Kconfig"
250source "drivers/pinctrl/vt8500/Kconfig"
251source "drivers/pinctrl/mediatek/Kconfig"
252
253config PINCTRL_XWAY
254	bool
255	depends on SOC_TYPE_XWAY
256	depends on PINCTRL_LANTIQ
257
258config PINCTRL_TB10X
259	bool
260	depends on OF && ARC_PLAT_TB10X
261	select GPIOLIB
262
263endmenu
264
265endif
266