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