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