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