Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Broadcom pinctrl drivers
4#
5
6config PINCTRL_BCM281XX
7 bool "Broadcom BCM281xx pinctrl driver"
8 depends on OF && (ARCH_BCM_MOBILE || COMPILE_TEST)
9 select PINMUX
10 select PINCONF
11 select GENERIC_PINCONF
12 select REGMAP_MMIO
13 default ARCH_BCM_MOBILE
14 help
15 Say Y here to support Broadcom BCM281xx pinctrl driver, which is used
16 for the BCM281xx SoC family, including BCM11130, BCM11140, BCM11351,
17 BCM28145, and BCM28155 SoCs. This driver requires the pinctrl
18 framework. GPIO is provided by a separate GPIO driver.
19
20config PINCTRL_BCM2835
21 tristate "Broadcom BCM2835 GPIO (with PINCONF) driver"
22 depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
23 select PINMUX
24 select PINCONF
25 select GENERIC_PINCONF
26 select GPIOLIB
27 select GPIOLIB_IRQCHIP
28 default ARCH_BCM2835 || ARCH_BRCMSTB
29 help
30 Say Y here to enable the Broadcom BCM2835 GPIO driver.
31
32config PINCTRL_BCM4908
33 tristate "Broadcom BCM4908 pinmux driver"
34 depends on OF && (ARCH_BCMBCA || COMPILE_TEST)
35 select PINMUX
36 select PINCONF
37 select GENERIC_PINCONF
38 select GENERIC_PINCTRL_GROUPS
39 select GENERIC_PINMUX_FUNCTIONS
40 default ARCH_BCMBCA
41 help
42 Driver for BCM4908 family SoCs with integrated pin controller.
43
44 If compiled as module it will be called pinctrl-bcm4908.
45
46config PINCTRL_BCM63XX
47 bool
48 select PINMUX
49 select PINCONF
50 select GENERIC_PINCONF
51 select GPIOLIB
52 select REGMAP
53 select GPIO_REGMAP
54
55config PINCTRL_BCM6318
56 bool "Broadcom BCM6318 GPIO driver"
57 depends on (BMIPS_GENERIC || COMPILE_TEST)
58 depends on OF
59 select PINCTRL_BCM63XX
60 default BMIPS_GENERIC
61 help
62 Say Y here to enable the Broadcom BCM6318 GPIO driver.
63
64config PINCTRL_BCM6328
65 bool "Broadcom BCM6328 GPIO driver"
66 depends on (BMIPS_GENERIC || COMPILE_TEST)
67 depends on OF
68 select PINCTRL_BCM63XX
69 default BMIPS_GENERIC
70 help
71 Say Y here to enable the Broadcom BCM6328 GPIO driver.
72
73config PINCTRL_BCM6358
74 bool "Broadcom BCM6358 GPIO driver"
75 depends on (BMIPS_GENERIC || COMPILE_TEST)
76 depends on OF
77 select PINCTRL_BCM63XX
78 default BMIPS_GENERIC
79 help
80 Say Y here to enable the Broadcom BCM6358 GPIO driver.
81
82config PINCTRL_BCM6362
83 bool "Broadcom BCM6362 GPIO driver"
84 depends on (BMIPS_GENERIC || COMPILE_TEST)
85 depends on OF
86 select PINCTRL_BCM63XX
87 default BMIPS_GENERIC
88 help
89 Say Y here to enable the Broadcom BCM6362 GPIO driver.
90
91config PINCTRL_BCM6368
92 bool "Broadcom BCM6368 GPIO driver"
93 depends on (BMIPS_GENERIC || COMPILE_TEST)
94 depends on OF
95 select PINCTRL_BCM63XX
96 default BMIPS_GENERIC
97 help
98 Say Y here to enable the Broadcom BCM6368 GPIO driver.
99
100config PINCTRL_BCM63268
101 bool "Broadcom BCM63268 GPIO driver"
102 depends on (BMIPS_GENERIC || COMPILE_TEST)
103 depends on OF
104 select PINCTRL_BCM63XX
105 default BMIPS_GENERIC
106 help
107 Say Y here to enable the Broadcom BCM63268 GPIO driver.
108
109config PINCTRL_BRCMSTB
110 tristate "Broadcom STB product line pin controller driver"
111 depends on OF && (ARCH_BCM2835 || ARCH_BRCMSTB || COMPILE_TEST)
112 select PINMUX
113 select PINCONF
114 select GENERIC_PINCONF
115 help
116 Enable pin muxing and configuration functionality
117 for Broadcom STB product line chipsets.
118
119source "drivers/pinctrl/bcm/Kconfig.stb"
120
121config PINCTRL_IPROC_GPIO
122 bool "Broadcom iProc GPIO (with PINCONF) driver"
123 depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
124 select GPIOLIB_IRQCHIP
125 select PINCONF
126 select GENERIC_PINCONF
127 default ARCH_BCM_IPROC
128 help
129 Say yes here to enable the Broadcom iProc GPIO driver.
130
131 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
132 same GPIO Controller IP hence this driver could be used for all.
133
134 The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
135 GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
136 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
137 supported by this driver.
138
139 The Broadcom NSP has two GPIO controllers including the ChipcommonA
140 GPIO, the ChipcommonB GPIO. Later controller is supported by this
141 driver.
142
143 The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
144 the ChipcommonG GPIO. Both controllers are supported by this driver.
145
146 The Broadcom Stingray GPIO controllers are supported by this driver.
147
148 All above SoCs GPIO controllers support basic PINCONF functions such
149 as bias pull up, pull down, and drive strength configurations, when
150 these pins are muxed to GPIO.
151
152 It provides the framework where pins from the individual GPIO can be
153 individually muxed to GPIO function, through interaction with the
154 SoCs IOMUX controller. This features could be used only on SoCs which
155 support individual pin muxing.
156
157config PINCTRL_CYGNUS_MUX
158 bool "Broadcom Cygnus IOMUX driver"
159 depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
160 depends on OF
161 select PINMUX
162 select GENERIC_PINCONF
163 default ARCH_BCM_CYGNUS
164 help
165 Say yes here to enable the Broadcom Cygnus IOMUX driver.
166
167 The Broadcom Cygnus IOMUX driver supports group based IOMUX
168 configuration, with the exception that certain individual pins
169 can be overridden to GPIO function
170
171config PINCTRL_NS
172 bool "Broadcom Northstar pins driver"
173 depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
174 select PINMUX
175 select GENERIC_PINCONF
176 select GENERIC_PINCTRL_GROUPS
177 select GENERIC_PINMUX_FUNCTIONS
178 default ARCH_BCM_5301X
179 help
180 Say yes here to enable the Broadcom NS SoC pins driver.
181
182 The Broadcom Northstar pins driver supports muxing multi-purpose pins
183 that can be used for various functions (e.g. SPI, I2C, UART) as well
184 as GPIOs.
185
186config PINCTRL_NSP_GPIO
187 bool "Broadcom NSP GPIO (with PINCONF) driver"
188 depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
189 select GPIOLIB_IRQCHIP
190 select PINCONF
191 select GENERIC_PINCONF
192 default ARCH_BCM_NSP
193 help
194 Say yes here to enable the Broadcom NSP GPIO driver.
195
196 The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
197 supported by this driver.
198
199 The ChipcommonA GPIO controller support basic PINCONF functions such
200 as bias pull up, pull down, and drive strength configurations, when
201 these pins are muxed to GPIO.
202
203config PINCTRL_NS2_MUX
204 bool "Broadcom Northstar2 pinmux driver"
205 depends on OF
206 depends on ARCH_BCM_IPROC || COMPILE_TEST
207 select PINMUX
208 select GENERIC_PINCONF
209 default ARM64 && ARCH_BCM_IPROC
210 help
211 Say yes here to enable the Broadcom NS2 MUX driver.
212
213 The Broadcom Northstar2 IOMUX driver supports group based IOMUX
214 configuration.
215
216config PINCTRL_NSP_MUX
217 bool "Broadcom NSP IOMUX driver"
218 depends on (ARCH_BCM_NSP || COMPILE_TEST)
219 depends on OF
220 select PINMUX
221 select GENERIC_PINCONF
222 default ARCH_BCM_NSP
223 help
224 Say yes here to enable the Broadcom NSP SOC IOMUX driver.
225
226 The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
227 configuration, with certain individual pins can be overridden
228 to GPIO function.