Merge tag 'for-linus-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw...
[linux-2.6-microblaze.git] / drivers / pinctrl / bcm / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Broadcom pinctrl drivers
4 #
5
6 config 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
20 config 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
32 config PINCTRL_BCM4908
33         tristate "Broadcom BCM4908 pinmux driver"
34         depends on OF && (ARCH_BCM4908 || 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_BCM4908
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
46 config 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
55 config 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
64 config 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
73 config 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
82 config 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
91 config 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
100 config 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
109 config PINCTRL_IPROC_GPIO
110         bool "Broadcom iProc GPIO (with PINCONF) driver"
111         depends on OF_GPIO && (ARCH_BCM_IPROC || COMPILE_TEST)
112         select GPIOLIB_IRQCHIP
113         select PINCONF
114         select GENERIC_PINCONF
115         default ARCH_BCM_IPROC
116         help
117           Say yes here to enable the Broadcom iProc GPIO driver.
118
119           The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use
120           same GPIO Controller IP hence this driver could be used for all.
121
122           The Broadcom Cygnus SoC has 3 GPIO controllers including the ASIU
123           GPIO controller (ASIU), the chipCommonG GPIO controller (CCM), and
124           the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are
125           supported by this driver.
126
127           The Broadcom NSP has two GPIO controllers including the ChipcommonA
128           GPIO, the ChipcommonB GPIO. Later controller is supported by this
129           driver.
130
131           The Broadcom NS2 has two GPIO controller including the CRMU GPIO,
132           the ChipcommonG GPIO. Both controllers are supported by this driver.
133
134           The Broadcom Stingray GPIO controllers are supported by this driver.
135
136           All above SoCs GPIO controllers support basic PINCONF functions such
137           as bias pull up, pull down, and drive strength configurations, when
138           these pins are muxed to GPIO.
139
140           It provides the framework where pins from the individual GPIO can be
141           individually muxed to GPIO function, through interaction with the
142           SoCs IOMUX controller. This features could be used only on SoCs which
143           support individual pin muxing.
144
145 config PINCTRL_CYGNUS_MUX
146         bool "Broadcom Cygnus IOMUX driver"
147         depends on (ARCH_BCM_CYGNUS || COMPILE_TEST)
148         depends on OF
149         select PINMUX
150         select GENERIC_PINCONF
151         default ARCH_BCM_CYGNUS
152         help
153           Say yes here to enable the Broadcom Cygnus IOMUX driver.
154
155           The Broadcom Cygnus IOMUX driver supports group based IOMUX
156           configuration, with the exception that certain individual pins
157           can be overridden to GPIO function
158
159 config PINCTRL_NS
160         bool "Broadcom Northstar pins driver"
161         depends on OF && (ARCH_BCM_5301X || COMPILE_TEST)
162         select PINMUX
163         select GENERIC_PINCONF
164         select GENERIC_PINCTRL_GROUPS
165         select GENERIC_PINMUX_FUNCTIONS
166         default ARCH_BCM_5301X
167         help
168           Say yes here to enable the Broadcom NS SoC pins driver.
169
170           The Broadcom Northstar pins driver supports muxing multi-purpose pins
171           that can be used for various functions (e.g. SPI, I2C, UART) as well
172           as GPIOs.
173
174 config PINCTRL_NSP_GPIO
175         bool "Broadcom NSP GPIO (with PINCONF) driver"
176         depends on OF_GPIO && (ARCH_BCM_NSP || COMPILE_TEST)
177         select GPIOLIB_IRQCHIP
178         select PINCONF
179         select GENERIC_PINCONF
180         default ARCH_BCM_NSP
181         help
182           Say yes here to enable the Broadcom NSP GPIO driver.
183
184           The Broadcom Northstar Plus SoC ChipcommonA GPIO controller is
185           supported by this driver.
186
187           The ChipcommonA GPIO controller support basic PINCONF functions such
188           as bias pull up, pull down, and drive strength configurations, when
189           these pins are muxed to GPIO.
190
191 config PINCTRL_NS2_MUX
192         bool "Broadcom Northstar2 pinmux driver"
193         depends on OF
194         depends on ARCH_BCM_IPROC || COMPILE_TEST
195         select PINMUX
196         select GENERIC_PINCONF
197         default ARM64 && ARCH_BCM_IPROC
198         help
199           Say yes here to enable the Broadcom NS2 MUX driver.
200
201           The Broadcom Northstar2 IOMUX driver supports group based IOMUX
202           configuration.
203
204 config PINCTRL_NSP_MUX
205         bool "Broadcom NSP IOMUX driver"
206         depends on (ARCH_BCM_NSP || COMPILE_TEST)
207         depends on OF
208         select PINMUX
209         select GENERIC_PINCONF
210         default ARCH_BCM_NSP
211         help
212           Say yes here to enable the Broadcom NSP SOC IOMUX driver.
213
214           The Broadcom Northstar Plus IOMUX driver supports pin based IOMUX
215           configuration, with certain individual pins can be overridden
216           to GPIO function.