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_LANTIQ
86	bool
87	depends on LANTIQ
88	select PINMUX
89	select PINCONF
90
91config PINCTRL_FALCON
92	bool
93	depends on SOC_FALCON
94	depends on PINCTRL_LANTIQ
95
96config PINCTRL_MESON
97	bool
98	depends on OF
99	select PINMUX
100	select PINCONF
101	select GENERIC_PINCONF
102	select GPIOLIB
103	select OF_GPIO
104	select REGMAP_MMIO
105
106config PINCTRL_ROCKCHIP
107	bool
108	select PINMUX
109	select GENERIC_PINCONF
110	select GENERIC_IRQ_CHIP
111	select MFD_SYSCON
112
113config PINCTRL_SINGLE
114	tristate "One-register-per-pin type device tree based pinctrl driver"
115	depends on OF
116	select PINMUX
117	select PINCONF
118	select GENERIC_PINCONF
119	help
120	  This selects the device tree based generic pinctrl driver.
121
122config PINCTRL_SIRF
123	bool "CSR SiRFprimaII pin controller driver"
124	depends on ARCH_SIRF
125	select PINMUX
126	select GPIOLIB_IRQCHIP
127
128config PINCTRL_ST
129	bool
130	depends on OF
131	select PINMUX
132	select PINCONF
133	select GPIOLIB_IRQCHIP
134
135config PINCTRL_TEGRA
136	bool
137	select PINMUX
138	select PINCONF
139
140config PINCTRL_TEGRA20
141	bool
142	select PINCTRL_TEGRA
143
144config PINCTRL_TEGRA30
145	bool
146	select PINCTRL_TEGRA
147
148config PINCTRL_TEGRA114
149	bool
150	select PINCTRL_TEGRA
151
152config PINCTRL_TEGRA124
153	bool
154	select PINCTRL_TEGRA
155
156config PINCTRL_TEGRA210
157	bool
158	select PINCTRL_TEGRA
159
160config PINCTRL_TEGRA_XUSB
161	def_bool y if ARCH_TEGRA
162	select GENERIC_PHY
163	select PINCONF
164	select PINMUX
165
166config PINCTRL_TZ1090
167	bool "Toumaz Xenif TZ1090 pin control driver"
168	depends on SOC_TZ1090
169	select PINMUX
170	select GENERIC_PINCONF
171
172config PINCTRL_TZ1090_PDC
173	bool "Toumaz Xenif TZ1090 PDC pin control driver"
174	depends on SOC_TZ1090
175	select PINMUX
176	select PINCONF
177
178config PINCTRL_U300
179	bool "U300 pin controller driver"
180	depends on ARCH_U300
181	select PINMUX
182	select GENERIC_PINCONF
183
184config PINCTRL_COH901
185	bool "ST-Ericsson U300 COH 901 335/571 GPIO"
186	depends on GPIOLIB && ARCH_U300 && PINCTRL_U300
187	select GPIOLIB_IRQCHIP
188	help
189	  Say yes here to support GPIO interface on ST-Ericsson U300.
190	  The names of the two IP block variants supported are
191	  COH 901 335 and COH 901 571/3. They contain 3, 5 or 7
192	  ports of 8 GPIO pins each.
193
194config PINCTRL_PALMAS
195	bool "Pinctrl driver for the PALMAS Series MFD devices"
196	depends on OF && MFD_PALMAS
197	select PINMUX
198	select GENERIC_PINCONF
199	help
200	  Palmas device supports the configuration of pins for different
201	  functionality. This driver supports the pinmux, push-pull and
202	  open drain configuration for the Palmas series devices like
203	  TPS65913, TPS80036 etc.
204
205config PINCTRL_ZYNQ
206	bool "Pinctrl driver for Xilinx Zynq"
207	depends on ARCH_ZYNQ
208	select PINMUX
209	select GENERIC_PINCONF
210	help
211	  This selectes the pinctrl driver for Xilinx Zynq.
212
213source "drivers/pinctrl/bcm/Kconfig"
214source "drivers/pinctrl/berlin/Kconfig"
215source "drivers/pinctrl/freescale/Kconfig"
216source "drivers/pinctrl/intel/Kconfig"
217source "drivers/pinctrl/mvebu/Kconfig"
218source "drivers/pinctrl/nomadik/Kconfig"
219source "drivers/pinctrl/qcom/Kconfig"
220source "drivers/pinctrl/samsung/Kconfig"
221source "drivers/pinctrl/sh-pfc/Kconfig"
222source "drivers/pinctrl/spear/Kconfig"
223source "drivers/pinctrl/sunxi/Kconfig"
224source "drivers/pinctrl/vt8500/Kconfig"
225source "drivers/pinctrl/mediatek/Kconfig"
226
227config PINCTRL_XWAY
228	bool
229	depends on SOC_TYPE_XWAY
230	depends on PINCTRL_LANTIQ
231
232config PINCTRL_TB10X
233	bool
234	depends on OF && ARC_PLAT_TB10X
235	select GPIOLIB
236
237endmenu
238
239endif
240