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